Skip to main content
Glama
602,319 tools. Updated 2026-09-23 08:06

"Civo" matching MCP tools:

  • Upcoming matches/events for one game, with game-specific filters. When to use: - "What's on this week?" - Calendar UI; team next matches Prefer over: live_matches for not-yet-started fixtures. Do not use when: only in-progress matches needed → live_matches. Filter support (unsupported params are ignored with meta.warnings — do not assume filtering worked): - lol: hours, team (slug), league (slug) - cs2: team, from, to (ISO); hours not applied upstream - cod: team, tournamentId - dota2: limit/cursor primarily; team may be client-filtered where data allows - ufc: hours / from / to applied client-side after bout expansion (API has no hours); event shells labeled by event name; bouts use fighters[] corners Parallel-safe: yes. Upstream cost: 1–2. Example: { "game": "lol", "hours": 72, "team": "t1", "limit": 20 }
    ConnectorNo auth
  • Deep match package: optional timelines, advanced stats, live state/snapshots, full map/game tree, media inventory. When to use: - Analyst deep dive - Live in-game window (LoL/CS2/UFC) - Full demo list Prefer over match_summary only when summary is insufficient. Prefer match_summary for short answers and default cards. Do not use when: first-pass live board (use live_matches + match_summary). Section selection: pass includeTimeline / includeLiveState / includeAdvanced booleans, OR an explicit sections[] list. UFC betting lines: sections:["odds"] (opt-in, never in the default set). If sections[] is non-empty it wins (booleans are ignored). LoL liveState/advanced require gameId. Parallel-safe: yes. Upstream cost: 1–8 (section-gated). Example: { "game": "lol", "matchId": "lol-match-1", "includeTimeline": true, "includeLiveState": false }
    ConnectorNo auth
  • Team/org card: identity, roster, recent matches, and form/trends/radar when available. When to use: - Team page / "who is on this roster?" - Builder team screen sample Prefer over: separate roster + matches + detail via call_api. Do not use when: UFC fighters → player_profile; unknown name → resolve_entity first. Dota may return partial roster (API gap). Prefer slug for lol/cod; teamId for cs2. Parallel-safe: yes. Upstream cost: 2–4. Example: { "game": "lol", "slug": "t1", "recentLimit": 10 }
    ConnectorNo auth
  • 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 — the image host 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. Tennis: pass a tournament id/slug to get the draw bracket — rounds carry a round code (Q1..R128, QF, SF, F) with each match's players and score. Set is the primary tennis path here; there is no separate draw tool. Parallel-safe: yes. Upstream cost: 1–4. Example: { "game": "ufc", "eventIdOrSlug": "ufc-300", "includeMatches": true, "includeStandings": false }
    ConnectorNo auth
  • API reachability, API key validity, plan tier, rate-limit headers, and best-effort included games. When to use: - Once per session before heavy work - After 401/403/UNSUPPORTED_GAME/RATE_LIMIT - App scaffolding entitlement checks Prefer over: probing random game endpoints to test the key. Do not use when: you only need live scores — use live_matches. Parallel-safe: yes. Upstream cost: 1–6. Example: { "includeGameProbes": true }
    ConnectorNo auth
  • Natural-language / fuzzy query → best typed entity ID(s) + game (player, team, event, tournament, match, fighter). When to use: - User named an entity without an ID ("T1", "s1mple", "IEM Cologne", "Islam Makhachev") - Need a canonical id/slug before profile or match tools Prefer over search_entities when you want one best match (or small ranked set) to chain. Prefer search_entities when browsing many results with pagination. Do not use when: you already have a stable id/slug from a prior tool. Empty/ambiguous results still return ok:true with best=null or needsDisambiguation=true — pick from candidates or refine q/game/type. Does not emit AMBIGUOUS_ENTITY as a hard error. Parallel-safe: yes. Upstream cost: 1–5. Example: { "q": "T1", "game": "lol", "type": "team", "limit": 5 }
    ConnectorNo auth

Matching MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    An MCP server implementation that integrates with the Civo cloud platform API, providing capabilities to manage cloud instances, networks, and Kubernetes clusters.
    19
    4 npm
    3
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables querying livo.ge real estate listings through MCP, including search, listing details, geo lookups, reference dictionaries, and new development projects.
    7
    10 npm
    MIT

Matching MCP Connectors

  • Live and post-match esports data for agents. League of Legends (LEC, LCK, LPL, Worlds), UFC / MMA fight cards, fighter records, and live stats. Resolve teams and players, live matches, upcoming schedule, standings, match summaries, and head-to-head. Requires a Cito API key from https://citoapi.com/dashboard

  • Polymarket & Kalshi whale trades, ranked traders, backtesting and Autopilot. $15/mo.

  • Browse/search teams, players, tournaments, events, fighters with type filter and pagination. When to use: - Typeahead / pickers - "List teams matching…" - Exploring entities without committing to one ID - UFC fighter lookup by name/nickname (uses /ufc/search + client re-rank) Prefer over resolve_entity when the user wants a list. Prefer resolve_entity when chaining one name into a profile tool. Do not use when: fetching a known entity profile — use team_profile or player_profile. UFC: with q set, results are ranked (exact name > multi-token match > nickname). "Jon Jones" should return jon-jones first — never the generic P4P list. Parallel-safe: yes. Upstream cost: 1–3. Example: { "game": "ufc", "q": "Jon Jones", "type": "fighter", "limit": 10 }
    ConnectorNo auth
  • Live matches board across primary games, or a single game filter. Normalized labels, scores, and matchIds. When to use: - "What's live right now?" - Ops/dashboard live strip Prefer over: sequential per-game call_api live probes. Do not use when: user wants upcoming fixtures → upcoming_schedule; historical results → match_summary. CS2 live path is /cs2/live; UFC is included in multi-game fan-out. UFC empty board: section.note + emptyReason + health (workerAlive/lag) + optional supervisor/nextCard (non-live); never fake match items from events[]. Parallel-safe: yes. Upstream cost: 1–5 (allSettled). Example: { "game": "all", "limitPerGame": 10 }
    ConnectorNo auth
  • COMPOSITE pre-match briefing: sides, roster/form snippets, H2H stub, event context — for pick'ems, articles, and match-page before state. When to use: - Upcoming match deep link - "Who should I watch before this game?" - App scaffold for preview cards Prefer over: manually chaining team_profile ×2 + head_to_head + schedule. Prefer match_summary when match is completed; match_details for live in-game. Do not use when: user wants final score/recap of a finished match. Parallel-safe: yes. Upstream cost: 4–8. Tennis H2H accepts an optional surface filter (Hard, Clay, Grass). Example: { "game": "lol", "teamA": "t1", "teamB": "gen-g", "includeH2H": true, "recentLimit": 5 }
    ConnectorNo auth
  • Power escape hatch: allowlisted Cito REST call with unshaped raw JSON in data.raw. When to use: - Long-tail paths not yet curated (Fortnite, CS2 leaderboards, niche stats) - Debugging payloads while building an app - User explicitly knows an OpenAPI path Prefer curated tools for all standard jobs (live, schedule, profiles, standings, H2H, previews). Do not use when: a curated tool covers the outcome. Avoid parallel storms; same plan rate limits apply. Path must start with / and match allowlisted prefixes: /health, /lol, /cs2, /dota2, /cod, /ufc, /fortnite, /tennis. Rejects absolute URLs and path traversal → PATH_NOT_ALLOWED. Parallel-safe: yes but discouraged in bulk. Upstream cost: 1. Example: { "method": "GET", "path": "/cs2/rankings/teams", "queryJson": "{\"page\":1,\"limit\":20}" }
    ConnectorNo auth
  • Multi-player tennis head-to-head grid: every pair's series record in one comparison matrix. When to use: - Draw/field analysis: how each contender fares against every other (e.g. Alcaraz vs Zverev vs Sinner round-robin records) - Group-stage or semifinal-field comparisons Prefer over: N head_to_head calls for an N-player field; raw matrix via call_api. Do not use when: a two-player rivalry deep-dive with tiebreak/decider splits → head_to_head; season stat leaders → leaderboard_*; rankings → standings. Tennis-only. players takes 2-16 ids or names (names resolve via player search). Each matrix cell is "W-L" from the row player's perspective, "-" on the diagonal. Parallel-safe: yes. Upstream cost: 1 + one search per unresolved name.
    ConnectorNo auth
  • Tennis ranking movers: biggest climbers/fallers between the latest ATP/WTA list and its predecessor, plus new entries and drop-outs. When to use: - Who climbed or fell this week; new top-100 entrants; who dropped out. Prefer over: standings (latest snapshot only, no week-over-week delta); raw movers via call_api for agent-normalized rows. Do not use when: current top-N snapshot → standings with game tennis; player history → player_profile. Tennis-only. Direction up (climbers, default), down (fallers), or both (largest absolute change). Date pins an older ranking list (YYYY-MM-DD); default is the latest, which the API resolves past zero-diff cloned lists. The two lists are NOT always one week apart: previousDate is whatever the archive holds next, and the archive has holes. Read gapDays / comparisonWindow (and comparisonsAreWeekly) before describing a delta as weekly — a warning is raised whenever the gap exceeds ten days. Parallel-safe: yes. Upstream cost: 1.
    ConnectorNo auth
  • Tennis player ranking trajectory: every published ranking date for one player, plus career-high and weeks at No.1. When to use: - "Show Alcaraz's ranking over time"; career-high rank and when it was reached; how a player climbed; plotting a rank chart. Prefer over: standings (latest snapshot only); rankings_movers (week-over-week delta for a whole tour); player_profile (has career-high but no per-date series). Do not use when: the current top-N table → standings with game tennis. Tennis-only. Rows arrive oldest-first (chronological), which is the order a chart wants; the newest entries are the tail. limit keeps the most RECENT N rows (the route itself ignores ?limit=, so the bound is applied here) — hasMore and oldestReturned/newestReturned say exactly which window came back, and omittedOlder counts the rows left behind at the old end. Parallel-safe: yes. Upstream cost: 1.
    ConnectorNo auth
  • Tennis season break-points-saved leaderboard: Share of break points saved per player, from real match-stats aggregates, ordered highest pct first. When to use: - Share of break points saved per player, from real match-stats aggregates, ordered highest pct first. season tables; clutch/serve-efficiency leader queries. Prefer over: raw leaderboard via call_api for agent-normalized rows. Do not use when: ranking position → standings with game tennis; week-over-week movement → rankings_movers; one player's recent form → player_form. Tennis-only. Season defaults to 2026; tour (ATP|WTA) is optional — omit it for the combined board. Only players facing at least 50 break points qualify. Parallel-safe: yes. Upstream cost: 1.
    ConnectorNo auth
  • Tennis season first-serve-won leaderboard: Share of first-serve points won per player, from real match-stats aggregates, ordered highest pct first. When to use: - Share of first-serve points won per player, from real match-stats aggregates, ordered highest pct first. season tables; clutch/serve-efficiency leader queries. Prefer over: raw leaderboard via call_api for agent-normalized rows. Do not use when: ranking position → standings with game tennis; week-over-week movement → rankings_movers; one player's recent form → player_form. Tennis-only. Season defaults to 2026; tour (ATP|WTA) is optional — omit it for the combined board. Only players with at least 300 first serves in qualify. Parallel-safe: yes. Upstream cost: 1.
    ConnectorNo auth
  • Tennis season comeback-wins leaderboard: Share of matches won after losing the first set per player, from real first-set rows joined to completed matches, ordered highest pct first. When to use: - Share of matches won after losing the first set per player, from real first-set rows joined to completed matches, ordered highest pct first. season tables; clutch/serve-efficiency leader queries. Prefer over: raw leaderboard via call_api for agent-normalized rows. Do not use when: ranking position → standings with game tennis; week-over-week movement → rankings_movers; one player's recent form → player_form. Tennis-only. Season defaults to 2026; tour (ATP|WTA) is optional — omit it for the combined board. Only players with first-set data on at least 20 matches qualify. Parallel-safe: yes. Upstream cost: 1.
    ConnectorNo auth
  • Tennis tournament catalog: find tournaments by year, tour, level, surface, or country. When to use: - "Which ATP 500s are on clay in 2026?"; "list the WTA 1000 events"; "what Grand Slams are in 2026?"; finding a tournament id before calling event_card. Prefer over: event_card when you do NOT already have a tournament id (event_card needs one); call_api for /tennis/tournaments. Do not use when: the draw bracket or a specific edition → event_card with the id this returns; the season calendar by month → event_card. Tennis-only. Levels accept names (Grand Slam, WTA 1000, ATP 500, Challenger, ITF World Tennis Tour, Davis Cup, ...) or raw tier codes (G, M, A, C, D). A level name that starts with ATP or WTA also fixes the tour (and conflicts with a contradicting tour= argument are rejected), so "WTA 1000" cannot return ATP Masters events even though the upstream filter is not tour-aware. Note the source does not separate ATP 500 from ATP 250 — both are ATP Tour. Parallel-safe: yes. Upstream cost: 1.
    ConnectorNo auth
  • One day of tennis: the day's schedule and/or the matches completed that day, across ATP and WTA. When to use: - "What tennis is on today?"; a specific day's fixtures; results completed on a given date; building a daily digest. Prefer over: call_api for /tennis/schedule and /tennis/matches/completed (both require ?date=, which this tool supplies and validates); live_matches (in-progress only, right now); upcoming_schedule (a forward window, not a specific day). Do not use when: matches currently in play → live_matches; a named player's history → player_matches. Tennis-only. 'date' defaults to today (UTC) and MUST be YYYY-MM-DD. Choose with 'include': both (default), scheduled, or completed. Both halves are fetched in parallel, so either can fail on its own without losing the other. 'limit' bounds EACH half (the completed route ignores ?limit= upstream, so the bound is applied here); scheduledCount/completedCount report how many rows the day held and *Returned how many came back. The two halves overlap: the day's list includes matches already played, so the same matchId can appear in both — see the overlap block before de-duplicating or counting. Parallel-safe: yes. Upstream cost: 1 or 2.
    ConnectorNo auth
  • Curated catalog of cito-mcp tools, games, jobs, and builder recipes. When to use: - Session start or "what can you do?" - Mapping app screens to tools - Filtering by game or job (live_board, match_page, team_page, player_form, standings, h2h, schedule, preview, event_card, app_scaffold) Prefer over: guessing from memory; exploring raw OpenAPI via call_api. Do not use when: you already know the tool and have IDs — call that tool directly. Parallel-safe: yes. Upstream cost: 0. Example: { "game": "cs2", "job": "live_board", "includeExamples": true }
    ConnectorNo auth
  • Composed head-to-head record between two teams, two UFC fighters, or two tennis players. No first-class REST H2H exists — this tool filters match history server-side. When to use: - Rivalry / series record questions - Supporting context for previews Prefer over: agent-side double match-list filtering. Do not use when: single-side form only → team_profile or player_profile. Caveat: Dota filters are weaker; expect meta.warnings when data is sparse. Parallel-safe: yes. Upstream cost: 2–4. Example: { "game": "cs2", "sideA": "faze", "sideB": "navi", "limit": 20 }
    ConnectorNo auth
  • League/event standings or world/division rankings normalized to ranked rows. When to use: - Table / playoff picture - UFC rankings; CS2 world or event standings; CDL standings; LoL league/tournament tables Prefer over: raw standings via call_api for agent-normalized rows. Do not use when: single team form → team_profile; live scores → live_matches. Dota has no first-class standings (may NOT_IMPLEMENTED or weak worldRanking). Required scope keys by game: - lol: leagueId OR tournamentId - cs2: omit for world rankings; eventId for event standings - cod: optional season/stage - ufc: optional division (scope=division) - tennis: optional division (ATP or WTA tour; default ATP) - dota2: best-effort worldRanking only Parallel-safe: yes. Upstream cost: 1–2. Example: { "game": "cod", "season": "2026", "limit": 50 }
    ConnectorNo auth