Skip to main content
Glama
DanielTomaro13

sportsdata-mcp

pandascore_matches

Read-onlyIdempotent

Get esports matches for any title, filtered by status (upcoming, running, finished), game, or date range, with sorting and pagination.

Instructions

Matches across every title, or one — upcoming, running or past.

Returns: [{id, name, slug, status, begin_at, end_at, number_of_games, opponents:[{type, opponent:{id, name, acronym, image_url}}], results:[{team_id, score}], league:{id, name}, serie, tournament, videogame, winner_id, live:{supported, url}}] (top-level array; totals in X-Total header) — SHAPE FROM VENDOR DOCS. Note opponents wraps each team under an opponent key.

NOTE: this shape is from the vendor's documentation and has NOT been verified against a live response (we hold no key for this provider). Treat it as approximate — inspect the actual payload before relying on a field name.

Example: Upcoming CS2 matches {"filter_videogame": "csgo", "filter_status": "not_started"}

Auth: needs your own key in PANDASCORE_TOKEN.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNoPage number.
sortNoSort field; prefix with '-' to reverse, e.g. -begin_at.
per_pageNoPage size (max 100).
filter_statusNoMatch state. One of: not_started, running, finished, canceled, postponed.
range_begin_atNoISO date range as 'from,to'.
filter_videogameNoTitle slug, e.g. csgo, dota2, lol.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds significant context beyond the annotations: it discloses the return shape (top-level array, X-Total header), warns that the shape is from vendor docs and not verified against live responses, and notes the auth requirement (PANDASCORE_TOKEN). It also highlights a subtle field wrapping ('opponents' wraps teams under 'opponent' key). This is far more than annotations alone provide and is honest about reliability.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact, front-loaded with purpose, and every sentence contributes value: the return shape, the unverified caveat, the example, and the auth note. There is no fluff or redundancy; the warning about vendor docs is especially useful and concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given there is no output schema, the description compensates by providing a detailed return shape, pagination header info, filterable statuses, an example, auth requirements, and a reliability caveat. It covers what the agent needs to select and invoke the tool correctly, including how to interpret the response and what to expect.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema covers 100% of parameters with descriptions, so the baseline is 3. The description's example demonstrates how to combine filter_videogame and filter_status, but it doesn't add meaning beyond the schema (the schema already explains 'csgo' is a title slug). The parameter descriptions in the schema are sufficient, and the example is more of a usage guideline than parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'Matches across every title, or one — upcoming, running or past', which clearly identifies the resource (matches), the scope (all titles or one) and status filter. It distinguishes itself from sibling pandascore tools (e.g., pandascore_videogames, pandascore_tournaments) by focusing specifically on match listings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The example 'Upcoming CS2 matches' with filter_videogame and filter_status provides a concrete use-case, and the description states it can return matches across all titles or a single one. However, it does not explicitly mention when to use this tool versus related alternatives like pandascore_match_odds or other sports match endpoints, so it lacks explicit exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/DanielTomaro13/sportsdata-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server