event_card
COMPOSITE event / fight-night card: identity, bout or match list, optional standings snippet.
When to use:
UFC fight night / numbered event page ("UFC 300 card", "Fight Night")
CS2 event hub with match list
Tournament/event overview before match_preview drill-down
Bouts come back in card order — main event first, then prelims, then early prelims. Each bout carries weightClass, titleBout, card placement, and (once fought) result { method, round, time, referee, winnerSlug }. Each corner carries images { headshotUrl, bodyImageUrl, imageUrl, proxiedImageUrl }, record, nickname, rank, championStatus, country and flag when upstream supplies them. Use proxiedImageUrl in browsers — ufc.com sends no CORS header. You do not need call_api per fighter for faces.
Prefer over: agent-side resolve + call_api /ufc/events + bout expansion; N+1 match_summary for the card list only; per-fighter call_api just to fetch headshots.
Prefer match_preview for one bout/match briefing; match_summary for completed recaps; live_matches for live-only strips; standings alone for pure tables.
Do not use when: you only need live scores (live_matches); single finished match recap (match_summary); no event name/id yet and game unknown.
Parallel-safe: yes. Upstream cost: 1–4. Example: { "game": "ufc", "eventIdOrSlug": "ufc-300", "includeBouts": true, "includeStandings": false }
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Free-text event name when id/slug unknown. Example: "UFC 300". Resolves within this tool — still prefer resolve_entity when disambiguating many hits. | |
| game | Yes | Game title: lol | cs2 | dota2 | cod | ufc | tennis. Example: "cs2". | |
| limit | No | Max bouts/matches on the card (default 20, max 50). | |
| includeBouts | No | Include bout/match list (default true). | |
| eventIdOrSlug | No | Event or tournament id/slug. Prefer over q when known. Required unless q is given. Example: "ufc-300". | |
| includeStandings | No | Include standings/rankings snippet when API supports event/tournament/division scope (default false). For UFC this also joins divisional rank and movement onto each bout corner as team.rank / team.rankMovement — bout rows themselves carry no rank. Costs one extra upstream call. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ok | Yes | true if the tool succeeded | |
| data | No | Result payload when ok is true; null on error | |
| meta | Yes | ||
| error | No | ||
| partial | No | ||
| pagination | No |