UFCalendar Fight API — MMA MCP server

com.ufcalendar由 ufcalendar.com 發布官方發布者v1.7.0更新於 Oct 31, 2026

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

已驗證Streamable HTTP可網頁執行位置與生活金融資料與分析

概覽

AI 產生的概覽

針對綜合格鬥與赤手拳擊資料的遠端 MCP 伺服器:涵蓋 UFC、PFL、BKFC、RIZIN、OKTAGON 的賽事卡、賽果、數據、排名、計分卡、賠率與轉播權。

可以做什麼
  • 搜尋選手與賽事,並取得選手資料、職業生涯、正面對比與排名歷史
  • 瀏覽賽事:賽程、下一場賽事、完整對戰順序、賽果、異動紀錄與看點
  • 讀取比賽數據:單場與逐回合統計、官方裁判計分卡、裁判與評審紀錄
  • 查詢賠率線、社群競猜分布、模型勝率預測與配對建議
  • 查詢紀錄簿、排行榜、年度彙總、資料涵蓋範圍與各國轉播權
  • 查看方案與配額,並取得驗證方式說明
適用情境
適合需要回答綜合格鬥或赤手拳擊問題的情境:誰贏了、下一場是什麼、兩名選手如何比較、某場賽事的排名或轉播情況、紀錄簿數據等。適用於體育內容、面向粉絲的問答與研究,而非一般網頁搜尋。
執行需求
遠端 streamable HTTP 端點,無需本機安裝。需要以 Authorization 標頭攜帶 Bearer API 金鑰,或使用 UFCalendar 帳號透過 OAuth 登入。免費方案每月 1,000 次請求、不需信用卡;付費方案每月 19 美元起。賠率歷史等部分工具需 Pro 以上方案。
安裝前請注意
Authorization 標頭攜帶金鑰,請勿寫入日誌或共用設定。每次工具呼叫計為一次請求並消耗每月配額,付費方案會產生費用。賠率僅為共識盤口,僅供參考,不構成投注建議。選手圖片為創用 CC 授權,展示時須標註出處。此服務與 UFC、Zuffa、TKO 及各賽事組織無關聯。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 UFCalendar Fight API — MMA MCP server,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/com.ufcalendar%2Ffight-api/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "ufcalendar-fight-api-mma": {
      "type": "http",
      "url": "https://api.ufcalendar.com/mcp"
    }
  }
}

README

UFCalendar Fight API — agent skill

An installable skill that teaches a coding agent how to reach the UFCalendar Fight API — the MMA Fight Data API behind our MCP server for UFC data and MMA MCP server: UFC, PFL, OKTAGON, BKFC and RIZIN events, full fight cards, results, per-round stats, fighter careers, judges' scorecards, UFC rankings history since 2013 and per-country broadcast rights — over REST, the two SDKs, or the MCP server at https://api.ufcalendar.com/mcp.

Install

bash
npx skills add UFCalendar/fight-api-skill

Or copy it in by hand:

AgentWhere
Claude Code.claude/skills/ufcalendar-fight-api/ (project) or ~/.claude/skills/ufcalendar-fight-api/ (global)
Cursorpaste SKILL.md into a rule under .cursor/rules/, keep references/ beside it
Codexreference SKILL.md from AGENTS.md, keep references/ beside it

The skill is plain Markdown — SKILL.md plus four reference files. Nothing executes.

Contents

  • SKILL.md — access in 60 seconds, base URL and envelope, the endpoints that answer the common questions, the don'ts, and when to use MCP vs REST vs SDK.
  • references/endpoints.md — every endpoint and parameter. Generated from the OpenAPI document; do not edit by hand.
  • references/conventions.md — envelope, pagination, errors, rate headers, tier gates, webhook signature verification.
  • references/mcp-clients.md — copy-paste config for Claude Code, Cursor, Codex, Claude.ai and ChatGPT.
  • references/sdk.md — Python and TypeScript quickstarts.

Access

Every account gets the free plan (1,000 requests a month, no card, never expires); the key self-serves at https://www.ufcalendar.com/account/api?trial=1. Paid plans start at $19/month. GET https://api.ufcalendar.com/v1/plans answers with no credential at all, so an agent can evaluate the API before anyone signs in.

Odds are the UFCalendar consensus line only (no book identities; information only, not betting advice). Fighter images are Creative Commons and must be shown with their credit. Not affiliated with UFC, Zuffa, TKO or any promotion.

MIT licensed.

來源:README.md,提交 91c7ab0

工具

52

get_plans

Plans and quotas

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.

無需輸入參數。

list_orgs

List promotions

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.

無需輸入參數。

how_to_connect

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.

無需輸入參數。

get_org

Get a promotion

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.

輸入參數org必填

get_division

Get a 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.

輸入參數org必填division必填

list_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.

輸入參數toorgfromlimitordercursoris_ppvstatusincludeis_title_card

get_next_event

Get the 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.

輸入參數orgskip_seriesinclude_card

get_event_card

Get an event and its full 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).

輸入參數event必填include

get_event_changes

Get an event’s change log

The audit trail for one card: bouts added or cancelled, opponents swapped, start times moved, fighter profiles merged — newest first.

輸入參數event必填

list_changes

List recent card 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.

輸入參數orgkindlimitsincecursor

how_to_watch

How to watch an event

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.

輸入參數event必填country

get_event_storylines

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.

輸入參數event必填

get_pickem_splits

Get pick'em 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.

輸入參數event必填

get_event_odds

Get consensus odds for a card

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.

輸入參數event必填

get_fight_odds

Get consensus odds for a bout

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.

輸入參數fight_id必填

get_odds_history

Get the odds line movement

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.

輸入參數tofromlimitcursorfight_id必填

get_fight

Get a bout

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).

輸入參數includefight_id必填

get_fight_stats

Get a bout's stats and fantasy points

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).

輸入參數fight_id必填

find_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.

輸入參數toorgfromlimitordercursormethodwinnerfighterdivisiontitle_onlymain_events_only

search_fighters

Search the roster

Search the fighter roster by name, nationality or promotion. Cursor paginated. Returns identity fields; use get_fighter for the full record.

輸入參數qorglimitcursorcountry

get_fighter

Get a 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.

輸入參數fighter必填includehistory_limit

compare_fighters

Compare two 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.

輸入參數a必填b必填

get_rankings

Get a rankings board

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.

輸入參數org必填dateboarddivision

get_champions

Get current 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.

輸入參數orgdivision

get_power_index

Get the UFCalendar Power Index board

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.

輸入參數org必填daysviewlimitdivision

get_matchmaker

Get the matchmaker board

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.

輸入參數org必填limitdivision

whos_next

Who should fight 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.

輸入參數limitfighter必填

get_leaderboard

Get a stat 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.

輸入參數org必填limitmetric必填countrydivisionpopulation

get_record_book

Get the 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.

輸入參數org必填topscopecountrydivisionpopulation

get_coverage

Get data 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.

輸入參數org

get_year_stats

Get a year in review

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.

輸入參數orgyear必填

get_predictions_upcoming

Get model win probabilities

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.

輸入參數event

get_broadcast_rights

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.

輸入參數org必填seriescountry

list_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.

輸入參數qorglimitcursormin_fights

get_judge

Get a 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.

輸入參數judge_id必填

get_judge_scorecards

Get a judge’s 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.

輸入參數limitcursorjudge_id必填

list_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.

輸入參數qorglimitcursor

get_referee

Get a 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.

輸入參數referee必填

get_referee_fights

Get the bouts a referee worked

Every settled bout one referee worked in the covered promotions, newest first, with both corners, the result and the event. Cursor paginated.

輸入參數limitcursorreferee必填

list_split_decisions

List split and majority 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.

輸入參數toorgfromlimitcursor

get_usage

Get your API 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).

無需輸入參數。

get_venue

Get a venue

Fetch one venue by id: name, city, region, country, capacity, coordinates and IANA time zone.

輸入參數venue_id必填

search_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.

輸入參數qlimitcursorcountry

get_venue_events

List events at a venue

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).

輸入參數tofromlimitordercursorstatusvenue_id必填

search_articles

Search UFCalendar 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.

輸入參數qtaglimitcursorlocale

get_article

Get an 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.

輸入參數slug必填locale

get_calendar_feed_url

Get calendar feed URLs

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.

輸入參數org必填

list_webhook_endpoints

List webhook endpoints

List the signed webhook endpoints registered on the calling account, with the event kinds each one subscribes to.

無需輸入參數。

create_webhook_endpoint

Register a 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.

輸入參數url必填events

rotate_webhook_secret

Rotate a webhook signing 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.

輸入參數endpoint_id必填

delete_webhook_endpoint

Delete a webhook endpoint

Permanently remove one webhook endpoint from the calling account. Deliveries to it stop and its delivery history is dropped.

輸入參數endpoint_id必填

版本歷史

9
  1. v1.7.0最新Oct 31, 2026
  2. v1.6.0Oct 29, 2026
  3. v1.5.1Oct 11, 2026
  4. v1.5.0Sep 26, 2026
  5. v1.3.0Sep 25, 2026
  6. v1.2.0Sep 24, 2026
  7. v1.1.0Sep 20, 2026
  8. v1.0.1Sep 19, 2026
  9. v1.0.0Sep 19, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分