Skip to main content
Glama
arturogarrido

mcp-claudinho

Next fixture for a team

get_next_fixture
Read-only

Get a team's next match using a 3-letter code, reading live knockout ties and falling back to the bundled schedule if needed.

Instructions

A team's next match, live-resolved: a confirmed knockout tie (Round of 32 onward) is read from the live overlay, group fixtures from the bundled schedule. Use a 3-letter code, e.g. MEX, BRA, USA. Falls back to the bundled schedule if the provider is unreachable.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tzNoIANA timezone for kickoff times, e.g. America/Mexico_City
langNoLocale for dates, provider attribution, and commentary: en, es, pt, fr (the summary scaffold stays English; other locales fall back to en)
teamYes3-letter team code, e.g. MEX
flavorNoCommentary flair: off, subtle, full (default: full)

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
teamYes
sourceYes
fixtureYes
degradedYes
responseTruncatedNo
responseTruncationNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.10.0
    • addedOutput schema / properties / responseTruncated
      Added value: +{
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / responseTruncation
      Added value: +{
      +  "type": "string"
      +}
  2. Changed2 schema fields changedv0.9.0
    • changedInput schema / properties / lang / description
      Previous value: -"Locale for formatting: en, es, pt, fr (other locales fall back to en)"New value: +"Locale for dates, provider attribution, and commentary: en, es, pt, fr (the summary scaffold stays English; other locales fall back to en)"
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": false,
      +  "properties": {
      +    "degraded": {
      +      "type": "boolean"
      +    },
      +    "fixture": {
      +      "anyOf": [
      +        {
      +          "additionalProperties": true,
      +          "properties": {
      +            "away": {
      +              "$ref": "#/properties/fixture/anyOf/0/properties/home"
      +            },
      +            "group": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "home": {
      +              "additionalProperties": true,
      +              "properties": {
      +                "code": {
      +                  "type": "string"
      +                },
      +                "flag": {
      +                  "type": "string"
      +                },
      +                "name": {
      +                  "type": "string"
      +                }
      +              },
      +              "type": "object"
      +            },
      +            "id": {
      +              "type": "string"
      +            },
      +            "kickoff": {
      +              "type": "string"
      +            },
      +            "minute": {
      +              "type": [
      +                "number",
      +                "null"
      +              ]
      +            },
      +            "score": {
      +              "anyOf": [
      +                {
      +                  "additionalProperties": true,
      +                  "properties": {
      +                    "away": {
      +                      "type": "number"
      +                    },
      +                    "home": {
      +                      "type": "number"
      +                    }
      +                  },
      +                  "type": "object"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "shootout": {
      +              "$ref": "#/properties/fixture/anyOf/0/properties/score/anyOf/0"
      +            },
      +            "stage": {
      +              "type": "string"
      +            },
      +            "status": {
      +              "type": "string"
      +            },
      +            "venue": {
      +              "type": "string"
      +            },
      +            "winnerCode": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "id"
      +          ],
      +          "type": "object"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "source": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "team": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "team",
      +    "fixture",
      +    "degraded",
      +    "source"
      +  ],
      +  "type": "object"
      +}
  3. First observedv0.1.0

TDQS

A4.1/5.0
Behavior5/5

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

Beyond the readOnlyHint and openWorldHint annotations, the description discloses meaningful behavior: confirmed knockout ties are read from the live overlay, group fixtures come from the bundled schedule, and there is a fallback if the provider is unreachable. This adds real context about external dependencies and failure modes.

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?

Three concise sentences front-load the core purpose, then cover required input format and fallback behavior. There is no filler or repetition of the title or schema.

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?

The description covers purpose, data source selection, fallback behavior, and the required input format. An output schema exists, so return-value details are not the description's responsibility, and the parameter details are fully covered by the input schema.

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?

Schema description coverage is 100%, and each parameter already has a meaningful description. The tool description only reinforces the 3-letter code with examples like MEX, BRA, USA, adding marginal value beyond the schema.

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

Purpose4/5

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

The description opens with 'A team's next match, live-resolved', giving a clear verb+resource and distinguishing it from generic match or today listings. It adds source nuance by separating knockout ties from group fixtures, though it never names sibling tools to draw an explicit contrast.

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

Usage Guidelines3/5

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

The description clearly instructs the caller to use a 3-letter team code and explains the data-source behavior, but it does not state when to choose this tool over get_match or get_today. Usage is implied rather than explicitly routed against alternatives.

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