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 请求头携带密钥,请勿写入日志或共享配置。每次工具调用计为一次请求并消耗月度配额,付费套餐会产生费用。赔率仅为共识盘口,仅供参考,不构成投注建议。选手图片为知识共享授权,展示时须注明出处。该服务与 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 分