Skip to main content
Glama
withqwerty

football-docs

by withqwerty

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
search_docsA

Search football data provider documentation. Use for finding event types, qualifier IDs, API endpoints, coordinate systems, data models, and cross-provider mappings. Returns the most relevant documentation chunks. Results that do not contain every query term are marked "partial", and the reply names any query term that no indexed doc mentions: if the question is about that term, it is not indexed. It also says when the query names a provider that is not indexed, and why.

resolve_provider_idA

Resolve a football data provider name or alias to the canonical football-docs provider key before searching. Use when users mention brands, vendors, products, or aliases such as Stats Perform, Opta F24, Hudl Wyscout, Second Spectrum, FMDB, Transfer Room, FBref, Sofascore, or TheSportsDB.

get_provider_docsA

Retrieve documentation for a resolved provider, optionally filtered by topic or indexed category. Use after resolve_provider_id when you know which provider to inspect and want provenance-bearing docs.

list_providersA

List all indexed football data providers, their document count, and coverage categories. Use to understand what documentation is available. Call this first to see what providers are indexed before searching.

compare_providersA

Compare what two or more providers offer for a specific data type or concept. For example: 'How do Opta and StatsBomb represent shot events differently?'

request_updateA

Request that a provider's documentation be added, updated, or recrawled. Use when you notice docs are outdated, a provider is missing, or you know of a better documentation source. Requests are queued for review.

resolve_entityA

Map a football entity (player, coach, referee, team, competition, season, stage or match) to its IDs at every provider through the Reep register: Opta, Transfermarkt, Wyscout, SkillCorner, StatsBomb, FotMob, API-Football and more. Look up by provider + id (pass namespace too, e.g. transfermarkt 'spieler', opta 'person'), by reep_id, or by name. Sources, in order: a local copy of the free register (REEP_DUCKDB_PATH), then the Reep API (REEP_API_KEY; keys are issued by hand on request, never self-service). With neither set, it returns setup steps and a DuckDB query. Keeping the local file current: Reep releases weekly. Every local answer ends with the file's release stamp checked against https://data.reep.football/releases/latest.json. If it says the file is out of date, tell the user and offer to run the curl command it gives, which downloads https://reep.football/downloads/duckdb over the same path; the next call uses the new file without a restart. Before bulk matching, make sure the file is current.

search_papersA

Search scholarly papers on football analytics and sport science: OpenAlex (title, abstract and full text), arXiv (title, abstract, authors) and SportRxiv (title, abstract, keywords). Use it to find the paper behind a method (xG, VAEP, EPV, pitch control) or the works that cite an idea. Use words and "quoted phrases"; OpenAlex matches full text, so a hit may cite the idea rather than introduce it. Many methods first appeared in blog posts or conference papers without a DOI (xT, for example): search the web for those and read them with get_web_source. The reply names the services asked. FOOTBALL_DOCS_PAPERS=off turns paper lookups off.

get_paperA

Look up one paper by DOI, arXiv ID, OpenAlex ID, zotero: ID or local: ID: title, authors, date, venue, all IDs, licence, open copies with their licences, abstract and a citation line. arXiv IDs come from arXiv with the paper's licence; DOIs from OpenAlex, then SportRxiv or Crossref. Use it to check that a reference exists and says what is claimed.

get_web_sourceA

Read a public web page (blog post, newsletter, club or vendor article) as text, with its author, date, licence and Wayback Machine snapshots. Use it for methods first published on the web, such as Karun Singh's xT post, after finding the page with a web search. A page with no date gets the date of its earliest snapshot as an upper bound. Reads HTML and PDF. Long pages come back by section. The tool stops at bot checks and refuses local addresses.

read_paperA

Read a paper's text. Finds an open copy (arXiv, open repositories, open-access publishers, SportRxiv) and returns it in full, by section, with its licence. For a paper the user supplied (add_local_paper or zotero:), returns only the outline and passages of at most 200 characters (FOOTBALL_DOCS_PAPERS_PASSAGE_CHARS). The text is kept in the user's library, so a second call sends no request. It never logs in anywhere and stops at bot checks; when no open copy can be read it says so and suggests add_local_paper.

match_quoteA

Check that a quote appears in its source: a paper (any ID read_paper takes) or a web page URL. Reports exact, normalised (same words; case, spacing, quote marks, ligatures or hyphens differ), close (with a similarity score: quote the source's own words instead) or none, with the section, page and a W3C TextQuoteSelector. Use it before citing a definition or a claim.

add_local_paperA

Add a PDF the user has (for example a paper from their library's subscription) to their football-docs library. Only PDF files are read; the text stays on this computer and is never sent anywhere. Returns a local: ID for read_paper and match_quote, which give only the outline and short passages of such papers.

forget_paperA

Remove one paper's text from the user's football-docs library. The user's own file and Zotero are not touched.

purge_cacheA

Delete the user's whole football-docs paper library and the SportRxiv copy. Call with confirm: true only when the user asked for it.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.2/5.0

Scored across 15 tools

Disambiguation4/5

Most tools have clearly distinct purposes: paper search/read/quote tools, provider documentation tools, and entity/provider resolution tools are separated by their descriptions. Minor overlap exists between search_docs and get_provider_docs, and between list_providers and resolve_provider_id, but the descriptions provide enough context to select correctly.

Naming Consistency5/5

All tool names use consistent snake_case and follow a predictable verb_noun or verb_object pattern (e.g., search_papers, get_paper, read_paper, resolve_entity, compare_providers). Even less conventional names like purge_cache and forget_paper fit the same structural convention, making the set easy to scan.

Tool Count4/5

The 15 tools are reasonable for a documentation and research server spanning papers, provider docs, web sources, local PDFs, and entity resolution. The count sits at the upper end of the comfortable range but does not feel excessive given the breadth of supported workflows.

Completeness4/5

The surface covers the core research and documentation lifecycle well: searching, retrieving, reading, quoting, adding local papers, resolving entities/providers, and requesting doc updates. A minor gap is the lack of a tool to list or search the user's own saved local paper library, but other tools mostly compensate through local IDs and deletion/purge operations.

Maintenance

ActivityActive
ResponsivenessResponsive