mcpbeat Sign in

UFCalendar Fight API — MMA MCP server

by ufcalendar Your server? Claim it
answering

UFCalendar Fight API — MMA MCP server is answering right now. Last checked 11 min ago. It exposes 52 tools. Last commit 31 Oct 2026.

MMA MCP: UFC, PFL, BKFC, RIZIN, OKTAGON results, stats, rankings, scorecards. Free plan, no card.

Uptime history 51 days of history
51 days agonow
100.0%
Uptime 24h
91 of 91 checks
52
Tools
read from the server
531 ms
Response time
average over 24h
0
Stars
last commit 31 Oct 2026

What changed 82

Every tool that appeared, vanished or quietly changed what it asks for. Recorded since 19 September 2026. No other catalogue keeps this.

31 Oct 5 tools appeared get_coverage, get_fight_stats, get_referee and 2 more
31 Oct a tool changed version
29 Oct 2 tool descriptions were rewritten get_plans, get_usage
29 Oct a tool changed version
11 Oct 2 tool descriptions were rewritten get_event_odds, get_fight_odds
11 Oct a tool changed version
26 Sep 2 tools disappeared get_bulk_snapshot_url, get_event_live
26 Sep a tool changed version2 times that day
25 Sep 8 tool descriptions were rewritten10 times that day create_webhook_endpoint, get_bulk_snapshot_url, get_champions and 5 more
25 Sep 6 tools changed the parameters they ask for get_bulk_snapshot_url, get_champions, get_event_card and 3 more
and 53 more, back to 19 September 2026

Tools have disappeared from this server

A tool that vanishes takes a piece of your agent with it, and the change arrives silently. Watch this server and every such change lands in your inbox.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 11 min ago.

run in your terminal
claude mcp add fight-api --transport http https://api.ufcalendar.com/mcp
Settings → Connectors → Add custom connector, then paste this address
https://api.ufcalendar.com/mcp
~/.codex/config.toml
[mcp_servers.fight-api]
url = "https://api.ufcalendar.com/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "fight-api": {
      "url": "https://api.ufcalendar.com/mcp"
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "fight-api": {
      "type": "http",
      "url": "https://api.ufcalendar.com/mcp"
    }
  }
}

Available tools 52

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

event
get_event_card
Fetch one event by slug or id with its complete bout order, both corners, venue, broadcast listings and results when the card has been fought. Pass include=eta for per-bout estimated start times and include=odds for each bout's current UFCalendar consensus odds line (information only, not betting advice).
get_event_changes
The audit trail for one card: bouts added or cancelled, opponents swapped, start times moved, fighter profiles merged — newest first.
get_event_odds
The UFCalendar consensus odds line for every bout on one card, in card order: the current line, the opening line, the closing line once a bout is settled, and how far the market moved since opening, each with how many sportsbooks backed it, plus every bout's prop markets (method of victory, total rounds, goes the distance). Unpriced bouts are listed with nulls. Book identities are never exposed. Information only, not betting advice.
get_event_storylines
The talking points of one card, computed from the record: title fights and title eliminators, the closest bout by UFCalendar's model, rematches and trilogy deciders, who is on a streak, who is debuting or returning from a long layoff, the ranked fighters and champions on the card, nations represented, the tallest and longest-reach fighters and the fastest career finish on the bill.
fight
get_fight
Fetch one bout by id. Pass include=stats for per-fight totals, include=rounds for round-by-round statistics, include=scorecards for the official judges’ cards, include=odds for the current UFCalendar consensus odds line (the closing line once the bout is settled) (information only, not betting advice).
get_fight_odds
The UFCalendar consensus odds line for one bout: the current line, the opening line, the closing line once the bout is settled, and the movement since opening in implied-probability points, each point with its American and decimal price, implied and margin-removed probability and how many sportsbooks backed it. Also the prop markets: method of victory per corner (KO/TKO, submission, decision), total rounds over/under per line and whether it goes the distance. Book identities are never exposed. Information only, not betting advice.
get_fight_stats
Per-fight totals for both corners of one bout (strikes by target and position, takedowns, knockdowns, control and position time), each with UFCalendar fantasy points and their category breakdown, plus data-quality flags in meta.quality (rounds present, position data present, whether the round sums match the totals).
webhook
create_webhook_endpoint
Register an https endpoint to receive signed webhooks (event announced, fight result, card changed, event completed, odds moved: the UFCalendar consensus odds line on an upcoming bout moved 5+ points or the favourite flipped; information only, not betting advice). The signing secret is returned ONCE — store it before the reply is discarded. At most 3 active endpoints per account.
delete_webhook_endpoint
Permanently remove one webhook endpoint from the calling account. Deliveries to it stop and its delivery history is dropped.
list_webhook_endpoints
List the signed webhook endpoints registered on the calling account, with the event kinds each one subscribes to.
how
how_to_connect
Explain how to authenticate against the UFCalendar Fight API from this MCP server: an API key bearer token, or signing in with a UFCalendar account. Returns the URLs to do it.
how_to_watch
Who airs one event, country by country: the promotion's rights deals merged with the event's own confirmed broadcast listings, with provider, kind (tv, stream, ppv…), link and a worldwide row. Pass a two-letter country code to get that market plus worldwide. Series-aware, so a Contender Series card shows its own deal, not the numbered-card one.
judge
get_judge
One official's career aggregates by id: fights and rounds scored, rounds scored 10-8 or wider, three-judge cards that came back split, lone dissents, first and last date scored, and the promotions worked. Same shape as a list_judges row; use get_judge_scorecards for the cards themselves.
get_judge_scorecards
Every official card one judge has turned in, newest first: per-round points, card totals, decision type and point deductions. Each row flags lone dissents and split panels and shows the colleagues' totals. Commission records only.
referee
get_referee
One referee's career aggregates by slug (e.g. herb-dean): bouts worked per promotion, first and last bout, finish rate, method breakdown and average fight time. Same shape as a list_referees row; use get_referee_fights for the bouts themselves.
get_referee_fights
Every settled bout one referee worked in the covered promotions, newest first, with both corners, the result and the event. Cursor paginated.
venue
get_venue
Fetch one venue by id: name, city, region, country, capacity, coordinates and IANA time zone.
get_venue_events
Every covered event held at one venue, newest first — upcoming cards on top, then the history. Same filters and row shape as list_events (status, from, to, order, cursor).
article
get_article
One UFCalendar article by slug: full body in Markdown (client widgets removed), title, summary, author, tags and publication date, in the requested language when a translation exists (English otherwise). Betting editorial is not served.
articles
search_articles
Search UFCalendar's own editorial archive — previews, recaps, investigations, fighter-pay and technique pieces — by keyword or tag, newest first, in any of the 13 site languages. Returns title, summary, tags, date and the canonical URL; pass the slug to get_article for the body. Betting editorial is not served.
broadcast
get_broadcast_rights
Who airs one promotion in each country: provider, kind and link. Pass a country code to narrow it to that market plus the worldwide row.
calendar
get_calendar_feed_url
The three subscribable ICS calendar feed URL templates for one promotion — per event, per card section, or per bout at its estimated start — with a <your-api-key> placeholder where the key goes. Returns URL templates only, never the caller's credential; the human pastes the finished URL into their calendar app.
champions
get_champions
Every current champion across the promotions the API covers, with the division and the snapshot date the board was published. Pass org (e.g. "ufc") and/or division (e.g. "lightweight") to narrow it.
changes
list_changes
The cross-event change feed, newest first: bouts added, cancelled or reinstated, opponents swapped, start times or venues moved, fighter profiles merged — across every covered promotion or one of them, since a date (default the last 90 days). The same audit trail webhooks deliver, for agents that poll instead.
compare
compare_fighters
Head-to-head in one call: both bios and career statistics, strike location and position mix, current win streaks, previous meetings, common opponents with each result, the booked bout between them if one exists, UFCalendar's model win probability for it and the Power Index ratings. The tale-of-the-tape tool.
coverage
get_coverage
What the database holds for each covered promotion, year by year: events, settled bouts and the share of them with per-fight stats, round-by-round stats, official commission scorecards and a UFCalendar consensus odds line (information only, not betting advice), plus when the latest result landed. Computed from the data, refreshed every 30 minutes.
division
get_division
One weight class in one promotion: the current rankings board when the promotion publishes one, upcoming bouts booked at that weight, the most recent results and the active roster by recency. The division-page answer in one call.
events
list_events
List fight cards by promotion, status and date range. A bare call returns the upcoming schedule, soonest first; pass order=desc for the archive, newest first. Filter to title cards or PPVs with is_title_card / is_ppv, and pass include=headline for each card's main event (and its result once fought) in the same call. Cursor paginated.
fighter
get_fighter
Fetch one fighter by slug or id: bio, record, career statistics and freely licensed portraits. Pass include=history for the full multi-promotion career timeline, include=stats, include=rankings or include=power_index, include=bonuses for the UFC bonus ledger, and include=credentials for grappling and wrestling pedigree, gyms and coaches (sourced, confidence-graded). Always carries next_fight and last_fight.
fighters
search_fighters
Search the fighter roster by name, nationality or promotion. Cursor paginated. Returns identity fields; use get_fighter for the full record.
fights
find_fights
THE tool for last/first/most-recent questions — search completed bouts across UFCalendar's launch promotions by title fight, finish method (ko, sub, dec, finish), division, fighter, winner, main-event only and date range, newest first by default. One call answers "the last title fight to end by knockout"; never page the schedule for it. At least one narrowing filter is required; 25 rows per page, 10 pages deep.
judges
list_judges
The judge directory with career aggregates: cards turned in, rounds scored, 10-8s, split cards and lone dissents, plus the league-wide baseline rates in meta.league. Filter by name, promotion or a minimum number of fights.
leaderboard
get_leaderboard
One statistical leaderboard for one promotion from UFCalendar's Record Book rollup — career, single-fight, single-round, division or event boards across 48 metrics (wins, finishes, significant strikes, takedowns, control time, finish rate and more), optionally narrowed to a division, a country or active fighters. Ranked, with the sample size behind each value.
matchmaker
get_matchmaker
UFCalendar's matchmaker: the fights worth making in one promotion, scored for rank proximity, momentum, competitiveness and story (rematches, eliminators), per division or across the roster. Our own engine over rankings, Power Index and recent form — not a list of booked bouts. Runs without the website's style-clash (Fight DNA) factor, so scores can differ slightly from ufcalendar.com.
next
get_next_event
The single next upcoming card for one promotion, or across all of them: the soonest event that has not finished. For UFC, developmental sub-series cards (Dana White's Contender Series, Road to UFC) are skipped while a numbered card or Fight Night is booked; pass skip_series=false to include them. Pass include_card=true to get the full bout list in the same metered call.
odds
get_odds_history
Every UFCalendar consensus odds point recorded for one bout, oldest first: the line-movement series, with how many sportsbooks backed each point. A point is stored only when the line moves. Narrow with from/to dates; cursor paginated. Pro plans and up. Information only, not betting advice.
org
get_org
Fetch one promotion by slug (ufc, pfl, oktagon, bkfc or rizin): name, short name, country, website and its capability flags (stats, rounds, rankings, broadcasts, predictions, scorecards, odds; odds are information only, not betting advice). list_orgs returns the same rows for every promotion without a credential.
orgs
list_orgs
List the promotions the UFCalendar Fight API covers, with per-org capability flags (stats, rounds, rankings, broadcasts, predictions, scorecards, odds). Odds are the UFCalendar consensus line: information only, not betting advice.
pickem
get_pickem_splits
How the UFCalendar community is picking each bout on one card: picks for each corner, the total and the percentage, in card order. Crowd sentiment from our own pick'em game, not a market and not a forecast.
plans
get_plans
List the UFCalendar Fight API plans, their monthly request quotas and per-minute limits, including the free plan (1,000 requests a month, no card). Answers "what does this cost" without a credential.
power
get_power_index
The UFCalendar Power Index board for one promotion — our own rating engine, refreshed hourly, with peak rating and fights rated. Pass view=movers for the biggest risers over a window, view=peaks for all-time peak ratings, division= to narrow.
predictions
get_predictions_upcoming
UFCalendar model win probabilities for upcoming UFC bouts, published about three weeks out and repriced at least weekly. Corner-stamped, so a probability is never shown against the wrong pair. Pass event= to narrow to one card. Informational model output, not betting advice.
rankings
get_rankings
The official rankings board for one promotion, point-in-time: pass a date to read the board as it stood that day. Rank 0 is the champion. Pass a division to narrow it. Each entry comes with movement against the previous snapshot (is_new for a debut), and meta names the previous and next snapshot dates.
record
get_record_book
The Record Book for one promotion in one call: the top rows of every leaderboard, grouped by category — the all-time and single-night records an agent quotes. Narrow by division, country, active fighters or one scope.
referees
list_referees
The referee directory across the covered promotions, busiest first: bouts worked, promotions, first and last bout, finish rate, how their bouts ended (KO/TKO, submission, decision, other) and average fight time. Filter by name or promotion. The referee id is a slug of the name.
rotate
rotate_webhook_secret
Replace the signing secret of one webhook endpoint. The old secret stops verifying immediately, so update the receiver first. The new secret is returned once.
search
search
Typeahead search across fighters and events in one call. Use it to turn a name a user typed into a slug you can pass to the other tools.
split
list_split_decisions
Completed bouts decided on split or majority cards, newest first, with every judge's official card and the dissenting judge named — commission records only, across covered promotions or one of them, in a date range. Facts as filed; UFCalendar adds no verdict of its own.
usage
get_usage
How many requests the calling account has used this month, the plan limit, the per-minute limit and when the counter resets — and, on an owner-granted trial, when the trial ends (trial_ends_at).
venues
search_venues
Find arenas and venues that have hosted a covered promotion, by name, city or country. Returns id, name, city, region, country, time zone and capacity; pass the id to get_venue_events for what was fought there.
whos
whos_next
For one fighter: the most sensible next opponents by UFCalendar's matchmaker, with the model win probability for each pairing and the score behind it, plus the bout already booked if there is one. Runs without the website's style-clash (Fight DNA) factor, so scores can differ slightly from ufcalendar.com.
year
get_year_stats
One calendar year of a promotion (or all covered promotions) in numbers: events and title fights, finish methods and busiest divisions, the fastest finishes, the biggest upsets and Power Index climbers, the busiest fighters, host countries and the most-used judges.

Tools removed

Tools this server used to expose. Anything built against them stopped working on the day they went.

get_event_live
removed 26 Sep 2026
get_bulk_snapshot_url
removed 26 Sep 2026

Endpoints

URLTransportStateLatencyChecked
https://api.ufcalendar.com/mcp streamable-http answering 537 ms 11 min ago

Alternatives to UFCalendar Fight API — MMA MCP server

same job, measured the same way
osu! MCP
by osyanne

MCP server exposing the osu! API v2: player stats, scores, beatmap search, rankings.

100 installs/wk local only
FighterAPI
by noahowsh

UFC fights since 2000, plus PFL and Bellator: results, round stats, fighters and odds. REST and MCP.

11 tools answering
Boxerbook
by boxerbook

World professional boxing: schedule, results, boxer cards, rankings, forecasts. Free, no key.

10 tools answering
Protonlite
by maytrella007

Python Proton Mail, Calendar, Contacts and Drive client with an MCP server. Free plan, no Bridge.

212 installs/wk local only
PuckAPI
by noahowsh

NHL and PWHL stats, play-by-play, expected goals and odds. REST API and MCP server. Free to start.

27 tools answering
Nhl MCP
by mrfentmen

Use this MCP server to the NHL. Team and player stats, standings, schedules, and game results....

52 installs/wk local only
Bing Search (Free)
by iridite

Free Bing search MCP server - No API key required

119 installs/wk local only
Travelpayouts MCP
by theyahia

MCP server for Travelpayouts API -- flight search, popular routes, price calendar.

59 installs/wk local only

UFCalendar Fight API — MMA MCP server — questions

Answers built from our own checks of this server.

What can UFCalendar Fight API — MMA MCP server do?
It exposes 52 tools, read directly from the server on our last check. Among them: compare_fighters, create_webhook_endpoint, delete_webhook_endpoint, find_fights, get_article, get_broadcast_rights and 46 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
What is UFCalendar Fight API — MMA MCP server mostly used for?
Its tools cluster around event, fight and webhook. That is what this server is built to work with — the grouping comes from the actual tool names, not from a category we assigned.
Is UFCalendar Fight API — MMA MCP server working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 91 of 91 checks got a reply (100.0%), average response time 531 ms. The bar chart above shows every period we have measured.
Did UFCalendar Fight API — MMA MCP server ever remove tools?
Yes. get_event_live, get_bulk_snapshot_url are no longer exposed — we recorded the date each one disappeared. A tool vanishing usually means a breaking change for anything that depended on it.
How do I connect UFCalendar Fight API — MMA MCP server?
Copy the ready config from this page. We generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each in the form that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does UFCalendar Fight API — MMA MCP server need an API key?
No. UFCalendar Fight API — MMA MCP server completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 52 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is UFCalendar Fight API — MMA MCP server?
It answers our handshake in 531 ms on average, which is faster than 22% of all working MCP servers we measure. That is on the slow side — worth knowing if the tool sits inside an interactive loop. The comparison comes from our own checks across the whole registry, every 15 minutes.
Is UFCalendar Fight API — MMA MCP server open source?
The code is open source: it is published under the MIT licence and 0 stars on GitHub. The licence covers the code in the repository, not the hosted service at api.ufcalendar.com, which runs on its operator's own terms.