FIFA World Cup 2026 MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@FIFA World Cup 2026 MCP ServerWhat are today's World Cup matches?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
FIFA World Cup 2026 AI Assistant
A conversational AI assistant for FIFA World Cup 2026 built with Claude and the Model Context Protocol (MCP). Ask about today's matches, group standings, results, and get journalist-style match summaries.
Live demo: https://worldcup-mcp-gjg7.onrender.com
What is MCP?
Model Context Protocol (MCP) is a standard that lets AI models like Claude connect to external data sources and tools. Instead of Claude only knowing what's in its training data, MCP lets it fetch live data and take actions — like reading today's World Cup scores.
Related MCP server: mcp-claudinho
Features
Live match scores and fixtures for today
Group stage standings (calculated from results)
Match results with goalscorers and times
Filter results by round (e.g. Quarter-final, Group A)
Journalist-style match summaries powered by Claude
Web chat UI with FIFA-themed design
Project Structure
worldcup-mcp/
├── mcp_server.py # MCP server — tools and prompts
├── api.py # FastAPI backend + WebSocket chat
├── main.py # Terminal chat client
├── static/
│ └── index.html # Web UI (navy + gold FIFA theme)
├── render.yaml # Render deployment config
└── pyproject.toml # Python dependenciesMCP Primitives Used
Primitive | Name | Description |
Tool |
| Fetch today's World Cup matches with scores |
Tool |
| Calculate group stage standings from results |
Tool |
| Get result and goals for a specific match |
Tool |
| Get all results, optionally filtered by round |
Prompt |
| Write an exciting journalist-style match summary |
Data Source
Match data comes from openfootball/world-cup.json — a free, open-source dataset with no API key required.
Setup
Prerequisites
Python 3.9+
uv package manager
Anthropic API key (get one here)
Run locally
Clone the repo:
git clone https://github.com/sanketjoshi2012/worldcup-mcp.git
cd worldcup-mcpInstall dependencies:
uv syncCreate a
.envfile:
ANTHROPIC_API_KEY="your-api-key-here"Run the web app:
uv run uvicorn api:app --port 8000 --reloadThen open http://localhost:8000 in your browser.
Or run the terminal version:
uv run main.pyDeployment
This project is configured for deployment on Render via render.yaml.
Push to GitHub
Connect repo on Render
Add
ANTHROPIC_API_KEYas an environment variableDeploy
Built With
Anthropic Claude — AI model
MCP Python SDK — Model Context Protocol
FastAPI — Web backend
uv — Python package manager
openfootball — World Cup data
Available Tools
4 toolsget_all_resultsA
Get all World Cup 2026 results. Optionally filter by round like 'Quarter-final' or 'Group A'.
| Name | Required | Description | Default |
|---|---|---|---|
| round_name | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must carry the full burden. It only mentions 'get all results' and an optional filter, with no disclosure of behavioral traits like sorting, pagination, error handling, or idempotency. This is minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at two sentences, with the purpose front-loaded in the first sentence. Every word is necessary; no wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one optional parameter) and the presence of an output schema, the description covers the essential functionality. However, it could mention return value structure or ordering, but it's mostly complete for a get-all tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description compensates by providing examples of valid round_name values like 'Quarter-final' or 'Group A'. This adds meaning beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get all World Cup 2026 results' with an optional filter, which specifies the verb, resource, and scope. This distinguishes it from siblings like get_match_result (specific match) and get_standings (standings).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description only states what it does, not when to prefer it over get_match_result, get_standings, or get_todays_matches.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_match_resultA
Get the result and goals for a specific World Cup match between two teams.
| Name | Required | Description | Default |
|---|---|---|---|
| team1 | Yes | ||
| team2 | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It clearly indicates the tool returns result and goals, implying read-only behavior. No side effects or limitations are mentioned, but for a simple data retrieval tool, this is sufficiently transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence of 15 words. It is front-loaded with the action ('Get') and directly conveys the purpose without extraneous information. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema, the description need not detail return values. It covers the core functionality and distinguishes the tool from siblings. However, it lacks guidance on error handling or valid team names, which would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, meaning no parameter descriptions exist. The tool description only adds that parameters are team names, without specifying format (e.g., full name, code) or any constraints. This minimal addition does not sufficiently compensate for the lack of schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves the result and goals for a specific World Cup match identified by two teams. It distinguishes itself from sibling tools like get_all_results (all matches) and get_standings (standings) by focusing on a single match.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when you need a result for a specific pair of teams, but it does not explicitly tell the agent when to choose this tool over siblings like get_all_results or get_todays_matches. The usage context is inferred but not directly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_standingsA
Get FIFA World Cup 2026 group stage standings.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden, but it only says 'get' without disclosing any behavioral details like data freshness, caching, or restrictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence that clearly conveys the tool's purpose with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity and existence of output schema, the description sufficiently informs the agent what the tool does.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has zero parameters with 100% coverage. Description adds no additional parameter meaning, but baseline is 4 for no parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb 'Get' and resource 'FIFA World Cup 2026 group stage standings', which is specific and distinct from sibling tools like get_all_results, get_match_result, and get_todays_matches.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. Lacks any when/when-not or context indications.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_todays_matchesA
Get all FIFA World Cup 2026 matches happening today with scores and goals.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does not disclose behavioral traits such as timezone handling, whether it includes only completed matches, rate limits, or behavior when no matches are scheduled today. This leaves significant unknowns for an agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no wasted words, front-loaded with key information. Perfectly concise for a zero-parameter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters and an output schema (present but not shown), the description is mostly complete. However, it could mention timezone or data freshness; still, it is adequate for a simple tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no parameters, so schema coverage is 100% by default. The description adds useful context about return data (scores and goals), justifying a score above baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves all FIFA World Cup 2026 matches happening today with scores and goals, specifying the resource, filter, and data. It distinguishes from siblings like get_all_results and get_match_result.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for today's matches but does not explicitly state when to use this tool versus alternatives like get_all_results (all matches) or get_match_result (single match). No exclusions or when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
4 tool updates
v0.1.0- First observed
get_all_results - First observed
get_match_result - First observed
get_standings - First observed
get_todays_matches
TDQS
Each tool has a clearly distinct purpose: all results, specific match, standings, today's matches. No overlap or ambiguity.
All tools follow a consistent 'get_' prefix with descriptive nouns using snake_case, e.g., get_all_results, get_match_result.
With only 4 tools, the server is relatively sparse but still covers basic querying needs for a focused domain. Slightly under-scoped but reasonable.
Missing key operations like team-specific schedules, group details, or upcoming match queries beyond today. The surface has notable gaps for comprehensive coverage.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Live AI-native web search with citations. One tool for every MCP client. Flat per-request pricing.
The only News based AI MCP your agents will ever need — custom categories, global regions, and time-scoped results in one tool. We use multi-vector & sparse-hybrid search to search through thousands of articles across the world to find the exact news you're looking for.
API-Football MCP — comprehensive soccer/football data
Real-time Amazon, WIPO & PACER data for AI agents — 19 tools via the MCP protocol.
Related MCP Servers
- AlicenseAqualityCmaintenanceMCP server for FIFA World Cup 2026 data: matches, teams, venues, city guides, fan zones, visa info, injuries, odds, standings, bracket, and historical matchups. 18 tools, zero external API dependencies.1852934MIT
- AlicenseAqualityAmaintenanceClaudinho gives any MCP client live 2026 World Cup scores, fixtures, group standings, read-only prediction-market signals (Polymarket, informational only), and ready-to-paste match cards. Key-free; the schedule is bundled offline — only live state hits ESPN. Independent fan project — not affiliated with FIFA or Anthropic.928MIT
- FlicenseAqualityDmaintenanceProvides live football data through MCP tools, enabling users to fetch today's matches and top scorers for competitions like the Premier League or World Cup.2-
- FlicenseNot gradedqualityBmaintenanceMCP server for a World Cup 2026 prediction game assistant, providing tools for live game data via PostgreSQL and semantic search over football articles via RAG.-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/sanketjoshi2012/worldcup-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server