The whole card stays
in Cito.

Bouts, winners, and totals as each fight ends. Live is one bout. The card is the night.

  • Claude
  • OpenAI
  • Cursor
  • Grok
  • Gemini
  • Copilot
  • Perplexity
  • Mistral
  • DeepSeek
  • Windsurf
  • Cline
  • Ollama
  • OpenRouter
  • LangChain

Ask Claude for tonight's card.
It loads the actual bouts.

One install. Claude, Cursor, Codex, or Grok resolve the event, then expand winners and totals. The agent does not invent fight IDs.

How MCP works
cito-mcpModel Context Protocol serverConnected · 100+ tools

Tools your agent can call

  • live_matchesWho is fighting right now
  • event_cardTonight's card, main event first
  • match_summaryResult, method, and fight totals
  • player_profileFighter form, record, and images
  • head_to_headThe record between two fighters
  • standingsDivision rankings and champions
  • upcoming_scheduleThe next events on the calendar
  • resolve_entityA name to a typed Cito ID
npx cito-mcp install --key YOUR_KEYThe key stays on your machine.

Here is the sample.
This is the card.

Load the event, then the bout list, then stats for fights that already ended. Winners and totals stay after the next fight starts. That is the loop MMA apps actually run all night.

Event docs
200 · 142 ms
{
  "liveBouts": [{
    "boutId": "b_8f21c4",
    "status": "live", "round": 2, "clock": "3:12",
    "liveStats": {
      "red": { "sigStrikes": 5, "takedowns": 1, "control": "1:48" },
      "blue": { "sigStrikes": 2, "takedowns": 0, "control": "0:22" }
    }
  }]
}
  • Event one slug for the whole Fight Night
  • Bouts winners, method, round, and time
  • Stats strike and takedown totals that stay

Do not only poll live.
Live is one fight.

The live path is the bout happening now. When the next fight starts, those live totals are gone. Keep the card for everything that already ended. Use live with the card, not instead of it.

Live API

Four calls.
The whole night.

Events for the calendar. Bouts for the order. Stats for finished fights. Live only for the one that is on.

UFC docs
  1. events

    Upcoming, live, and historical cards.

    GET /api/v1/ufc/events
  2. events/{slug}/bouts

    The bout list: winners, method, round, and time.

    GET /api/v1/ufc/events/{slug}/bouts
  3. events/{slug}/stats

    Strike and takedown totals for finished fights on that card.

    GET /api/v1/ufc/events/{slug}/stats
  4. live

    The fight happening right now. Use this with the card, not instead of it.

    GET /api/v1/ufc/live

The questions that stop a key

How do I load a fight card?

Ask for the event, then the bout list, then stats for fights that already ended. Winners and totals stay on the card after the next fight starts.

Why not only poll the live fight?

Live is only the current bout. When the next fight starts, those live totals are gone. The card stats path keeps finished-fight numbers.

Can my agent load tonight's card?

Yes. Install Cito MCP, then ask for the UFC card. The agent resolves the event and expands the bouts. It does not invent fight IDs.

Are you affiliated with the UFC?

No. Cito API is an independent data aggregator and is not affiliated with, endorsed by, or licensed by the UFC, Zuffa, TKO Group, Endeavor, Riot Games, Valve, Activision, Epic Games, or any other league, promotion, or rights holder. Data is compiled from publicly accessible sources and is not an official or rights-cleared feed. See our Terms of Service.

Take the sample.
Load tonight's card.

The key is free to try. If you ship a commercial MMA product, that is Pro at $59.