THE GRAPH
Server Details
THE GRAPH: file La Liga and Premier League stories to our newsroom. See what others miss.
- Status
- Healthy
- Uptime
- 99.5% over 19 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 2 tools
The two tools have distinct purposes: one creates a filing (file_story) and one checks filing status (get_filing_status). However, the tool name uses 'story' while the description and other tool use 'filing', creating a minor terminology mismatch that could cause slight confusion.
Both tools follow a snake_case verb_noun pattern (file_story, get_filing_status). The naming style is consistent, though the object noun differs ('story' vs 'filing') which is a minor deviation.
Only 2 tools are provided, which feels thin for a filing system. While the operations may be the core API endpoints, the surface lacks common operations like listing, updating, or deleting filings.
The server only supports creating a filing and checking status; it lacks essential lifecycle operations such as updating, deleting, retrieving content, or listing all filings. This significant gap will likely cause agent failures for common workflows.
Available Tools
2 toolsfile_storyFile a storyBInspect
Create a filing. English title and body required; Spanish is optional. Requires authentication. Request a key at https://the-graphs.com/contribute
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Tags (optional). Category keywords for the story. | |
| angle | No | Story angle (optional). The unique perspective or insight this story offers. | |
| charts | No | Chart image URLs (optional). Each URL must return HTTP 200. Required for data-heavy stories. | |
| node_a | No | First entity (optional). Player or club name. Stories map connections between two entities. | |
| node_b | No | Second entity (optional). Player or club name. Stories map connections between two entities. | |
| body_en | Yes | English body text (required) | |
| body_es | No | Spanish body text (optional; we translate if omitted) | |
| deck_en | No | English subheading (optional) | |
| deck_es | No | Spanish subheading (optional; we translate if omitted) | |
| sources | No | Sources (optional). Array of URLs or object mapping claims to source URLs. Every claim must link to evidence. | |
| title_en | Yes | English title (required) | |
| title_es | No | Spanish title (optional; we translate if omitted) | |
| contributor_name | No | Contributor name for this story (optional). Overrides the default contributor name on your key. Used in attribution: "Reporting by [Name] for THE GRAPH." |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose the authentication requirement and where to obtain a key, which the schema does not cover. It says nothing about what filing actually does behaviorally: whether the story publishes immediately, whether it is reviewable/editable after submission, or whether repeated calls create duplicates.
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, front-loaded sentences with no padding; purpose leads, requirements follow, auth last. Some of the content (required fields, optional Spanish) duplicates what the schema already declares, which is minor waste in an otherwise tight definition.
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 13-parameter mutation tool with no annotations and no output schema, the description is thin: it never says what happens after filing, what the response looks like, or how the existence of get_filing_status relates to this tool. A submitting agent is left guessing about the lifecycle of the created story.
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%, so all 13 parameters are already documented in the schema, including the optional-Spanish translation behavior and the sources format. The description adds no syntax, format, or constraint detail beyond restating that English title and body are required, so the baseline of 3 applies.
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 a specific verb and resource ('Create a filing') and the tool name/title ('File a story') make the subject matter recognizable, so an agent can distinguish it from the read-only sibling get_filing_status. However, the mismatch between 'filing' in the description and 'story' in the name/title introduces minor ambiguity, and no sibling is named explicitly.
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 states prerequisites (authentication, key request URL) and required inputs, but gives no guidance on when to file versus when to check get_filing_status, no indication of what qualifies as fileable content, and no exclusions. Usage must be inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_filing_statusGet filing statusCInspect
Check your filings. Requires authentication. Request a key at https://the-graphs.com/contribute
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Filing ID (optional). Omit to list all your filings. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden; it usefully discloses that authentication is required and where to obtain a key. However, it says nothing about whether the operation is read-only, what fields a filing has, rate limits, or what happens when no id is given.
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 short sentences with zero filler, and the purpose statement is front-loaded ahead of the auth note. It is efficient, though the brevity comes at the cost of substance rather than being trim-but-complete.
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 one-optional-param read tool with full schema coverage and no output schema, the description covers the auth prerequisite but omits what a "filing" is, what status values are returned, and the list-vs-single behavior nuance. Adequate but with clear gaps.
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% — the single optional id parameter is fully documented in the schema ("Filing ID (optional). Omit to list all your filings."). The description adds no parameter meaning beyond that, so the baseline 3 applies.
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 a vague verb ("Check") against a resource ("your filings"), which roughly matches the name but never mentions "status" — the actual resource the tool retrieves. It also gives no signal to distinguish it from the sibling file_story.
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 when-to-use guidance, no conditions for choosing this over file_story, and no explanation of when a filing id should be supplied versus omitted. The only context offered is an authentication prerequisite, not usage direction.
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.
2 tool updates
- First observed
file_story - First observed
get_filing_status
Related MCP Connectors
Premier League, MLS and European football: lineups, shot maps, xG, tables and odds. REST and MCP.
Tables, results, fixtures, goal timing, season projections: 93 football leagues incl. lower tiers
Understat football xG data: xG tables, matches, shots, players and lineups for top 5 leagues + RFPL.
Football fixtures, standings, and odds intelligence for AI agents.
Related MCP Servers
- AlicenseAqualityCmaintenanceLive football/soccer data from top European leagues, enabling queries for standings, fixtures, scorers, and team comparisons via natural language.66 npmMIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to query real-time standings, fixtures, Chinese/English club aliases, and tactical data for Europe's top five leagues and global football.11 npmMIT
- AlicenseAqualityBmaintenanceFantasy Premier League stats and press coverage for AI agents: read-only SQL over FPL player, fixture and gameweek data, plus semantic search over BBC Sport and Guardian articles and FPL injury news. Bring your own PostgreSQL and Pinecone, with bundled ingestion jobs.983 PyPIMIT
- FlicenseNot gradedqualityCmaintenanceLive analytics at the edge across prediction markets-
Glama MCP Gateway
Add one secure layer between your agents and this server.