Skip to main content
Glama

Shareable match snippet

get_share_snippet
Read-only

Generate a ready-to-paste match card snippet plus structured data for a match, team fixture, standings table, bracket, date, or live matches.

Instructions

A polished, copy-pasteable card (plain text) for a match (matchId), a team's next fixture (team), one standings table (group: a table key, e.g. "A", "A1", "A-B" or "LEAGUE"), the knockout bracket (bracket: true), a date (default: today), or live matches (live: true). Returns the ready-to-paste snippet plus structured data: hand the snippet text to the user verbatim. marketComplete:false is stated inside the card as an incomplete optional read; partial (on any match card, live and date included) is stated inside the card too: the provider sent records that could not be used. Off the World Cup a next card names the club resolved, and an empty card says the span searched (horizon, window) or that the competition is between editions. No links; it carries a non-affiliation disclaimer, and any market line stays informational only.

Input Schema

NameRequiredDescriptionDefault
tzNoIANA timezone for kickoff times, e.g. America/Mexico_City
dateNoDate as YYYY-MM-DD (default: today)
langNoLocale for dates, list titles, match status and stage words, a match timeline's kind words (Goal, Yellow card…), the empty and outage sentences, provider attribution, and commentary: en, es, pt or fr (no other value is supported). Without it, or when it is empty, the server's CLAUDINHO_LANG when that is exactly one of the four, else en. The market copy, a few notes and the disclaimer stay English
liveNoSnapshot of matches in play right now
teamNoA team name or code for that team's next fixture: a club (Arsenal) or a nation (MEX)
groupNoTable key for a standings card: a group letter (A), or A1, A-B, LEAGUE
styleNosocial (default, full card) or compact (one line per match)
flavorNoCommentary flair: off, subtle, full (default: full)
bracketNoKnockout bracket card (use with optional knockoutStage)
matchIdNoMatch id (most specific)
competitionNoThe competition: an alias such as premier-league, or an ESPN slug such as eng.1 (list_competitions lists the aliases). Without it: the server's CLAUDINHO_COMPETITION, else the user's saved choice (claudinho follow); with none, the answer is noCompetition
knockoutStageNoFilter the bracket card to one round
includeHashtagNoInclude the #VibingLaVidaLoca tag (default true)
includeMarketsNoInclude the reliable market line when available (default true)
includeInstallLineNoInclude the "Try it: …" run cue (default true)

Output Schema

NameRequiredDescriptionDefault
kindYes
teamNo
viewNo
countNo
groupNo
stageNo
styleNo
servedNoThe shown fixtures whose record the provider's window held; a shown fixture not among them is the bundled schedule's row, its live state unconfirmed
sourceNo
tablesNo
targetNo
windowNoOff the World Cup: a whole read of these provider days (YYYY-MM-DD, inclusive) did not hold the match
horizonNoOff the World Cup: a whole read of this many provider days ahead held no fixture for the team
matchesNo
partialNoPresent when the provider sent records that could not be used: what is returned is what was read, and may not be the whole answer (absence is not elimination). omitted is how many provider records were left out, when known; they may have lain outside what was asked for, so the count is a bound, not a loss
snippetNo
degradedNo
truncatedNo
candidatesNoA next card for a name two or more teams match: them, and no fixture is picked
competitionNoThe competition this answer is for: its ESPN slug, its alias, its name, where the choice came from (flag: the competition argument; env: the server's CLAUDINHO_COMPETITION; saved: the user's saved choice, claudinho follow), and experimental for a slug the supported table does not hold; null with noCompetition when nothing is chosen
unknownTeamNoPresent (true) when the roster the competition has holds no team by that name: the bundled nations on the World Cup; the table read whole and the next 14 days' fixtures elsewhere (a claim about that evidence, not the whole competition: a club out in a qualifying round is in no table). Never stated when the table or the span could not be read whole
unsupportedNoPresent (true) when this is not available for this competition yet; an empty result then means "unsupported", not "none found"
inapplicableNoPresent (true) when this competition has no such thing at all (a league season with no knockout tie has no knockout tree)
marketSignalsNo
noCompetitionNoPresent (true) when no competition is chosen (no competition argument, no server CLAUDINHO_COMPETITION, no saved choice): nothing was read, competition is null, and the text says what to do (pass competition, or the user runs claudinho follow <alias>)
marketCompleteNoFalse when optional market enrichment did not check every relevant fixture
rosterEvidenceNoWith unknownTeam: the evidence it rests on, the competition's table and span (table) or the World Cup's bundled nations (bundle)
betweenEditionsNoPresent when the competition is between editions: the edition named by label ended on ended (the provider's calendar day, YYYY-MM-DD, the season end it states), and nothing in the read is scheduled or in play
rosterIncompleteNoPresent (true) when the competition's roster could not be read whole and the name could not be resolved without it (no match, or only by a code or a partial name); not an outage: ask with the club's full name
informationalOnlyNo
responseTruncatedNo
responseTruncationNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.13.1
    • changedInput schema / properties / lang / description
      Previous value: -"Locale for dates, list titles, match status and stage words, a match timeline's kind words (Goal, Yellow card…), the empty and outage sentences, provider attribution, and commentary: en, es, pt, fr (the market copy, a few notes and the disclaimer stay English; other locales fall back to en)"New value: +"Locale for dates, list titles, match status and stage words, a match timeline's kind words (Goal, Yellow card…), the empty and outage sentences, provider attribution, and commentary: en, es, pt or fr (no other value is supported). Without it, or when it is empty, the server's CLAUDINHO_LANG when that is exactly one of the four, else en. The market copy, a few notes and the disclaimer stay English"
  2. Changed30 schema fields changedv0.12.0
    • addedInput schema / properties / competition
      Added value: +{
      +  "description": "The competition: an alias such as premier-league, or an ESPN slug such as eng.1 (list_competitions lists the aliases). Without it: the server's CLAUDINHO_COMPETITION, else the user's saved choice (claudinho follow); with none, the answer is noCompetition",
      +  "type": "string"
      +}
    • changedInput schema / properties / group / description
      Previous value: -"Group letter A–L for a standings card, e.g. A"New value: +"Table key for a standings card: a group letter (A), or A1, A-B, LEAGUE"
    • changedInput schema / properties / group / pattern
      Previous value: -"^[A-La-l]$"New value: +"^[A-Za-z0-9-]{1,12}$"
    • changedInput schema / properties / lang / description
      Previous value: -"Locale for dates, provider attribution, and commentary: en, es, pt, fr (the summary scaffold stays English; other locales fall back to en)"New value: +"Locale for dates, list titles, match status and stage words, a match timeline's kind words (Goal, Yellow card…), the empty and outage sentences, provider attribution, and commentary: en, es, pt, fr (the market copy, a few notes and the disclaimer stay English; other locales fall back to en)"
    • changedInput schema / properties / team / description
      Previous value: -"3-letter team code for that team's next fixture, e.g. MEX"New value: +"A team name or code for that team's next fixture: a club (Arsenal) or a nation (MEX)"
    • addedInput schema / properties / team / maxLength
      Added value: +40
    • addedInput schema / properties / team / minLength
      Added value: +1
    • removedInput schema / properties / team / pattern
      Removed value: -"^[A-Za-z]{3}$"
    • addedOutput schema / properties / betweenEditions
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "Present when the competition is between editions: the edition named by label ended on ended (the provider's calendar day, YYYY-MM-DD, the season end it states), and nothing in the read is scheduled or in play",
      +  "properties": {
      +    "ended": {
      +      "type": "string"
      +    },
      +    "label": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "ended"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / candidates
      Added value: +{
      +  "description": "A next card for a name two or more teams match: them, and no fixture is picked",
      +  "items": {
      +    "$ref": "#/properties/team/anyOf/1"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / competition
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": true,
      +      "properties": {
      +        "alias": {
      +          "type": "string"
      +        },
      +        "chosenBy": {
      +          "enum": [
      +            "flag",
      +            "env",
      +            "saved"
      +          ],
      +          "type": "string"
      +        },
      +        "experimental": {
      +          "const": true,
      +          "type": "boolean"
      +        },
      +        "name": {
      +          "type": "string"
      +        },
      +        "slug": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "slug",
      +        "name",
      +        "chosenBy"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "The competition this answer is for: its ESPN slug, its alias, its name, where the choice came from (flag: the competition argument; env: the server's CLAUDINHO_COMPETITION; saved: the user's saved choice, claudinho follow), and experimental for a slug the supported table does not hold; null with noCompetition when nothing is chosen"
      +}
    • addedOutput schema / properties / horizon
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "Off the World Cup: a whole read of this many provider days ahead held no fixture for the team",
      +  "properties": {
      +    "days": {
      +      "exclusiveMinimum": 0,
      +      "type": "integer"
      +    }
      +  },
      +  "required": [
      +    "days"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / inapplicable
      Added value: +{
      +  "const": true,
      +  "description": "Present (true) when this competition has no such thing at all (a league season with no knockout tie has no knockout tree)",
      +  "type": "boolean"
      +}
    • changedOutput schema / properties / matches / items / properties / away / $ref
      Previous value: -"#/properties/matches/items/properties/home"New value: +"#/properties/team/anyOf/1"
    • addedOutput schema / properties / matches / items / properties / events
      Added value: +{
      +  "items": {
      +    "additionalProperties": true,
      +    "properties": {
      +      "added": {
      +        "type": "number"
      +      },
      +      "minute": {
      +        "type": "number"
      +      },
      +      "player": {
      +        "type": "string"
      +      },
      +      "side": {
      +        "type": "string"
      +      },
      +      "teamCode": {
      +        "type": "string"
      +      },
      +      "type": {
      +        "type": "string"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / matches / items / properties / home / $ref
      Added value: +"#/properties/team/anyOf/1"
    • removedOutput schema / properties / matches / items / properties / home / additionalProperties
      Removed value: -true
    • removedOutput schema / properties / matches / items / properties / home / properties
      Removed value: -{
      -  "code": {
      -    "type": "string"
      -  },
      -  "flag": {
      -    "type": "string"
      -  },
      -  "name": {
      -    "type": "string"
      -  }
      -}
    • removedOutput schema / properties / matches / items / properties / home / type
      Removed value: -"object"
    • addedOutput schema / properties / matches / items / properties / stageLabel
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / noCompetition
      Added value: +{
      +  "const": true,
      +  "description": "Present (true) when no competition is chosen (no competition argument, no server CLAUDINHO_COMPETITION, no saved choice): nothing was read, competition is null, and the text says what to do (pass competition, or the user runs claudinho follow <alias>)",
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / partial
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "Present when the provider sent records that could not be used: what is returned is what was read, and may not be the whole answer (absence is not elimination). omitted is how many provider records were left out, when known; they may have lain outside what was asked for, so the count is a bound, not a loss",
      +  "properties": {
      +    "omitted": {
      +      "exclusiveMinimum": 0,
      +      "type": "integer"
      +    }
      +  },
      +  "type": "object"
      +}
    • addedOutput schema / properties / rosterEvidence
      Added value: +{
      +  "description": "With unknownTeam: the evidence it rests on, the competition's table and span (table) or the World Cup's bundled nations (bundle)",
      +  "enum": [
      +    "table",
      +    "bundle"
      +  ],
      +  "type": "string"
      +}
    • addedOutput schema / properties / rosterIncomplete
      Added value: +{
      +  "const": true,
      +  "description": "Present (true) when the competition's roster could not be read whole and the name could not be resolved without it (no match, or only by a code or a partial name); not an outage: ask with the club's full name",
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / served
      Added value: +{
      +  "description": "The shown fixtures whose record the provider's window held; a shown fixture not among them is the bundled schedule's row, its live state unconfirmed",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / team / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "additionalProperties": true,
      +    "properties": {
      +      "code": {
      +        "type": "string"
      +      },
      +      "flag": {
      +        "type": "string"
      +      },
      +      "id": {
      +        "type": "string"
      +      },
      +      "name": {
      +        "type": "string"
      +      }
      +    },
      +    "type": "object"
      +  }
      +]
    • removedOutput schema / properties / team / type
      Removed value: -"string"
    • addedOutput schema / properties / unknownTeam
      Added value: +{
      +  "const": true,
      +  "description": "Present (true) when the roster the competition has holds no team by that name: the bundled nations on the World Cup; the table read whole and the next 14 days' fixtures elsewhere (a claim about that evidence, not the whole competition: a club out in a qualifying round is in no table). Never stated when the table or the span could not be read whole",
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / unsupported
      Added value: +{
      +  "const": true,
      +  "description": "Present (true) when this is not available for this competition yet; an empty result then means \"unsupported\", not \"none found\"",
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / window
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "Off the World Cup: a whole read of these provider days (YYYY-MM-DD, inclusive) did not hold the match",
      +  "properties": {
      +    "from": {
      +      "type": "string"
      +    },
      +    "to": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "from",
      +    "to"
      +  ],
      +  "type": "object"
      +}
  3. Changed5 schema fields changedv0.10.0
    • addedOutput schema / properties / count
      Added value: +{
      +  "type": "number"
      +}
    • addedOutput schema / properties / marketComplete
      Added value: +{
      +  "description": "False when optional market enrichment did not check every relevant fixture",
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / responseTruncated
      Added value: +{
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / responseTruncation
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / truncated
      Added value: +{
      +  "type": "boolean"
      +}
  4. 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"
      +    },
      +    "group": {
      +      "type": "string"
      +    },
      +    "informationalOnly": {
      +      "type": "boolean"
      +    },
      +    "kind": {
      +      "type": "string"
      +    },
      +    "marketSignals": {
      +      "additionalProperties": {
      +        "$ref": "#/properties/tables/anyOf/0"
      +      },
      +      "type": "object"
      +    },
      +    "matches": {
      +      "items": {
      +        "additionalProperties": true,
      +        "properties": {
      +          "away": {
      +            "$ref": "#/properties/matches/items/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/matches/items/properties/score/anyOf/0"
      +          },
      +          "stage": {
      +            "type": "string"
      +          },
      +          "status": {
      +            "type": "string"
      +          },
      +          "venue": {
      +            "type": "string"
      +          },
      +          "winnerCode": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "id"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "snippet": {
      +      "type": "string"
      +    },
      +    "source": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "stage": {
      +      "type": "string"
      +    },
      +    "style": {
      +      "type": "string"
      +    },
      +    "tables": {
      +      "anyOf": [
      +        {
      +          "additionalProperties": true,
      +          "properties": {},
      +          "type": "object"
      +        },
      +        {
      +          "items": {
      +            "$ref": "#/properties/tables/anyOf/0"
      +          },
      +          "type": "array"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "target": {
      +      "type": "string"
      +    },
      +    "team": {
      +      "type": "string"
      +    },
      +    "view": {
      +      "anyOf": [
      +        {
      +          "$ref": "#/properties/tables/anyOf/0"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    }
      +  },
      +  "required": [
      +    "kind"
      +  ],
      +  "type": "object"
      +}
  5. Changed2 schema fields changedv0.8.4
    • addedInput schema / properties / bracket
      Added value: +{
      +  "description": "Knockout bracket card (use with optional knockoutStage)",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / knockoutStage
      Added value: +{
      +  "description": "Filter the bracket card to one round",
      +  "enum": [
      +    "R32",
      +    "R16",
      +    "QF",
      +    "SF",
      +    "3P",
      +    "F"
      +  ],
      +  "type": "string"
      +}
  6. Changed1 schema field changedv0.5.0
    • addedInput schema / properties / group
      Added value: +{
      +  "description": "Group letter A–L for a standings card, e.g. A",
      +  "pattern": "^[A-La-l]$",
      +  "type": "string"
      +}
  7. First observedv0.1.0

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint, and the description goes well beyond them: it explains what marketComplete:false and 'partial' mean inside the card, what an empty card states (searched horizon/window, or between-editions competition), and that there are no links plus a non-affiliation disclaimer. These are genuinely non-obvious output semantics an agent could misreport if unstated.

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

Conciseness3/5

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

The purpose is front-loaded in the first sentence, but that sentence is a long parenthetical chain that is hard to parse, and the following run-ons pack marketComplete, partial, empty-card, and disclaimer behavior into dense prose. Every fact is relevant, but the packaging costs readability.

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

Completeness4/5

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

With 15 optional parameters, a full output schema, and read-only annotations, the description covers what an agent needs: how to select a card, that the snippet must be passed through verbatim, and how to interpret the incomplete/partial/empty states. The remaining gap is the absence of any guidance on default competition resolution failures beyond the schema's mention of noCompetition.

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%, so the schema already documents all 15 parameters, and the description largely restates them (group table key, bracket, default date today, live). The only added nuance is the enumeration of card modes in the opening sentence, which duplicates what the schema properties already convey.

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 names a specific artifact (a polished, copy-pasteable plain-text card) and enumerates the exact selectors that produce each variant (matchId, team, group, bracket, date, live), so the agent knows precisely what it gets. It is implicitly distinguished from siblings (get_match, get_standings) by returning rendered snippet text plus structured data, but no sibling is named, so differentiation is inferential rather than explicit.

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?

Usage is conveyed indirectly: the first sentence maps each selector to a card type, which tells the agent how to drive the tool, and 'hand the snippet text to the user verbatim' tells it what to do with the result. However, there is no statement of when to prefer this over get_match/get_today/get_standings, and no exclusions or prerequisites.

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