list_events
List events
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.
limitleagueoffsetseasonstatus
io.github.noahowshPublished by GitHub account noahowshv1.1.6Updated Oct 28, 2026
UFC fights since 2000, plus PFL and Bellator: results, round stats, fighters and odds. REST and MCP.
FighterAPI gives an assistant UFC, PFL and Bellator fight data: results, stat sheets, fighter profiles, Elo ratings and sportsbook moneylines.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.
Read https://sourceweft.com/mcp/io.github.noahowsh%2Ffighterapi/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.Add this to your client's mcpServers config.
{
"mcpServers": {
"fighterapi": {
"type": "http",
"url": "https://mcp.fighterapi.com/mcp",
"headers": {
"x-api-key": "<YOUR_API_KEY>"
}
}
}
}The fight data API. Results, judges' scorecards and the full stat sheet for nearly every UFC fight since 2000, round by round, plus PFL (2012 on) and Bellator (2009 to 2024) results, fighters and ratings with the same key. Fighter profiles, career rates, our own ratings and sportsbook moneylines (UFC from June 2020, PFL from April 2023, Bellator from January 2022 to 2024). REST API and MCP server. 500 free credits every month, no card.
Website: https://fighterapi.com · Docs: https://fighterapi.com/docs · Get a key: https://fighterapi.com/signup
Most clients connect to https://mcp.fighterapi.com/mcp directly. For a client that launches a local process instead:
It forwards to the hosted server with your key, so every tool and credit cost is the same.
Sixteen Claude skills that turn Claude into an MMA analyst wired to these tools: fight and card lookup, fighter scouting, per-round striking and grappling rates, Elo by weight class, odds comparison and devigging, favourite calibration, edge detection and backtesting. They are plain SKILL.md files in skills/.
Or install them as a Claude Code plugin:
Or with the skills CLI: npx skills add noahowsh/fighterapi-mcp.
Point Claude at the skills/ folder (for Claude Code, copy or symlink the skill folders into ~/.claude/skills/ or a project's .claude/skills/), connect the MCP server below, and ask. Start with skills/dispatch if you are unsure which skill fits. Full catalog: skills/README.md.
The official Python client is on PyPI: fighterapi.
Typed errors for a bad key, no credits left, not found and rate limits, automatic retries, and to_dataframe for pandas.
This is a hosted (remote) MCP server over Streamable HTTP. There is nothing to install.
Claude Code
Claude Desktop, Cursor and other clients
The key can also be sent as an x-api-key header or Authorization: Bearer. Connecting and listing tools works without a key; calling a tool needs one.
REST
Every tool is POST /v1/{tool} with a JSON body.
Runnable Python (standard library only) and Node 18+ (no dependencies) examples live in examples/:
examples/python/quickstart.py and examples/node/quickstart.mjs: schedule plus a headline call.examples/python/mma_fighter_record_and_odds.py: A fighter profile (UFC record by method, Elo, career strike and takedown rates), their recent fights with the median closing line, and every sportsbook's open and close moneyline for their latest fight.See examples/README.md for details. Get a free key (500 credits a month, no card) at https://fighterapi.com/signup.
Leagues: mma (default, UFC), pfl, bellator (pass league to any tool).
Coverage by season, read live from the database: https://fighterapi.com/docs
500 free credits every month, no card. Plans: Starter $19/mo (10,000 credits), Pro $49/mo (30,000), Scale $149/mo (125,000). Wallet top-ups from $5, never expire. https://fighterapi.com/pricing
Ratings are ours. Not affiliated with the UFC, PFL, Bellator or any promotion.
MIT for the contents of this repository. Data terms as above.
Add this repo as a Codex plugin marketplace, then install the plugin:
Then open the plugin directory in Codex and install fighterapi-skills from the fighterapi marketplace. The plugin bundles the skills in skills/ and the FighterAPI MCP server (https://mcp.fighterapi.com/mcp). Set your key first (free at https://fighterapi.com/signup):
Codex sends it as a bearer token.
The extension adds the FighterAPI MCP server (https://mcp.fighterapi.com/mcp) and sends the key in the x-api-key header. Get a free key (500 credits a month) at https://fighterapi.com/signup.
Source: README.md at commit 0d8fd0d
List events
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.
limitleagueoffsetseasonstatusEvent
Use for one card: every fight in order with the result, method, round and time, judges' scores and referee. Costs 2 credits.
leagueevent_idrequiredSchedule
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.
daysleagueFight
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.
leaguebout_idrequiredSearch fighters
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.
limitqueryrequiredleagueweight_classFighter
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.
leaguefighter_idrequiredFighter fights
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.
limitleagueoffsetfighter_idrequiredLeaders
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.
statrequiredlimitsincemin_fightsweight_classRatings
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.
limitleagueactive_sinceweight_classOdds
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.
leaguebout_idevent_idLine movement
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.
leaguebout_idrequiredproviderall_snapshots100% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
You: "What is Islam Makhachev's significant strike accuracy by round across his UFC fights?"Claude: [calls get_fighter_fights]
You: "Show the opening and closing moneyline for every main event this year."Claude: [calls get_odds]git clone https://github.com/noahowsh/fighterapi-mcp.git && cd fighterapi-mcp && npm installFIGHTERAPI_API_KEY=your_key node index.js{ "mcpServers": { "fighterapi": { "command": "node", "args": ["/path/to/fighterapi-mcp/index.js"], "env": { "FIGHTERAPI_API_KEY": "your_key" } } } }git clone https://github.com/noahowsh/fighterapi-mcp/plugin marketplace add noahowsh/fighterapi-mcp/plugin install fighterapi-skills@fighterapipip install fighterapiexport FIGHTERAPI_API_KEY=sk_live_...from fighterapi import Client
client = Client()
events = client.list_events(status="final", limit=3)["events"]for e in events: print(e["event_id"], e["event_date"], e["name"])claude mcp add --transport http fighterapi "https://mcp.fighterapi.com/mcp?key=YOUR_API_KEY"{ "mcpServers": { "fighterapi": { "url": "https://mcp.fighterapi.com/mcp?key=YOUR_API_KEY" } }}curl -X POST https://mcp.fighterapi.com/v1/list_events -H "x-api-key: YOUR_API_KEY"export FIGHTERAPI_API_KEY=your_keypython3 examples/python/quickstart.pynode examples/node/quickstart.mjscodex plugin marketplace add noahowsh/fighterapi-mcpexport FIGHTERAPI_API_KEY=your_keyexport FIGHTERAPI_API_KEY=your_keygemini extensions install https://github.com/noahowsh/fighterapi-mcp