# TheRundown Data MCP (io.github.TheRundown/data): tool descriptions scored

- tools/list taken: 2026-11-02 (UTC)
- From: [Official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers/io.github.TheRundown%2Fdata/versions/latest)
- Connected to: https://mcp.therundown.io/mcp
- Homepage: https://docs.therundown.io/data-mcp
- Repository: https://github.com/TheRundown/data-mcp
- Scoring rules: v2
- Tools: 85
- Average: 61.4 / 100 (Cloudy)
- Near-identical pairs: 205

This page shows how TheRundown Data MCP (io.github.TheRundown/data)'s tool descriptions scored, the issues found and the names of its tools and parameters. The descriptions are the server's own: read them where the copy came from.

Forecall asked the URL this server lists in the official MCP Registry for its tools/list once, on the date above, without calling any tool. The server may have changed since.

## Across the server

- Major: 85 tools. Above 40, models choose less accurately.
- Minor: 205 pairs with nearly the same description in all; the top 12 are shown.
- Critical: These tools share the same description: v2GetTeamsBySport, v1GetTeamsBySport.
- Critical: These tools share the same description: v2GetDatesBySportID, v1GetDatesBySport.
- Critical: These tools share the same description: v2GetDivisionsBySport, v1GetDivisionsBySport.
- Critical: These tools share the same description: v2GetConferencesBySport, v1GetConferencesBySport.
- Critical: These tools share the same description: v2GetSeasonTypes, v1GetSeasonTypes.
- Critical: These tools share the same description: v2GetParlayBook, v2GetBestParlayBook.
- Major: 75 tools repeat the same note (40 words). Say it once in the server's instructions, and let each description say what only that tool does. The note does not count toward the tools' scores.
- Minor: The server's instructions are 3824 characters. Claude Code reads only the first 2,048 by default (Codex 0.154.0 reads them whole). Put what the server is for first.

## Tools

- `v1GetAffiliates`: 38 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: query, query.include.
  - Minor: No `required` list, so every argument is optional.
- `v1GetSportsbooks`: 38 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: query, query.include.
  - Minor: No `required` list, so every argument is optional.
- `v1GetByLineID`: 41 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: path, path.eventId, path.lineId, query, query.include.
  - Minor: The description mentions none of its 3 or more arguments.
- `v1GetSpreads`: 41 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: path, path.id, query, query.include.
  - Minor: The description mentions none of its 3 or more arguments.
- `v2GetPlayerByID`: 41 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: path, path.playerID.
- `v2GetSportsbooks`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: query, query.include.
  - Minor: No `required` list, so every argument is optional.
- `v1GetMoneylines`: 45 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: path, query, query.include.
  - Minor: The description mentions none of its 3 or more arguments.
- `v1GetTeamTotals`: 45 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: path, path.id, query, query.include.
  - Minor: The description mentions none of its 3 or more arguments.
- `v1GetTotals`: 45 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: path, path.id, query, query.include.
  - Minor: The description mentions none of its 3 or more arguments.
- `v2GetPublicTournament`: 45 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: path, path.tournament.
- `v1GetScheduleBySport`: 48 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: path, query, query.limit, query.season_year, query.season_type_id, query.from, query.team_id, query.sort, query.conference_id, query.division_id.
  - Minor: The description mentions none of its 3 or more arguments.
- `v2GetAllStats`: 48 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: query.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The description mentions none of its 3 or more arguments.
- `v1GetConferencesBySport`: 49 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: path.
- `v1GetDivisionsBySport`: 49 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: path.
- `v1GetTeamsBySport`: 49 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: path.
- `v2GetConferencesBySport`: 49 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: path.
- `v2GetDivisionsBySport`: 49 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: path.
- `v2GetPlayersByTeam`: 49 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: path.
- `v2GetTeamByID`: 49 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: path.
- `v2GetTeamsBySport`: 49 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: path.
- `capture_live_stream`: 50 / 100
  - Major: Arguments without a description: subscriptions, subscriptions[].id, subscriptions[].channel, subscriptions[].params, subscriptions[].params.sport_ids, subscriptions[].params.event_ids, subscriptions[].params.market_ids, subscriptions[].params.affiliate_ids, subscriptions[].params.main_line, subscriptions[].params.sources, subscriptions[].params.min_percent, subscriptions[].params.include_live, subscriptions[].params.include_links, subscriptions[].params.date, subscriptions[].params.offset, subscriptions[].params.snapshot, subscriptions[].params.participant_ids, subscriptions[].params.participant_type, subscriptions[].params.hide_no_markets, subscriptions[].params.event_status, subscriptions[].params.exclude_status, subscriptions[].params.limit, subscriptions[].params.before_sequence, subscriptions[].params.after_sequence, subscriptions[].params.resume, subscriptions[].params.resume.plays, actions, actions[].action, actions[].id, actions[].params, actions[].params.sport_ids, actions[].params.event_ids, actions[].params.market_ids, actions[].params.affiliate_ids, actions[].params.main_line, actions[].params.sources, actions[].params.min_percent, actions[].params.include_live, actions[].params.include_links, actions[].params.date, actions[].params.offset, actions[].params.snapshot, actions[].params.participant_ids, actions[].params.participant_type, actions[].params.hide_no_markets, actions[].params.event_status, actions[].params.exclude_status, actions[].params.limit, actions[].params.before_sequence, actions[].params.after_sequence, actions[].params.resume, actions[].params.resume.plays, duration_ms, max_frames.
  - Minor: The meaning of the boolean argument subscriptions[].params.main_line is unclear.
  - Minor: The meaning of the boolean argument subscriptions[].params.include_live is unclear.
  - Minor: The meaning of the boolean argument subscriptions[].params.include_links is unclear.
  - Minor: The meaning of the boolean argument subscriptions[].params.snapshot is unclear.
  - Minor: The meaning of the boolean argument subscriptions[].params.hide_no_markets is unclear.
  - Minor: The meaning of the boolean argument actions[].params.main_line is unclear.
  - Minor: The meaning of the boolean argument actions[].params.include_live is unclear.
  - Minor: The meaning of the boolean argument actions[].params.include_links is unclear.
  - Minor: The meaning of the boolean argument actions[].params.snapshot is unclear.
  - Minor: The meaning of the boolean argument actions[].params.hide_no_markets is unclear.
- `list_markets`: 51 / 100
  - Major: Arguments without a description: sport_id, date, live, page, limit.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The meaning of the boolean argument live is unclear.
- `v2GetPlayerStatsByTeam`: 51 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: path, path.teamID, query, query.season_type.
  - Minor: The description mentions none of its 3 or more arguments.
- `v1GetDelta`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: query, query.sport_id, query.include.
  - Minor: The description mentions none of its 3 or more arguments.
- `v2GetTeamStats`: 53 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: path, path.teamID, query.
  - Minor: The description mentions none of its 3 or more arguments.
- `v1GetDeltaV2`: 54 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: query, query.last_id, query.sport_id.
  - Minor: The description mentions none of its 3 or more arguments.
- `capture_market_stream`: 55 / 100
  - Major: Arguments without a description: filters, filters.sport_ids, filters.event_ids, filters.market_ids, filters.affiliate_ids, filters.main_line, duration_ms, max_frames.
  - Minor: The meaning of the boolean argument filters.main_line is unclear.
- `v1GetClosingBySportAndDate`: 55 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: path, path.date, query, query.conference_id, query.division_id, query.exclude_status, query.include.
  - Minor: The description mentions none of its 3 or more arguments.
- `v1GetOpenersBySportAndDate`: 55 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: path, path.date, query, query.conference_id, query.division_id, query.exclude_status, query.include.
  - Minor: The description mentions none of its 3 or more arguments.
- `v1GetEventByID`: 56 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: path, path.eventId, query.
  - Minor: The description mentions none of its 3 or more arguments.
- `v1GetSeasonTypes`: 56 / 100
  - Major: Says nothing about when to use it, or when not to.
- `v1GetSports`: 56 / 100
  - Major: Says nothing about when to use it, or when not to.
- `v2GetSeasonTypes`: 56 / 100
  - Major: Says nothing about when to use it, or when not to.
- `v1GetEventsBySportAndDate`: 57 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: path, path.date, query, query.conference_id, query.division_id, query.include.
  - Minor: The description mentions none of its 3 or more arguments.
- `v2GetBestParlayBook`: 57 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: body.legs, body.legs[].event_id, body.legs[].market_id, body.legs[].period_id, body.legs[].participant_id, body.legs[].participant_type, body.legs[].market_participant_id, body.legs[].line, body.legs[].include_alternates, body.affiliate_ids, body.limit.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: The meaning of the boolean argument body.legs[].include_alternates is unclear.
- `v2GetHedgeOpportunities`: 57 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: query, query.limit, query.offset, query.event_id, query.market_id, query.min_percent, query.include_closed, query.include_live, query.sort.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: The meaning of the boolean argument query.include_closed is unclear.
  - Minor: The meaning of the boolean argument query.include_live is unclear.
- `v2GetParlayBook`: 57 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: body.legs, body.legs[].event_id, body.legs[].market_id, body.legs[].period_id, body.legs[].participant_id, body.legs[].participant_type, body.legs[].market_participant_id, body.legs[].line, body.legs[].include_alternates, body.affiliate_ids, body.limit.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: The meaning of the boolean argument body.legs[].include_alternates is unclear.
- `v2GetTopHedgeOpportunities`: 57 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: query, query.limit, query.offset, query.event_id, query.market_id, query.min_percent, query.include_closed, query.include_live, query.sort.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: The meaning of the boolean argument query.include_closed is unclear.
  - Minor: The meaning of the boolean argument query.include_live is unclear.
- `v1GetBestLineMulti`: 58 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: query, query.period.
  - Minor: The description mentions none of its 3 or more arguments.
- `v2GetMarketsBySportAndDate`: 58 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: path, path.date, query.
  - Minor: The description mentions none of its 3 or more arguments.
- `get_main_lines`: 59 / 100
  - Minor: Arguments without a description: page, limit.
  - Minor: Required identifiers whose description does not say where the value comes from: event_id. Name the tool or the place that returns it, or models look it up first.
- `v1GetDatesBySport`: 59 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: path, query.
  - Minor: The description mentions none of its 3 or more arguments.
- `v2GetDatesBySportID`: 59 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: path, query.
  - Minor: The description mentions none of its 3 or more arguments.
- `v2GetOpeningPricesByEvent`: 59 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: path, query.
  - Minor: The description mentions none of its 3 or more arguments.
- `v2GetPlayerStatsByEvent`: 59 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: path, query.
  - Minor: The description mentions none of its 3 or more arguments.
- `v2GetStatsByEvent`: 59 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: path, query.
  - Minor: The description mentions none of its 3 or more arguments.
- `v2GetMarketLinePriceHistory`: 60 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: query, query.limit.
  - Minor: The description mentions none of its 3 or more arguments.
- `v2GetHedgeOpportunitiesByEvent`: 61 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: path, query, query.limit, query.offset, query.market_id, query.min_percent, query.include_closed, query.include_live, query.sort.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: The meaning of the boolean argument query.include_closed is unclear.
  - Minor: The meaning of the boolean argument query.include_live is unclear.
- `capture_hedge_stream`: 62 / 100
  - Major: Arguments without a description: filters, filters.event_ids, filters.affiliate_ids, filters.sources, filters.min_percent, filters.include_live, filters.include_links, duration_ms, max_frames.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: The meaning of the boolean argument filters.include_live is unclear.
  - Minor: The meaning of the boolean argument filters.include_links is unclear.
- `v2GetMarketsByDate`: 63 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: path, path.date, query.
  - Minor: The description mentions none of its 3 or more arguments.
- `list_events`: 64 / 100
  - Minor: Arguments without a description: sport_id, page, limit.
  - Minor: Required identifiers whose description does not say where the value comes from: sport_id. Name the tool or the place that returns it, or models look it up first.
- `capture_v1_stream`: 65 / 100
  - Major: Arguments without a description: filters, filters.sport_ids, filters.event_ids, filters.affiliate_ids, filters.date, duration_ms, max_frames.
  - Minor: The description mentions none of its 3 or more arguments.
- `v2GetDatesBySportIDs`: 65 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: query.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The description mentions none of its 3 or more arguments.
- `v2GetBestLineByEvent`: 66 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: path, query.
  - Minor: The description mentions none of its 3 or more arguments.
- `v2GetSteamersBySportAndDate`: 66 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: path, query.
  - Minor: The description mentions none of its 3 or more arguments.
- `list_sports`: 67 / 100
- `v2GetBestOddsBySportAndDate`: 67 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: path, query, query.offset.
  - Minor: The description mentions none of its 3 or more arguments.
- `v2GetEventByID`: 67 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: path, query.
  - Minor: The description mentions none of its 3 or more arguments.
- `v2GetOutliersBySportAndDate`: 67 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: path, query.
- `v2GetSports`: 67 / 100
  - Major: Says nothing about when to use it, or when not to.
- `v2GetBestOddsByEvent`: 68 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: path, query.
  - Minor: The description mentions none of its 3 or more arguments.
- `v2GetOutliers`: 68 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: query.
- `v2GetSteamers`: 68 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: query.
- `v2GetAvailableMarketsByEvent`: 69 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: path, query.
  - Minor: The description mentions none of its 3 or more arguments.
- `v2GetBestOdds`: 69 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: query.
- `list_affiliates`: 70 / 100
- `v2GetAffiliates`: 70 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: query.
  - Minor: No `required` list, so every argument is optional.
- `v2GetAllMarkets`: 70 / 100
  - Major: Says nothing about when to use it, or when not to.
- `v2GetEventsByDate`: 71 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: path, path.date, query.
  - Minor: The description mentions none of its 3 or more arguments.
- `list_futures`: 73 / 100
  - Major: Arguments without a description: sport_id, limit, cursor, include_settled.
  - Minor: The meaning of the boolean argument include_settled is unclear.
  - Minor: Required identifiers whose description does not say where the value comes from: sport_id. Name the tool or the place that returns it, or models look it up first.
- `v2GetHedgeOpportunityByID`: 73 / 100
  - Minor: Arguments without a description: path, query.
  - Minor: The description mentions none of its 3 or more arguments.
- `v2GetDelta`: 76 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: query.
  - Minor: The description mentions none of its 3 or more arguments.
- `v2GetOpenersBySportAndDate`: 76 / 100
  - Minor: Arguments without a description: path, path.date, query.
  - Minor: The description mentions none of its 3 or more arguments.
- `v2GetMarketHistoryByEvent`: 77 / 100
  - Minor: Arguments without a description: path, query.
  - Minor: The description mentions none of its 3 or more arguments.
- `v2GetPlaysByEvent`: 79 / 100
  - Minor: Arguments without a description: path, query.
  - Minor: The description mentions none of its 3 or more arguments.
- `v2GetStatsSample`: 80 / 100
- `v2GetClosingBySportAndDate`: 81 / 100
  - Minor: Arguments without a description: path, path.date, query.
  - Minor: The description mentions none of its 3 or more arguments.
- `v2GetMarketLineHistoryByEvent`: 82 / 100
  - Minor: Arguments without a description: path, query.
  - Minor: The description mentions none of its 3 or more arguments.
- `v2GetMarketsParticipants`: 82 / 100
  - Minor: Arguments without a description: query.
  - Minor: The description mentions none of its 3 or more arguments.
- `v2GetEventClosing`: 86 / 100
  - Minor: Arguments without a description: path, query.
  - Minor: The description mentions none of its 3 or more arguments.
- `v2GetEventOpeners`: 86 / 100
  - Minor: Arguments without a description: path, query.
  - Minor: The description mentions none of its 3 or more arguments.
- `v2GetFuturesEventByID`: 90 / 100
  - Minor: Arguments without a description: path, query.
  - Minor: The description mentions none of its 3 or more arguments.
- `v2GetMarketsDelta`: 91 / 100
  - Minor: Arguments without a description: query, query.limit.
  - Minor: The description mentions none of its 3 or more arguments.
- `v2GetFuturesForSport`: 92 / 100
  - Minor: Arguments without a description: path, query.
  - Minor: The description mentions none of its 3 or more arguments.
- `v2GetEventsBySportAndDate`: 97 / 100
  - Minor: Arguments without a description: path, path.date, query.
  - Minor: The description mentions none of its 3 or more arguments.

Is your server listed here and you would rather it were not? Email support@forecall.dev, and we will take it off within 7 days.

[All scored servers](https://forecall.dev/en/servers)
