{"name":"com.ufcalendar/fight-api","slug":"ufcalendar-fight-api","title":"UFCalendar Fight API","description":"MMA fight data: UFC, PFL, OKTAGON, BKFC, RIZIN events, results, stats, rankings, judges scorecards.","url":"https://mcp.market/server/ufcalendar-fight-api","rating":null,"grade":"A","score":89,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":23,"stars":0,"forks":0,"downloads_week":null,"last_push_at":"2026-09-19T01:04:17.000Z","license":"MIT"},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/UFCalendar/fight-api-skill","website":"https://www.ufcalendar.com/developers/agents","version":"1.0.0","remotes":[{"type":"streamable-http","url":"https://api.ufcalendar.com/mcp","headers":[{"description":"Bearer <API key> from https://www.ufcalendar.com/account/api (free 1-day trial) — or leave empty to sign in with OAuth","isSecret":true,"name":"Authorization"}]}],"packages":[],"tools":[{"name":"create_webhook_endpoint","description":"Register an https endpoint to receive signed webhooks (event announced, fight result, card changed, event completed). The signing secret is returned ONCE — store it before the reply is discarded. At most 3 active endpoints per account.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","description":"https:// endpoint that will receive the signed POSTs."},"events":{"description":"Event kinds to subscribe to; omit for all of them.","type":"array","items":{"type":"string"}}},"required":["url"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"delete_webhook_endpoint","description":"Permanently remove one webhook endpoint from the calling account. Deliveries to it stop and its delivery history is dropped.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"endpoint_id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Endpoint id from list_webhook_endpoints."}},"required":["endpoint_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_broadcast_rights","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"org":{"type":"string","enum":["ufc","pfl","oktagon","bkfc","rizin"],"description":"Promotion slug."},"country":{"description":"ISO-3166 alpha-2 code; adds the worldwide row.","type":"string"}},"required":["org"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_champions","description":"Every current champion across the promotions the API covers, with the division and the snapshot date the board was published.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{}}},{"name":"get_event_card","description":"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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"event":{"type":"string","description":"Event slug (preferred) or numeric id."}},"required":["event"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_event_changes","description":"The audit trail for one card: bouts added or cancelled, opponents swapped, start times moved, fighter profiles merged — newest first.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"event":{"type":"string","description":"Event slug (preferred) or numeric id."}},"required":["event"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_fight","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"fight_id":{"type":"string","description":"Numeric bout id, as returned on an event card."},"include":{"description":"Extra blocks to fetch in the same call.","type":"array","items":{"type":"string","enum":["stats","rounds","scorecards"]}}},"required":["fight_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_fighter","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"fighter":{"type":"string","description":"Fighter slug (preferred) or numeric id."},"include":{"description":"Extra blocks to fetch in the same call.","type":"array","items":{"type":"string","enum":["history","stats","rankings","power_index"]}},"history_limit":{"description":"Cap the career timeline at the N most recent bouts.","type":"integer","minimum":1,"maximum":200}},"required":["fighter"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_judge_scorecards","description":"Every official card one judge has turned in, newest first: per-round points, card totals, decision type and point deductions. Commission records only.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"judge_id":{"type":"string","description":"Numeric judge id, from list_judges."},"limit":{"type":"integer","minimum":1,"maximum":100},"cursor":{"type":"string"}},"required":["judge_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_plans","description":"List the UFCalendar Fight API plans, their monthly request quotas and per-minute limits, and the terms of the no-card trial. Answers \"what does this cost\" without a credential.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{}}},{"name":"get_power_index","description":"The UFCalendar Power Index board for one promotion — our own rating engine, refreshed hourly, with peak rating and fights rated.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"org":{"type":"string","enum":["ufc","pfl","oktagon","bkfc","rizin"],"description":"Promotion slug."},"limit":{"type":"integer","minimum":1,"maximum":200}},"required":["org"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_predictions_upcoming","description":"UFCalendar model win probabilities for upcoming UFC bouts, corner-stamped so a probability is never shown against the wrong pair. Informational model output, not betting advice.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{}}},{"name":"get_rankings","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"org":{"type":"string","enum":["ufc","pfl","oktagon","bkfc","rizin"],"description":"Promotion slug."},"division":{"description":"One division, e.g. \"lightweight\". Omit for the whole board.","type":"string"},"date":{"description":"Read the board as it stood on this date, YYYY-MM-DD.","type":"string"},"board":{"description":"Board name; defaults to the official board.","type":"string"}},"required":["org"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_usage","description":"How many requests the calling account has used this month, the plan limit, the per-minute limit and when the counter resets.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{}}},{"name":"get_venue","description":"Fetch one venue by id: name, city, region, country, capacity, coordinates and IANA time zone.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"venue_id":{"type":"string","description":"Numeric venue id."}},"required":["venue_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"how_to_connect","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{}}},{"name":"list_events","description":"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. Cursor paginated.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"org":{"description":"Promotion slug, e.g. \"ufc\". Omit for every covered promotion.","type":"string","enum":["ufc","pfl","oktagon","bkfc","rizin"]},"status":{"description":"Filter by event status.","type":"string","enum":["announced","scheduled","live","completed","cancelled"]},"from":{"description":"Earliest event date, YYYY-MM-DD.","type":"string"},"to":{"description":"Latest event date, YYYY-MM-DD.","type":"string"},"order":{"description":"asc = soonest first (default for upcoming), desc = newest first.","type":"string","enum":["asc","desc"]},"limit":{"type":"integer","minimum":1,"maximum":100},"cursor":{"description":"meta.pagination.next_cursor from a previous call.","type":"string"}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"list_judges","description":"The judge directory with career aggregates: cards turned in, rounds scored, 10-8s, split cards and lone dissents. Filter by name, promotion or a minimum number of fights.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"q":{"description":"Name fragment.","type":"string"},"org":{"type":"string","enum":["ufc","pfl","oktagon","bkfc","rizin"]},"min_fights":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":100},"cursor":{"type":"string"}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"list_orgs","description":"List the promotions the UFCalendar Fight API covers, with per-org capability flags (stats, rounds, rankings, broadcasts, predictions, scorecards).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{}}},{"name":"list_webhook_endpoints","description":"List the signed webhook endpoints registered on the calling account, with the event kinds each one subscribes to.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{}}},{"name":"rotate_webhook_secret","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"endpoint_id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Endpoint id from list_webhook_endpoints."}},"required":["endpoint_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"search","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"q":{"type":"string","minLength":2,"description":"At least 2 characters."}},"required":["q"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"search_fighters","description":"Search the fighter roster by name, nationality or promotion. Cursor paginated. Returns identity fields; use get_fighter for the full record.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"q":{"description":"Name or nickname fragment.","type":"string"},"country":{"description":"ISO-3166 alpha-2 code or country name.","type":"string"},"org":{"description":"Only fighters who have fought for this promotion.","type":"string","enum":["ufc","pfl","oktagon","bkfc","rizin"]},"limit":{"type":"integer","minimum":1,"maximum":100},"cursor":{"type":"string"}},"$schema":"http://json-schema.org/draft-07/schema#"}}],"scan":{"score":89,"grade":"A","scanned_at":"2026-09-19T04:43:51.384Z","report":{"scannerVersion":"0.1.3","scannedAt":"2026-09-19T04:43:51.328Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 1560ms"]},"poisoning":{"score":15,"max":15,"notes":["23 tool descriptions checked"]},"auth":{"score":8,"max":15,"notes":["API key sent as a header"]},"maintenance":{"score":15,"max":15,"notes":["last push 0 days ago"]},"identity":{"score":9,"max":10,"notes":["registry namespace matches repository owner","website matches verified namespace"]}},"findings":[],"inputs":{"probes":[{"url":"https://api.ufcalendar.com/mcp","reachable":true,"authRequired":false,"latencyMs":1560,"serverInfo":{"name":"ufcalendar-fight-api","version":"1.0.0"}}],"packages":[],"repo":{"found":true,"owner":"UFCalendar","repo":"fight-api-skill","archived":false,"pushedAt":"2026-09-19T01:04:17Z","stars":0,"forks":0,"openIssues":0,"ownerType":"Organization","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/283217857?v=4","ownerCreatedAt":"2026-05-09T17:12:04Z","license":"MIT"},"icon":{"url":"https://www.ufcalendar.com/icon-512.png","source":"registry","width":512,"height":512},"presence":{"stars":0,"forks":0,"downloadsWeek":null,"license":"MIT","lastPushAt":"2026-09-19T01:04:17.000Z","score":23}}}},"grade_history":[],"reviews":[]}