Football Atlas
Server Details
The Laws of the Game and world football's major competitions, every claim cited to primary sources
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- citarium/futbolatlas-mcp
- GitHub Stars
- 0
- Server Listing
- Football Atlas
Available Tools
8 toolsanswerAnswer a question about Football AtlasARead-onlyIdempotentInspect
Answer a question from the corpus. Returns the matched object's claims with sources and confidence — never an unsourced answer. Use this when the user asked a question in words; use search when you want to see the candidates yourself.
| Name | Required | Description | Default |
|---|---|---|---|
| question | Yes | The question to answer, in the words the user asked it. |
Output Schema
| Name | Required | Description |
|---|---|---|
| claims | No | |
| entity | No | |
| answered | Yes | |
| matched_question | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover read-only and idempotent behavior, and the description adds meaningful context: it never returns an unsourced answer and returns claims with sources and confidence. This goes beyond the annotations and helps set expectations without contradicting them.
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?
Three short sentences, each earning its place: the action, the return guarantee, and the usage guidance. The core purpose is front-loaded, and there is no redundant wording.
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?
For a simple one-parameter tool with full schema coverage, rich annotations, and an output schema, the description is complete. It covers purpose, behavior, return characteristics, and when to choose an alternative.
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 100%, and the description does not add meaning beyond what the schema already provides for the single 'question' parameter. The baseline of 3 applies because the schema carries the parameter semantics fully.
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 verb and resource: it answers a question from the corpus. It also differentiates from the 'search' sibling by emphasizing that it returns a direct answer with sources and confidence, not just candidates.
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?
Explicitly instructs when to use the tool: when the user asked a question in words. It also names the alternative 'search' and the condition for choosing it, giving the agent clear routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_entityGet one Football Atlas knowledge objectARead-onlyIdempotentInspect
Fetch one knowledge object by id, with its claims and the sources each claim cites. Use this once search, answer or get_topic has given you an id. An unknown id is not a dead end: the answer names near-miss ids you can retry with.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The knowledge object's id, as returned by search, answer, get_topic or get_related — the last segment of its canonical URL. |
Output Schema
| Name | Required | Description |
|---|---|---|
| found | Yes | |
| entity | No | |
| recovery | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, non-destructive behavior. The description adds valuable contextual behavior: an unknown id is recoverable via near-miss ids named in the answer. This is meaningful beyond what the schema or annotations state.
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?
Three short sentences, each earning its place: what the tool returns, when to call it, and what to do on an unknown id. No filler, no repetition of annotated facts, and the main purpose is front-loaded.
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?
For a single-parameter read-only tool with full schema coverage, annotations, and an output schema, this description gives the agent everything needed: trigger condition, return contents, and failure behavior. Nothing critical is missing.
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 coverage is 100%, and the schema already explains that id is returned by search, answer, get_topic, or get_related and is the last segment of the canonical URL. The description adds workflow context but no additional parameter-level meaning, so the baseline 3 is appropriate.
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 states a specific action ('Fetch one knowledge object by id') and names the resource plus its distinguishing contents (claims and cited sources). This makes it clear that get_entity is the id-based retrieval sibling among search, get_topic, and get_overview.
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?
It explicitly tells the agent when to use this tool: after search, answer, or get_topic has supplied an id. It also gives useful recovery guidance for unknown ids. It does not explicitly contrast get_entity with get_overview or get_related, so it stops short of full when-not instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_latestLatest verified Football Atlas objectsARead-onlyIdempotentInspect
Most recently verified knowledge objects (freshness signal). Use this to judge how current the corpus is, or to see what changed since you last read it. It ranks by verification date and ignores your topic entirely — use search or get_topic when you want objects that are relevant rather than recent.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | How many recently verified objects to return, newest verification first. |
Output Schema
| Name | Required | Description |
|---|---|---|
| total | Yes | |
| results | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, and non-destructive behavior, so the bar is lower. The description adds meaningful behavioral context: ranking by verification date and that the tool ignores the user's topic entirely, which goes beyond the structured annotations.
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 two sentences with no filler. The core behavior and freshness signal are front-loaded, followed by explicit usage guidance and exclusion of irrelevant alternatives. Every sentence 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?
With only one optional parameter, an output schema present, and annotations covering safety, the description supplies the missing contextual pieces: when to use the tool, what it ignores, and how it differs from siblings. Nothing critical is missing for an agent to invoke it correctly.
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?
The input schema documents the only parameter (limit) with a clear description, default, min, and max, so schema description coverage is 100%. The tool description adds no further parameter details, which is acceptable per the baseline; the schema carries the semantic weight.
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 returns 'Most recently verified knowledge objects' and 'ranks by verification date,' giving a specific verb and resource. It also distinguishes itself from siblings by explicitly noting it ignores the user's topic, which sets it apart from search and get_topic.
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?
It provides explicit usage context: use this to judge how current the corpus is or to see what changed since last read. It also names alternatives and the condition that selects them: 'use search or get_topic when you want objects that are relevant rather than recent.' This is model guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_overviewOverview of Football AtlasARead-onlyIdempotentInspect
Corpus overview: what this instance knows, counts by type, published tags, freshness. Use this first when you land here and do not yet know whether this corpus can answer your question.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| tags | Yes | |
| by_type | Yes | |
| instance | Yes | |
| description | Yes | |
| total_media | Yes | |
| total_objects | Yes | |
| newest_verification | Yes | |
| oldest_verification | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, non-destructive, idempotent behavior. The description adds useful context about what the overview exposes (counts by type, published tags, freshness) and frames it as a triage tool. It does not repeat annotation information, and there is no contradiction.
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?
Two concise sentences that front-load the core purpose and then give practical usage guidance. Every word earns its place; no filler or redundancy.
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?
For a parameterless metadata inspection tool with output schema and safety annotations, the description fully covers purpose, contents, and when to use it. Nothing essential is missing.
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?
The tool has zero parameters, so the baseline is 4. The description does not need to explain parameter meaning, and the output schema covers the return structure.
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 states it provides a corpus overview with counts by type, published tags, and freshness. It clearly identifies the resource (the corpus) and what it reveals, though it uses a noun phrase rather than an explicit verb+resource structure. It is sufficiently distinct from siblings like search and get_entity by being the high-level entry point.
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?
Explicitly instructs to use this tool first when arriving and before knowing whether the corpus can answer the question. This provides strong placement guidance among siblings, though it does not explicitly name alternatives or state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sourcesSources behind Football AtlasARead-onlyIdempotentInspect
The instance's whole source registry, or just the sources cited by one object — each with its evidence tier, reliability and access date. Use this when you need the registry entry behind a citation, or the whole registry to judge the corpus before trusting it; get_entity already tells you which sources a claim cites.
| Name | Required | Description | Default |
|---|---|---|---|
| object_id | No | Restrict the answer to the sources cited by this knowledge object. Omit it to get the instance's whole source registry. |
Output Schema
| Name | Required | Description |
|---|---|---|
| found | Yes | |
| sources | Yes | |
| recovery | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds meaningful behavioral context: the tool can return either the whole registry or a filtered set depending on object_id, and it specifies the output attributes (evidence tier, reliability, access date). No contradiction with annotations.
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?
Two sentences, front-loaded with the core behavior, then targeting the use case and sibling differentiation. Every clause earns its place; there is no redundancy or padding.
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?
For a read-only tool with one optional parameter, rich annotations, an output schema, and a clear differentiator from get_entity, the description is fully sufficient. It tells the agent what the tool returns, when to use it, and how it relates to a sibling 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 100%, and the schema already explains that object_id restricts results and can be omitted for the whole registry. The tool description mainly restates this same information, adding no substantially new parameter semantics beyond what the schema already provides.
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 states a specific verb and resource: retrieving the source registry or the sources cited by one object, including evidence tier, reliability, and access date. It actively distinguishes itself from get_entity, which already tells which sources a claim cites, making the tool's unique scope clear.
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?
Explicitly explains when to use this tool: when you need the registry entry behind a citation, or the whole registry to judge the corpus. It also calls out get_entity as the alternative for seeing which sources a claim cites, providing clear routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_topicBrowse Football Atlas by topicARead-onlyIdempotentInspect
List the knowledge objects carrying a tag (topics are content-backed tags). Use this to browse a known topic; use search when you have a question rather than a tag, and get_overview to see which tags exist. An unknown tag comes back with the topics that do exist, so a miss still moves you forward.
| Name | Required | Description | Default |
|---|---|---|---|
| tag | Yes | The topic to list, spelled exactly as get_overview publishes it. Every published topic has objects under it, so an empty answer means the topic does not exist. |
Output Schema
| Name | Required | Description |
|---|---|---|
| tag | Yes | |
| total | Yes | |
| results | Yes | |
| recovery | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world behavior, so the safety burden is covered. The description adds real behavioral value on top: the semantics of topics as content-backed tags and the graceful miss behavior ('an unknown tag comes back with the topics that do exist'), which an agent could not infer from annotations alone. It stops short of disclosing result ordering or pagination, but the output schema covers return shape, so a 4 is appropriate.
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?
Three sentences, zero waste: the core action is front-loaded, the routing guidance follows, and the edge-case behavior closes it out. Every sentence carries distinct information, and none repeats the schema or annotations.
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?
For a single-parameter, read-only browse tool, the description plus annotations and output schema cover everything an agent needs: what it does, when to use it, what an unknown tag yields, and how to phrase the tag. Return values are covered by the output schema, so the description need not explain them. No meaningful gap remains.
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 100%, and the schema itself is exemplary: it specifies exact spelling as published by get_overview and states that an empty answer means the topic does not exist. The description only adds marginal param-level meaning ('content-backed tags'), which reinforces rather than extends the schema. Per the baseline rule for high coverage, a 3 is correct.
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 names a specific verb and resource ('List the knowledge objects carrying a tag') and clarifies the semantics ('topics are content-backed tags'). It also differentiates from siblings by naming search and get_overview as the alternatives for different intents, so an agent can distinguish this tool without opening schemas.
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?
Explicit routing is given: browse a known topic here, use search for a question rather than a tag, and use get_overview to discover which tags exist. The description also covers the edge case of an unknown tag and why it is still productive, leaving no ambiguity about when to invoke this tool versus its siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchSearch Football AtlasARead-onlyIdempotentInspect
Full-text search over the knowledge graph. Matching ignores accents and apostrophes, so query in the user's own words; every hit carries the fields it matched and a score. Text match, weighted by where the token hits (name 3, tags 2, content 1 per query token), plus a centrality bonus of up to 0.9 for objects that other objects point at. That bonus is why two hits can share matched_fields and still score differently: the decimal is inbound edges, not text relevance. Use this whenever you have a question rather than an id, then follow up with get_entity.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | How many ranked hits to return, best first. | |
| query | Yes | What to look for, in the user's own words. Matched against titles, questions, claim text and tags; accents and apostrophes are ignored, so 'jose' finds 'José'. |
Output Schema
| Name | Required | Description |
|---|---|---|
| total | Yes | |
| results | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes far beyond the readOnly/idempotent annotations by detailing accent/apostrophe normalization, per-hit matched_fields and score, the token-weight formula (name 3, tags 2, content 1), and the centrality bonus up to 0.9. It even explains why scores can differ despite identical matched_fields, which prevents misinterpretation.
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 dense but each sentence adds critical information: scope, normalization, result shape, scoring weights, the meaning of the centrality decimal, and usage routing. It front-loads the core search action and keeps the explanation structured from behavior to interpretation.
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?
Covers the tool's full behavioral contract: what it searches, how matching and scoring work, how to interpret ambiguous scores, and when to call it relative to get_entity. Output schema covers return values, and annotations cover safety/idempotency, so nothing necessary is missing.
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 coverage is 100%, so the baseline is 3. The description reinforces the schema's 'user's own words' guidance and adds context about how query tokens are weighted, but it doesn't add new parameter-level information beyond what the input schema already provides.
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?
States 'Full-text search over the knowledge graph' with the specific verb 'search' and the resource 'knowledge graph'. The description also distinguishes it from sibling get_entity by framing search as the entry point for questions rather than IDs.
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?
Explicitly says 'Use this whenever you have a question rather than an id, then follow up with get_entity', giving both a positive trigger and an exclusion (when you have an id). It names get_entity as the follow-up alternative, providing clear routing 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.
8 tool updates
- Changed
answer1 field changed- added
Input schema / properties / question / descriptionAdded value: +"The question to answer, in the words the user asked it."
- Changed
get_entity3 fields changed- added
Input schema / properties / id / descriptionAdded value: +"The knowledge object's id, as returned by search, answer, get_topic or get_related — the last segment of its canonical URL." - added
Output schema / properties / entity / properties / mediaAdded value: +{ + "items": { + "additionalProperties": false, + "properties": { + "alt": { + "type": "string" + }, + "caption": { + "type": "string" + }, + "credit": { + "type": "string" + }, + "height": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "id": { + "type": "string" + }, + "license_spdx": { + "type": "string" + }, + "permissions": { + "additionalProperties": { + "type": "boolean" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "supports": { + "type": "string" + }, + "url": { + "type": "string" + }, + "width": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + } + }, + "required": [ + "id", + "url", + "alt", + "credit", + "license_spdx", + "permissions" + ], + "type": "object" + }, + "type": "array" +} - changed
Output schema / properties / entity / requiredPrevious value: -[ - "id", - "type", - "name", - "summary", - "tags", - "evidence_tier", - "confidence", - "last_verified", - "canonical_url", - "api_url", - "questions", - "claims" -]New value: +[ + "id", + "type", + "name", + "summary", + "tags", + "evidence_tier", + "confidence", + "last_verified", + "canonical_url", + "api_url", + "questions", + "claims", + "media" +]
- Changed
get_latest1 field changed- added
Input schema / properties / limit / descriptionAdded value: +"How many recently verified objects to return, newest verification first."
- Changed
get_overview2 fields changed- added
Output schema / properties / total_mediaAdded value: +{ + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" +} - changed
Output schema / requiredPrevious value: -[ - "instance", - "description", - "total_objects", - "by_type", - "tags", - "newest_verification", - "oldest_verification" -]New value: +[ + "instance", + "description", + "total_objects", + "by_type", + "tags", + "newest_verification", + "oldest_verification", + "total_media" +]
- Changed
get_related1 field changed- added
Input schema / properties / id / descriptionAdded value: +"The knowledge object to walk out from, by id."
- Changed
get_sources1 field changed- added
Input schema / properties / object_id / descriptionAdded value: +"Restrict the answer to the sources cited by this knowledge object. Omit it to get the instance's whole source registry."
- Changed
get_topic1 field changed- added
Input schema / properties / tag / descriptionAdded value: +"The topic to list, spelled exactly as get_overview publishes it. Every published topic has objects under it, so an empty answer means the topic does not exist."
- Changed
search4 fields changed- added
Input schema / properties / limit / descriptionAdded value: +"How many ranked hits to return, best first." - added
Input schema / properties / query / descriptionAdded value: +"What to look for, in the user's own words. Matched against titles, questions, claim text and tags; accents and apostrophes are ignored, so 'jose' finds 'José'." - added
Output schema / properties / results / items / properties / matched_fields / descriptionAdded value: +"Which fields the query hit: name, tags, content. Does NOT determine the score on its own." - added
Output schema / properties / results / items / properties / score / descriptionAdded value: +"Text match, weighted by where the token hits (name 3, tags 2, content 1 per query token), plus a centrality bonus of up to 0.9 for objects that other objects point at. That bonus is why two hits can share matched_fields and still score differently: the decimal is inbound edges, not text relevance."
4 tool updates
- Changed
get_entity1 field changed- added
Output schema / properties / recoveryAdded value: +{ + "additionalProperties": false, + "properties": { + "available": { + "items": { + "type": "string" + }, + "type": "array" + }, + "available_count": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "available_truncated": { + "type": "boolean" + }, + "did_you_mean": { + "items": { + "type": "string" + }, + "type": "array" + }, + "hint": { + "type": "string" + }, + "next_tool": { + "type": "string" + } + }, + "required": [ + "available_count", + "available", + "next_tool", + "hint" + ], + "type": "object" +}
- Changed
get_related1 field changed- added
Output schema / properties / recoveryAdded value: +{ + "additionalProperties": false, + "properties": { + "available": { + "items": { + "type": "string" + }, + "type": "array" + }, + "available_count": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "available_truncated": { + "type": "boolean" + }, + "did_you_mean": { + "items": { + "type": "string" + }, + "type": "array" + }, + "hint": { + "type": "string" + }, + "next_tool": { + "type": "string" + } + }, + "required": [ + "available_count", + "available", + "next_tool", + "hint" + ], + "type": "object" +}
- Changed
get_sources1 field changed- added
Output schema / properties / recoveryAdded value: +{ + "additionalProperties": false, + "properties": { + "available": { + "items": { + "type": "string" + }, + "type": "array" + }, + "available_count": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "available_truncated": { + "type": "boolean" + }, + "did_you_mean": { + "items": { + "type": "string" + }, + "type": "array" + }, + "hint": { + "type": "string" + }, + "next_tool": { + "type": "string" + } + }, + "required": [ + "available_count", + "available", + "next_tool", + "hint" + ], + "type": "object" +}
- Changed
get_topic1 field changed- added
Output schema / properties / recoveryAdded value: +{ + "additionalProperties": false, + "properties": { + "available": { + "items": { + "type": "string" + }, + "type": "array" + }, + "available_count": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "available_truncated": { + "type": "boolean" + }, + "did_you_mean": { + "items": { + "type": "string" + }, + "type": "array" + }, + "hint": { + "type": "string" + }, + "next_tool": { + "type": "string" + } + }, + "required": [ + "available_count", + "available", + "next_tool", + "hint" + ], + "type": "object" +}
8 tool updates
- First observed
answer - First observed
get_entity - First observed
get_latest - First observed
get_overview - First observed
get_related - First observed
get_sources - First observed
get_topic - First observed
search
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user, then choose Claim with GitHub. An organization namespace such asio.github.acme/serveralso needs that organization to have installed the Glama AI GitHub App and approved its permissions, because GitHub discloses organization membership only to apps it has installed. Use HTTP or DNS when it has not.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Spain's contributions to world science, exploration and culture, rigorously sourced
Football-Data.org MCP — soccer competitions, matches, standings
Historical football results, teams, competitions and draw/streak statistics via 10 read-only tools.
Football fixtures, standings, and odds intelligence for AI agents.
Related MCP Servers
- AlicenseAqualityBmaintenanceEvery FIFA World Cup since 1930 wrapped as 15 MCP tools — squads, brackets, stadiums, matches, awards, trivia. Powered by the Zafronix WC API.15192MIT
- AlicenseAqualityCmaintenanceRead-only MCP server exposing game rules, FAQs, and official links for the Women's World Cup 2027 simulator Pitch Queens, enabling AI clients to retrieve verified context without API keys.2MIT
- AlicenseNot gradedqualityCmaintenanceMCP server for retrieving World Cup match briefs, fixtures, and event explanations with sourced, plain-language context.MIT
- AlicenseAqualityBmaintenanceEnables AI assistants to query live football data, including fixtures, live scores, standings, statistics, betting odds, and full odds movement history for corner and card lines.11506MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Every tool targets a distinct retrieval mode: answer for direct questions, search for candidate discovery, get_entity for a single object, get_related for graph neighbours, get_topic for tag browsing, get_latest for freshness, get_sources for citations, and get_overview for corpus-level context. The descriptions also explicitly contrast each tool with the alternatives that might be confused with it.
The majority of tools follow a clear get_<noun> pattern (get_entity, get_topic, get_sources, get_overview, get_related, get_latest), and all names are lowercase snake_case. The two query actions, answer and search, break the get_ prefix pattern slightly, but they are intentionally different entry-point verbs rather than resource fetches.
Eight tools is well within the ideal range for a knowledge-graph query server. Each tool covers a distinct aspect of corpus exploration without feeling redundant or bloated.
The server covers the full read-only workflow for a football knowledge atlas: corpus overview, freshness, full-text search, direct question answering, entity lookup, relation traversal, topic browsing, and source verification. Gaps like create/update/delete are not needed for this domain, and the descriptions deliberately handle misses with near-miss suggestions.