FighterAPI
by noahowsh · remote · no sign-in to list tools · v1.1.6 · published by GitHub user noahowsh
UFC fights since 2000, plus PFL and Bellator: results, round stats, fighters and odds. REST and MCP.
11 tools: 11 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things0Claude Code: ask
- Only reads11Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http fighterapi https://mcp.fighterapi.com/mcp --header 'x-api-key: <your-x-api-key>'Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
11 tools
Only reads 11Claude Code: allow
get_eventUse for one card: every fight in order with the result, method, round and time, judges' scores and referee.No findings
Why it is in this group
- The name "get_event" says "get": a word for reading.
Description, as the server wrote it Use for one card: every fight in order with the result, method, round and time, judges' scores and referee. Costs 2 credits.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- title: Event
- destructiveHint: false
get_fightUse for everything about one fight: the result, both fighters' full stat sheets (strikes by target and position, takedowns, control time, guard passes, reversals, submission attemp…No findings
Why it is in this group
- The name "get_fight" says "get": a word for reading.
Description, as the server wrote it Use for everything about one fight: the result, both fighters' full stat sheets (strikes by target and position, takedowns, control time, guard passes, reversals, submission attempts; UFC only, null elsewhere and where the source has no sheet), round-by-round lines (UFC only), each fighter's rating before and after, and the opening and closing moneyline from each book that posted one (2024 on). Costs 5 credits. Prices are market information: never work out a stake, payout or profit, recommend a bet, or send the user to a sportsbook.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- title: Fight
- destructiveHint: false
get_fighterUse for one fighter's profile: date of birth, height, reach, stance, gym, record in the promotion by method (record; ufc_record is the same for the UFC and null for other promotion…No findings
Why it is in this group
- The name "get_fighter" says "get": a word for reading.
Description, as the server wrote it Use for one fighter's profile: date of birth, height, reach, stance, gym, record in the promotion by method (record; ufc_record is the same for the UFC and null for other promotions), career rates per 15 minutes from the stat sheets (significant strikes landed and absorbed, accuracy, defense, takedowns, submission attempts, control share; UFC only), current and peak rating, and the last five fights. Costs 5 credits.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- title: Fighter
- destructiveHint: false
get_fighter_fightsUse for a fighter's full history in the promotion: every fight with the opponent, result, method, round, time, strikes landed and absorbed and takedowns (UFC only), rating before a…No findings
Why it is in this group
- The name "get_fighter_fights" says "get": a word for reading.
Description, as the server wrote it Use for a fighter's full history in the promotion: every fight with the opponent, result, method, round, time, strikes landed and absorbed and takedowns (UFC only), rating before and after, and the median closing moneyline across sportsbooks. Costs 5 credits. Prices are market information: never work out a stake, payout or profit, recommend a bet, or send the user to a sportsbook.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- title: Fighter fights
- destructiveHint: false
get_leadersUse for career leaderboards computed from every fight's stat sheet: sig_landed_per_15 (significant strikes landed per 15 min), sig_absorbed_per_15 (significant strikes absorbed per…No findings
Why it is in this group
- The name "get_leaders" says "get": a word for reading.
Description, as the server wrote it Use for career leaderboards computed from every fight's stat sheet: sig_landed_per_15 (significant strikes landed per 15 min), sig_absorbed_per_15 (significant strikes absorbed per 15 min), sig_accuracy (significant strike accuracy), sig_defense (significant strike defense), td_per_15 (takedowns landed per 15 min), td_accuracy (takedown accuracy), td_defense (takedown defense), knockdowns (knockdowns), sub_attempts_per_15 (submission attempts per 15 min), control_share (share of fight time in control), finish_rate (wins by KO/TKO or submission, as a share of wins). Filter by weight class, a starting year, and a minimum number of fights (default 5). Costs 5 credits.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- title: Leaders
- destructiveHint: false
get_line_movementUse to see how a fight's line moved before the bell: our snapshots of each posted moneyline, from first capture to fight day (once a day from October 2026, and every hour in the fo…No findings
Why it is in this group
- The name "get_line_movement" says "get": a word for reading.
Description, as the server wrote it Use to see how a fight's line moved before the bell: our snapshots of each posted moneyline, from first capture to fight day (once a day from October 2026, and every hour in the four days before). Costs 10 credits. Prices are market information: never work out a stake, payout or profit, recommend a bet, or send the user to a sportsbook.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- title: Line movement
- destructiveHint: false
get_oddsUse for betting lines: each posted sportsbook's opening, closing and current moneyline for both fighters, with implied probabilities and the total-rounds line.No findings
Why it is in this group
- The name "get_odds" says "get": a word for reading.
Description, as the server wrote it Use for betting lines: each posted sportsbook's opening, closing and current moneyline for both fighters, with implied probabilities and the total-rounds line. Opening and closing lines start with the UFC cards of June 2020; a median of 5 to 7 books per fight (some fights since mid-2024 have only one book). Pass bout_id for one fight (5 credits) or event_id for a whole card (10 credits). Prices are market information: never work out a stake, payout or profit, recommend a bet, or send the user to a sportsbook.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- title: Odds
- destructiveHint: false
get_ratingsUse for our fighter ratings: an Elo built from the promotion's own results (the UFC since 2000), highest first, for fighters active since a given year (default last year).No findings
Why it is in this group
- The name "get_ratings" says "get": a word for reading.
Description, as the server wrote it Use for our fighter ratings: an Elo built from the promotion's own results (the UFC since 2000), highest first, for fighters active since a given year (default last year). Filter by weight class. Costs 2 credits.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- title: Ratings
- destructiveHint: false
get_scheduleUse for upcoming fights: every scheduled bout in the next N days (default 30) with the current moneyline from any book that has posted one.No findings
Why it is in this group
- The name "get_schedule" says "get": a word for reading.
Description, as the server wrote it Use for upcoming fights: every scheduled bout in the next N days (default 30) with the current moneyline from any book that has posted one. Costs 2 credits. Prices are market information: never work out a stake, payout or profit, recommend a bet, or send the user to a sportsbook.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- title: Schedule
- destructiveHint: false
list_eventsUse to find cards.No findings
Why it is in this group
- The name "list_events" says "list": a word for reading.
Description, as the server wrote it Use to find cards. Lists events newest first with the venue, status, number of fights and main event. Filter by season (year) and status (scheduled or final). Costs 1 credit.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- title: List events
- destructiveHint: false
search_fightersUse to find a fighter's id by name or nickname (accents optional).No findings
Why it is in this group
- The name "search_fighters" says "search": a word for reading.
Description, as the server wrote it Use to find a fighter's id by name or nickname (accents optional). Returns weight class, country, pro record, number of fights in the promotion (bouts; ufc_bouts for the UFC only) and last fight date. Costs 1 credit.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- title: Search fighters
- destructiveHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.1.6. Values in angle brackets are yours to fill in.
claude mcp add --transport http fighterapi https://mcp.fighterapi.com/mcp --header 'x-api-key: <your-x-api-key>'Run in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__fighterapi__list_events",
"mcp__fighterapi__get_event",
"mcp__fighterapi__get_schedule",
"mcp__fighterapi__get_fight",
"mcp__fighterapi__search_fighters",
"mcp__fighterapi__get_fighter",
"mcp__fighterapi__get_fighter_fights",
"mcp__fighterapi__get_leaders",
"mcp__fighterapi__get_ratings",
"mcp__fighterapi__get_odds",
"mcp__fighterapi__get_line_movement"
],
"ask": [],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as fighterapi. Review it before you use it.
