FighterAPI
REMOTE · MCP.FIGHTERAPI.COM
UFC fights since 2000, plus PFL and Bellator: results, round stats, fighters and odds. REST and MCP.
Available components
Last scanned (1 hour ago)
Scores higher than 94% of remote servers
Unreachable for 1 day in a row. Last reached 4 Nov 2026.
Category Entertainment and Games
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security11
- TLS not yet verified: we couldn't open a connection to check the certificate. View diagnostics → Unverified
- Authorisation not yet verified: we couldn't confirm whether this endpoint requires it. View diagnostics → Unverified
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS not yet verified: we couldn't read the response headers to check for it. View diagnostics → Unverified
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability0
- Transport check failed: declared streamable-http, but we couldn't connect to verify it. See how to fix → View diagnostics → Fail
Schema Quality & AI Usability0
- Schema not yet verified: we couldn't read the endpoint's schema, or could read only part of its tool list.Unverified
Stability & Change Management0
- Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage0
- Tool coverage not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.Unverified
Tool Safety0
- Tool safety not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.Unverified
Capabilities0
- Capabilities not yet verified: we couldn't read the endpoint's capabilities.Unverified
Unverified: 5 categories
Categories scored 0 because we could not verify them: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 5 Nov 26 0
- Endpoint reachability: reachable → unreachable ▼ security
- Stability: 0.77 → unverified ▼ security
- HSTS header: fail → unverified ▼ security
- Tool safety: pass → unverified ▼ security
- Authorization: pass → unverified ▼ security
- TLS certificate: pass → unverified ▼ security
- Transport: pass → fail ▼ security
- Capabilities: pass → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- First check of Schema quality: unverified functional
- 3 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 70 to 73. That category is still filling its 30-day observation window: 21 days of observed history at the previous scan, 22 at this one. The score rises as the window fills, whether or not the server changes.
- 1 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 63 to 67. That category is still filling its 30-day observation window: 19 days of observed history at the previous scan, 20 at this one. The score rises as the window fills, whether or not the server changes.
- 30 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 57 to 60. That category is still filling its 30-day observation window: 17 days of observed history at the previous scan, 18 at this one. The score rises as the window fills, whether or not the server changes.
- 29 Oct 26 0
- The server rewrote its instructions, which are the text every model session reads security
- 28 Oct 26 0
- The server rewrote its instructions, which are the text every model session reads security
- 27 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 47 to 50. That category is still filling its 30-day observation window: 14 days of observed history at the previous scan, 15 at this one. The score rises as the window fills, whether or not the server changes.
- 25 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 40 to 43. That category is still filling its 30-day observation window: 12 days of observed history at the previous scan, 13 at this one. The score rises as the window fills, whether or not the server changes.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Probed https://mcp.fighterapi.com/mcp
TLS unreached
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of mcp.fighterapi.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| fighterapi.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication Inconclusive
We could not reach the endpoint well enough to judge its authorisation posture.
| Result | Inconclusive |
|---|
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://mcp.fighterapi.com/mcp | Unreachable | ||
| http (plaintext) | http://mcp.fighterapi.com/mcp | HTTPS enforced |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
get_event Event ~76
Use for one card: every fight in order with the result, method, round and time, judges' scores and referee. Costs 2 credits.
| Name | Type | Req | Description |
|---|---|---|---|
| event_id | string | yes | Event id from list_events or get_schedule. |
| league | string | – | League. Defaults to mma. One of: mma, pfl, bellator. |
| Name | Type | Req | Description |
|---|---|---|---|
| bouts | array | yes | – |
| count | number | yes | – |
| event | object | yes | – |
No examples provided.
get_fight Fight ~174
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.
| Name | Type | Req | Description |
|---|---|---|---|
| bout_id | string | yes | Fight id (bout_id) from get_event or get_fighter_fights. |
| league | string | – | League. Defaults to mma. One of: mma, pfl, bellator. |
| Name | Type | Req | Description |
|---|---|---|---|
| bout | object | yes | – |
| fighters | array | yes | – |
| odds | array | yes | – |
| rounds | – | yes | – |
| rounds_note | string | – | – |
No examples provided.
get_fighter Fighter ~139
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.
| Name | Type | Req | Description |
|---|---|---|---|
| fighter_id | string | yes | Fighter id from search_fighters. |
| league | string | – | League. Defaults to mma. One of: mma, pfl, bellator. |
| Name | Type | Req | Description |
|---|---|---|---|
| career_rates | – | yes | – |
| fighter | object | yes | – |
| rating | – | yes | – |
| recent_fights | array | yes | – |
| record | – | yes | – |
| ufc_record | – | yes | – |
No examples provided.
get_fighter_fights Fighter fights ~157
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.
| Name | Type | Req | Description |
|---|---|---|---|
| fighter_id | string | yes | Fighter id from search_fighters. |
| league | string | – | League. Defaults to mma. One of: mma, pfl, bellator. |
| limit | integer | – | Max fights (default 50). |
| offset | integer | – | Page offset; use next_offset. |
| Name | Type | Req | Description |
|---|---|---|---|
| count | number | yes | – |
| fighter_id | string | yes | – |
| fights | array | yes | – |
| next_offset | number|null | – | – |
No examples provided.
get_leaders Leaders ~256
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.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Max fighters (default 20). |
| min_fights | integer | – | Minimum fights to qualify (default 5). |
| since | string|number | – | Only fights from this year on, e.g. 2020. |
| stat | string | yes | Which leaderboard. |
| weight_class | string | – | Only fights in this weight class, e.g. Lightweight. |
| Name | Type | Req | Description |
|---|---|---|---|
| count | number | yes | – |
| label | string | yes | – |
| leaders | array | yes | – |
| min_fights | number | yes | – |
| stat | string | yes | – |
No examples provided.
get_line_movement Line movement ~175
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.
| Name | Type | Req | Description |
|---|---|---|---|
| all_snapshots | boolean | – | Every hourly capture. By default a capture identical to the one before it is left out (the latest is always kept), which keeps every move and its time. |
| bout_id | string | yes | Fight id. |
| league | string | – | League. Defaults to mma. One of: mma, pfl, bellator. |
| provider | string | – | One sportsbook, e.g. DraftKings. |
| Name | Type | Req | Description |
|---|---|---|---|
| bout | object | yes | – |
| movement | object | yes | – |
| note | string | – | – |
| snapshots | number | yes | – |
No examples provided.
get_odds Odds ~169
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.
| Name | Type | Req | Description |
|---|---|---|---|
| bout_id | string | – | One fight. |
| event_id | string | – | A whole card. |
| league | string | – | League. Defaults to mma. One of: mma, pfl, bellator. |
| Name | Type | Req | Description |
|---|---|---|---|
| bouts | array | – | – |
| count | number | – | – |
| credits | number | – | – |
| estimate_only | boolean | – | – |
| note | string | – | – |
| tool | string | – | – |
No examples provided.
get_ratings Ratings ~127
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.
| Name | Type | Req | Description |
|---|---|---|---|
| active_since | string|number | – | Only fighters whose last fight was in this year or later. |
| league | string | – | League. Defaults to mma. One of: mma, pfl, bellator. |
| limit | integer | – | Max fighters (default 25). |
| weight_class | string | – | e.g. Welterweight. |
| Name | Type | Req | Description |
|---|---|---|---|
| active_since | number | yes | – |
| count | number | yes | – |
| method | string | yes | – |
| ratings | array | yes | – |
No examples provided.
get_schedule Schedule ~110
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.
| Name | Type | Req | Description |
|---|---|---|---|
| days | integer | – | Days ahead (default 30, max 180). |
| league | string | – | League. Defaults to mma. One of: mma, pfl, bellator. |
| Name | Type | Req | Description |
|---|---|---|---|
| bouts | array | yes | – |
| count | number | yes | – |
| days | number | yes | – |
No examples provided.
list_events List events ~126
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.
| Name | Type | Req | Description |
|---|---|---|---|
| league | string | – | League. Defaults to mma. One of: mma, pfl, bellator. |
| limit | integer | – | Max events (default 50). |
| offset | integer | – | Page offset; use next_offset. |
| season | string|number | – | Year, e.g. 2025. |
| status | string | – | Only upcoming or only completed cards. |
| Name | Type | Req | Description |
|---|---|---|---|
| count | number | yes | – |
| events | array | yes | – |
| next_offset | number|null | – | – |
No examples provided.
search_fighters Search fighters ~135
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.
| Name | Type | Req | Description |
|---|---|---|---|
| league | string | – | League. Defaults to mma. One of: mma, pfl, bellator. |
| limit | integer | – | Max results (default 20). |
| query | string | yes | Name or nickname, e.g. Topuria or 'El Matador'. |
| weight_class | string | – | e.g. Lightweight, Women's Strawweight. |
| Name | Type | Req | Description |
|---|---|---|---|
| count | number | yes | – |
| fighters | array | yes | – |
| note | string | – | – |
No examples provided.
How do I install the FighterAPI MCP server?
FighterAPI is a hosted endpoint at https://mcp.fighterapi.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · mcp.fighterapi.com
claude mcp add --transport http noahowsh-fighterapi 'https://mcp.fighterapi.com/mcp'
What is the FighterAPI MCP server?
FighterAPI is an MCP server listed in the public MCP registry as io.github.noahowsh/fighterapi. UFC fights since 2000, plus PFL and Bellator: results, round stats, fighters and odds. REST and MCP. This page covers its hosted endpoint (https://mcp.fighterapi.com/mcp).
Is the FighterAPI MCP server safe to use?
FighterAPI scores 87 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the FighterAPI MCP server expose?
FighterAPI exposes 11 tools: list_events, get_event, get_schedule, get_fight, search_fighters, and 6 more. Their descriptions and schemas cost roughly 1,644 tokens of context every time the server is loaded.
Does the FighterAPI MCP server require authentication?
Its publisher declares that FighterAPI requires credentials, so you will need to authorise it in your MCP client. We have not been able to confirm that against the live endpoint.
Is the FighterAPI MCP server still maintained?
FighterAPI is still listed in the MCP registry, though our most recent checks did not reach this channel. We last reached this channel on 4 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.