UFCalendar Fight API — MMA MCP server

by ufcalendar.com · com.ufcalendar/fight-api

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

OnlineRemote
Category
Developer tools
Connection
Remote (HTTP)
Tools
52 reported
Status
Online

Connect it to your AI

Claude Code

claude mcp add --transport http fight-api https://api.ufcalendar.com/mcp

Claude, ChatGPT, Cursor and other apps

Add it as a custom connector with this URL (Streamable HTTP):

https://api.ufcalendar.com/mcp

This server expects extra headers, usually an API key from its maker.

Cursor, VS Code and other apps (mcp.json)

{
  "mcpServers": {
    "fight-api": {
      "url": "https://api.ufcalendar.com/mcp"
    }
  }
}

Tools it offers

52 tools, as the server itself reported during our check on Oct 31, 2026.

  • get_plansList 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.
  • list_orgsList 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 betti
  • how_to_connectExplain 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.
  • get_orgFetch 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,
  • get_divisionOne 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
  • list_eventsList 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, an
  • get_next_eventThe 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 nu
  • get_event_cardFetch 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
  • get_event_changesThe audit trail for one card: bouts added or cancelled, opponents swapped, start times moved, fighter profiles merged — newest first.
  • list_changesThe 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 (defa
  • how_to_watchWho 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 c
  • get_event_storylinesThe 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
  • get_pickem_splitsHow 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.
  • get_event_oddsThe 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 sp
  • get_fight_oddsThe 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 a
  • get_odds_historyEvery 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; cur
  • get_fightFetch 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
  • get_fight_statsPer-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
  • find_fightsTHE 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
  • searchTypeahead 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.
  • search_fightersSearch the fighter roster by name, nationality or promotion. Cursor paginated. Returns identity fields; use get_fighter for the full record.
  • get_fighterFetch 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, in
  • compare_fightersHead-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, UFCalend
  • get_rankingsThe 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
  • get_championsEvery 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.
  • get_power_indexThe 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
  • get_matchmakerUFCalendar'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,
  • whos_nextFor 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 websit
  • get_leaderboardOne 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
  • get_record_bookThe 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.
  • get_coverageWhat 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 lin
  • get_year_statsOne 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 fight
  • get_predictions_upcomingUFCalendar 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 on
  • get_broadcast_rightsWho airs one promotion in each country: provider, kind and link. Pass a country code to narrow it to that market plus the worldwide row.
  • list_judgesThe 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 fight
  • get_judgeOne 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
  • get_judge_scorecardsEvery 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 rec
  • list_refereesThe 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 b
  • get_refereeOne 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 f
  • get_referee_fightsEvery settled bout one referee worked in the covered promotions, newest first, with both corners, the result and the event. Cursor paginated.

Questions

What is the UFCalendar Fight API — MMA MCP server?

MMA MCP: UFC, PFL, BKFC, RIZIN, OKTAGON results, stats, rankings, scorecards. Free plan, no card. It is made by ufcalendar.com and listed in the official MCP Registry as com.ufcalendar/fight-api. MCP (Model Context Protocol) is the open standard that lets AI apps like Claude, ChatGPT and Cursor use outside tools.

How do I add UFCalendar Fight API — MMA to Claude?

In the Claude app or claude.ai, open Settings, then Connectors, choose "Add custom connector" and paste https://api.ufcalendar.com/mcp. In Claude Code, run: claude mcp add --transport http fight-api https://api.ufcalendar.com/mcp

How do I add UFCalendar Fight API — MMA to ChatGPT?

ChatGPT can use remote MCP servers as connectors. In ChatGPT settings, under Apps and Connectors, turn on developer mode if asked, create a new connector and paste https://api.ufcalendar.com/mcp.

How do I add UFCalendar Fight API — MMA to Cursor?

Open Cursor settings, go to MCP, choose "Add new MCP server" (or edit ~/.cursor/mcp.json) and add: { "mcpServers": { "fight-api": { "url": "https://api.ufcalendar.com/mcp" } } }

Does UFCalendar Fight API — MMA work right now?

Yes. It responded when we last checked on 31 Oct 2026. We check remote MCP servers every day.

What can UFCalendar Fight API — MMA do?

It gives your AI 52 tools, including get_plans, list_orgs, how_to_connect, get_org, get_division. The full list is on this page.

Is this your server? Get the badge for your README
chen.media/mcp badge

Markdown (GitHub README)

[![Listed on chen.media/mcp](https://chen.media/mcp/badge/com-ufcalendar-fight-api.svg)](https://chen.media/mcp/com-ufcalendar-fight-api)

HTML (switches to dark mode on its own)

<a href="https://chen.media/mcp/com-ufcalendar-fight-api"><picture><source media="(prefers-color-scheme: dark)" srcset="https://chen.media/mcp/badge/com-ufcalendar-fight-api.svg?theme=dark"><img src="https://chen.media/mcp/badge/com-ufcalendar-fight-api.svg" alt="Listed on chen.media/mcp" height="40"></picture></a>

More in Developer tools

See all