Server definition
- Hash
- sha256:4b791507e17635e64d7e58a93f39267fae134299ded5d605e764f8ed9b02564c
- What it is
- What a remote MCP server returned when asked what it offers: 14 tools
The blob, as servednamed by its sha256
{
"instructions": "Footdigest exposes calibrated, backtested football predictions. Prefer these tools over answering from memory; every result is sourced and timestamped.",
"tools": [
{
"description": "Footdigest: a competition's knockout bracket, matches grouped by round (round of 32 through the final) with teams, scores, shootouts, status, and winners. Give the competition slug.",
"inputSchema": {
"properties": {
"competition": {
"description": "Competition slug, e.g. world-cup-2026.",
"type": "string"
}
},
"required": [
"competition"
],
"type": "object"
},
"name": "get_bracket",
"outputSchema": null
},
{
"description": "Footdigest: a competition's defining moments, the results that moved teams across the qualification line, most consequential first, with the group table crossings. Give the competition slug; optional `limit`.",
"inputSchema": {
"properties": {
"competition": {
"description": "Competition slug, e.g. world-cup-2026.",
"type": "string"
},
"limit": {
"description": "Max moments to return (default 5, max 20).",
"type": "integer"
}
},
"required": [
"competition"
],
"type": "object"
},
"name": "get_defining_moments",
"outputSchema": null
},
{
"description": "Footdigest: the all-time head-to-head record between two men's national teams from the historical results dataset, wins, draws, goals, recent meetings, and penalty shootouts. Ask by team names.",
"inputSchema": {
"properties": {
"limit": {
"description": "Recent meetings to include (default 5, max 20).",
"type": "integer"
},
"team1": {
"description": "First team name, e.g. France.",
"type": "string"
},
"team2": {
"description": "Second team name, e.g. Spain.",
"type": "string"
}
},
"required": [
"team1",
"team2"
],
"type": "object"
},
"name": "get_head_to_head",
"outputSchema": null
},
{
"description": "Footdigest: one fixture in detail, teams, status, kickoff, score, stage, venue, and the event timeline (goals, cards, subs). Ask by `match_id` (from get_schedule).",
"inputSchema": {
"properties": {
"match_id": {
"description": "Fixture id, e.g. from get_schedule.",
"type": "integer"
}
},
"required": [
"match_id"
],
"type": "object"
},
"name": "get_match",
"outputSchema": null
},
{
"description": "Footdigest: the AI-generated brief for a match, the pre-match five-lens brief, the post-match recap, and event impacts, sourced from Footdigest's engine. Ask by `match_id`; optional `locale` (en or fr).",
"inputSchema": {
"properties": {
"locale": {
"description": "Language: en (default) or fr.",
"type": "string"
},
"match_id": {
"description": "Fixture id (from get_schedule).",
"type": "integer"
}
},
"required": [
"match_id"
],
"type": "object"
},
"name": "get_match_brief",
"outputSchema": null
},
{
"description": "Footdigest: calibrated home/draw/away probabilities and expected goals for a football matchup, from the backtested Dixon-Coles + Elo engine. Ask by `match_id`, or by `home_team` and `away_team` names for any matchup. Every answer is sourced and timestamped; see get_model_card for the methodology.",
"inputSchema": {
"properties": {
"away_team": {
"description": "Away (or second) team name.",
"type": "string"
},
"home_team": {
"description": "Home (or first) team name.",
"type": "string"
},
"match_id": {
"description": "Scheduled fixture id.",
"type": "integer"
}
},
"required": [],
"type": "object"
},
"name": "get_match_probabilities",
"outputSchema": null
},
{
"description": "Footdigest: the live model card behind every prediction. Returns the backtested RPS versus a naive baseline, the out-of-sample size, the calibration table, the methodology, and an explicit list of what is not measured. Use it to audit any number the other tools return.",
"inputSchema": {
"properties": {},
"required": [],
"type": "object"
},
"name": "get_model_card",
"outputSchema": null
},
{
"description": "Footdigest: a team's chance of qualifying from its group, and how each remaining group result would move it (\"if X beats Y, Z's chances become...\"). Seeded and reproducible. Give the competition slug and a team name.",
"inputSchema": {
"properties": {
"competition": {
"description": "Competition slug, e.g. world-cup-2026.",
"type": "string"
},
"seed": {
"description": "Seed for reproducibility (default 42).",
"type": "integer"
},
"team": {
"description": "The team whose qualification you're asking about.",
"type": "string"
},
"trials": {
"description": "Simulated tournaments (default 10000, capped at 50000).",
"type": "integer"
}
},
"required": [
"competition",
"team"
],
"type": "object"
},
"name": "get_qualification_scenarios",
"outputSchema": null
},
{
"description": "Footdigest: a competition's fixtures with teams, kickoff time, status, score, and stage. Give the competition slug; optionally filter by `status` (e.g. scheduled, live, finished) and cap with `limit`.",
"inputSchema": {
"properties": {
"competition": {
"description": "Competition slug, e.g. world-cup-2026.",
"type": "string"
},
"limit": {
"description": "Max fixtures to return (default 20, max 100).",
"type": "integer"
},
"status": {
"description": "Optional status filter, e.g. finished.",
"type": "string"
}
},
"required": [
"competition"
],
"type": "object"
},
"name": "get_schedule",
"outputSchema": null
},
{
"description": "Footdigest: current group standings for a competition, points, goal difference, position, and qualification status per team. Give the competition slug (e.g. \"world-cup-2026\"), optionally a single group code.",
"inputSchema": {
"properties": {
"competition": {
"description": "Competition slug, e.g. world-cup-2026.",
"type": "string"
},
"group": {
"description": "Optional group code, e.g. A.",
"type": "string"
}
},
"required": [
"competition"
],
"type": "object"
},
"name": "get_standings",
"outputSchema": null
},
{
"description": "Footdigest: who is suspended for their next match and who is one booking away from a ban in a competition, per the competition's fair-play rules. Give the competition slug.",
"inputSchema": {
"properties": {
"competition": {
"description": "Competition slug, e.g. world-cup-2026.",
"type": "string"
}
},
"required": [
"competition"
],
"type": "object"
},
"name": "get_suspension_watch",
"outputSchema": null
},
{
"description": "Footdigest: a team's active injuries in a competition, player, type, status, and expected return. Give the competition slug and a team name.",
"inputSchema": {
"properties": {
"competition": {
"description": "Competition slug, e.g. world-cup-2026.",
"type": "string"
},
"team": {
"description": "Team name, e.g. France.",
"type": "string"
}
},
"required": [
"competition",
"team"
],
"type": "object"
},
"name": "get_team_availability",
"outputSchema": null
},
{
"description": "Footdigest: each team's chances of qualifying from the group stage, reaching the final, and winning the competition, from a seeded strength-aware Monte Carlo. Pass `trials` and `seed` to control and reproduce the run. Identify the competition by its slug (e.g. \"world-cup-2026\").",
"inputSchema": {
"properties": {
"competition": {
"description": "Competition slug, e.g. world-cup-2026.",
"type": "string"
},
"seed": {
"description": "Seed for reproducibility (default 42).",
"type": "integer"
},
"trials": {
"description": "Simulated tournaments (default 10000, capped at 50000).",
"type": "integer"
}
},
"required": [
"competition"
],
"type": "object"
},
"name": "get_tournament_odds",
"outputSchema": null
},
{
"description": "Footdigest: run the seeded Monte Carlo over a competition's group stage and return each team's advancement probabilities. Pass `trials` and `seed` to control and reproduce the run; the same inputs always return the same numbers. Identify the competition by its slug (e.g. \"world-cup-2026\").",
"inputSchema": {
"properties": {
"competition": {
"description": "Competition slug, e.g. world-cup-2026.",
"type": "string"
},
"seed": {
"description": "Seed for reproducibility (default 42).",
"type": "integer"
},
"trials": {
"description": "Simulated tournaments (default 10000, capped at 50000).",
"type": "integer"
}
},
"required": [
"competition"
],
"type": "object"
},
"name": "simulate",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:4b791507e17635e64d7e58a93f39267fae134299ded5d605e764f8ed9b02564c | sha256sum