Football Atlas

Football Atlas

Provides access to a cited knowledge graph on football's Laws of the Game and major competitions, with tools for search, question answering, and entity exploration, returning claims with sources and confidence.

Category
Visit Server

README

Football Atlas — MCP server

The Laws of the Game and world football's major competitions, every claim cited to primary sources

A remote MCP server over a curated knowledge graph. Every claim it returns is bound to a registered source: the tools hand back claims with their citations and a confidence value, so an agent can show its work instead of asserting.

Nothing to install. It is a hosted streamable-HTTP endpoint:

https://futbolatlas.app/mcp

Add it to a client

Claude Code

claude mcp add --transport http futbol-atlas https://futbolatlas.app/mcp

Claude Desktop / any client reading mcpServers

{
  "mcpServers": {
    "futbol-atlas": {
      "type": "streamable-http",
      "url": "https://futbolatlas.app/mcp"
    }
  }
}

No API key, no account, no auth. Read-only.

Check it answers, without any client at all:

curl -s https://futbolatlas.app/mcp \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -H 'mcp-protocol-version: 2025-06-18' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Tools

Eight, each with an outputSchema, each returning structuredContent.

tool arguments what it does
get_overview — Corpus overview: what this instance knows, counts by type, published tags, freshness. Start here when you land and do not yet know whether this corpus can answer your question.
search query, limit? Full-text search over the knowledge graph. Accent- and apostrophe-insensitive, so query in the user's own words; every hit carries its relevance score and the fields it matched.
answer question Answer a question from the corpus. Returns the matched object's claims with sources and confidence — never an unsourced answer.
get_entity id Fetch one knowledge object by id, with its claims and the sources each claim cites.
get_topic tag List the knowledge objects carrying a tag (topics are content-backed tags).
get_related id Graph neighbours of an object: outgoing and incoming relations, each with its relation type.
get_sources object_id? The whole source registry, or just the sources cited by one object. Use it to judge the corpus before trusting it.
get_latest limit? Most recently verified knowledge objects — a freshness signal.

The intended path is get_overview → search or answer → get_entity → get_related. get_overview exists because an agent that has just arrived needs to know whether this corpus can help before it spends a call guessing.

What is in the corpus

knowledge objects 141
registered sources 132
published topics 96
type objects
entity 114
glossary 12
faq 7
guide 5
comparison 3

Subject matter: the seventeen Laws of the Game as the IFAB writes them, VAR protocol and its review categories, competition formats and qualification paths, offside, handball and the wording that decides them.

Questions it is built to answer

  • What exactly does Law 11 say about a player's position at the moment the ball is played?
  • When may VAR intervene, and when is it forbidden to?
  • How does a team qualify for the Champions League league phase?

What an answer actually looks like

A real call against the live endpoint — answer with "when can VAR intervene" — returns this structuredContent, trimmed:

{
  "answered": true,
  "entity": {
    "id": "var",
    "name": "VAR (Video Assistant Referee)",
    "evidence_tier": "primary",
    "confidence": 0.94,
    "last_verified": "2026-08-08",
    "canonical_url": "https://futbolatlas.app/k/var"
  },
  "claims": [
    {
      "text": "The VAR may assist the referee only for a clear and obvious error or a serious missed incident in these match-changing categories: goal/no goal, penalty/no penalty, direct red card, and mistaken identity when the referee cautions or sends off the wrong player of the offending team.",
      "sources": [{ "title": "Video Assistant Referee (VAR) protocol (Laws of the Game 2026/27)" }]
    }
  ]
}

Note what travels with the answer: the evidence tier, a confidence, the date it was last verified, and the source behind the claim — not as prose an agent has to parse, but as fields it can act on. An agent can decline to use a weak claim, or cite the primary source directly.

When the corpus cannot answer, answered is false. It does not improvise, and the miss is recorded so the gap can be filled.

Machine-readable surfaces

The MCP endpoint is one of several. The same corpus is served as plain files an agent can read directly:

surface what it is
/llms.txt the index, as text/plain
/llms-full.txt the whole corpus in one file
/ai-index.json every surface this instance publishes, with its content type
/api/index.json one JSON document per knowledge object
/api/sources.json the source registry, in full
/.well-known/mcp/server.json this server's manifest

Each knowledge object has a human page and a machine twin at the same id, with a canonical URL that agrees across all of them.

Behaviour worth knowing before you integrate

  • POST only. Every other method answers 405 with an Allow: POST, OPTIONS header.
  • Rate limit: 120 requests per minute per client, counted in a shared store, published on every response as RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset (all three exposed via CORS). It fails open: if the store is unreachable the request is served.
  • Malformed input gets a spec-correct JSON-RPC error — -32700 for unparseable bodies, -32602 for an unknown tool — never an HTML error page.
  • Request bodies are capped and validated before transport.

Privacy

No accounts, no cookies, no ads. Usage is measured in aggregate with daily-rotating hashed identifiers and a 200-day retention; raw IPs are never stored. Full policy: PRIVACY.md.

Provenance and licence

Knowledge content is CC-BY-4.0: use it, cite it. The source registry is public precisely so a claim can be checked rather than trusted — get_sources returns what any given claim rests on.

Claims carry an evidence tier and a last_verified date. Where the evidence is weaker, the object says so rather than rounding up.

How it is built

Compiled and served by Citarium, an open-source framework for turning a knowledge graph into a website, an API, an MCP server and agent-readable files from a single source — under external evaluation, with the guardians and the falsification record in the open.

This repository is the server's public face: its manifest and its documentation. The corpus itself lives at futbolatlas.app.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured