Makes your AI agent an expert at football data. It looks up the real docs instead of guessing — qualifier IDs, coordinate systems, API endpoints, method signatures. All verified, all sourced.
Answer two questions and we'll show you exactly what to install.
/plugin marketplace add withqwerty/pluginsOne-time setup to register the withqwerty plugin catalogue.
/plugin install nutmeg@withqwertyInstalls 11 skills, 3 agents, and the football-docs MCP server.
/nutmegDescribe what you want to do. On first run it sets up your profile, then routes everything automatically.
/nutmeg-learn for concepts and provider docs.claude mcp add football-docs -- npx -y football-docs@latestYour agent gets search_docs, list_providers, compare_providers, request_update, and resolve_entity.
claude mcp add football-docs -- npx -y football-docs@latestTry asking your agent football data questions. Want the full toolkit later? Run /plugin marketplace add withqwerty/plugins then /plugin install nutmeg@withqwerty.
{"mcpServers": {"football-docs": {"command": "npx", "args": ["-y", "football-docs@latest"]}}}npx skills add withqwerty/nutmegInstalls the 11 skills via the Agent Skills standard.
Tell your AI: "set up nutmeg" or "initialise nutmeg". It'll ask about your language, data sources, and experience.
{"mcpServers": {"football-docs": {"command": "npx", "args": ["-y", "football-docs@latest"]}}}.vscode/mcp.json:{"servers": {"football-docs": {"command": "npx", "args": ["-y", "football-docs@latest"]}}}npx skills add withqwerty/nutmegInstalls the 11 skills via the Agent Skills standard.
Tell your AI: "set up nutmeg" or "initialise nutmeg". It'll ask about your language, data sources, and experience.
.vscode/mcp.json:{"servers": {"football-docs": {"command": "npx", "args": ["-y", "football-docs@latest"]}}}~/.codeium/windsurf/mcp_config.json:{"mcpServers": {"football-docs": {"command": "npx", "args": ["-y", "football-docs@latest"]}}}npx skills add withqwerty/nutmegInstalls the 11 skills via the Agent Skills standard.
Tell your AI: "set up nutmeg" or "initialise nutmeg". It'll ask about your language, data sources, and experience.
~/.codeium/windsurf/mcp_config.json:{"mcpServers": {"football-docs": {"command": "npx", "args": ["-y", "football-docs@latest"]}}}npx -y football-docs@latestCheck your tool's docs for how to configure MCP servers.
npx skills add withqwerty/nutmegSkills work with any tool supporting the Agent Skills standard.
Tell your AI: "set up nutmeg" or "initialise nutmeg". It'll ask about your language, data sources, and experience.
npx -y football-docs@latestAny MCP-compatible tool can connect.
npx -y football-docs@latestAdd this as an MCP server in your tool's settings. Try asking football data questions. Want skills too? Run npx skills add withqwerty/nutmeg.
| Provider | Events | Stats | xG | Free? |
|---|---|---|---|---|
| StatsBomb | Open data | |||
| Opta | ||||
| Wyscout | ||||
| SportMonks | Free tier | |||
| FBref | ||||
| Understat |
Searchable documentation across 24 football data providers and tools, built for AI coding agents. Covers club and provider APIs including StatsBomb, Wyscout, SportMonks, Impect, SkillCorner, Sportradar, Driblab, TheSportsDB, BeSoccer, FMDB Pro, TransferRoom, Opta, and public/free sources, plus open-source libraries people build with too (kloppy, mplsoccer, socceraction, soccerdata, databallpy, floodlight, fast-forward, unravelsports, and more). Your agent resolves provider names, looks up the real docs, compares provider concepts, and resolves football entities across provider IDs instead of guessing from training data. Works with any MCP client.
Adds football-docs to the current Claude Code project.
claude mcp add football-docs -- npx -y football-docs@latest Use this when you want football-docs available across all Claude Code projects.
claude mcp add --scope user football-docs -- npx -y football-docs@latest Use this shape in clients that accept MCP server JSON config.
{
"mcpServers": {
"football-docs": {
"command": "npx",
"args": [
"-y",
"football-docs@latest"
]
}
}
} use football-docs to look up Opta qualifier 76. 403 with an API Gateway message, not 404, so it reads as an entitlement failure and sends an agent chasing the wrong cause. Rate limiting returns 405 rather than 429, so retry logic keyed on 429 never fires. Season-scoped and team-scoped player stats use path shapes that each look like a typo for the other. Some valid requests return an undocumented 409. And the API is not read-only: POST /game and DELETE /player/{id} exist.BallHandling, team stats in twelve snake_case groups, where the guide documents seven. Game-level player rows are flat camelCase rather than nested objects, and Arrigo metrics arrive in eight groups whose names can mix an underscore and a space. The docs now list what the API actually sends. Takes the corpus to 2,325 chunks across 24 providers.
23 React chart components, 10 data-provider adapters, one canonical coordinate frame, zero-config defaults. Typed from schema to render. Every chart is agent-discoverable via a static JSON registry at campos.withqwerty.com/r/ — nutmeg proposes and composes campos charts automatically when it detects a React project. Docs and live demos at campos.withqwerty.com.
When nutmeg detects a React project (package.json contains react or @withqwerty/campos-react), it loads a shared bridge doc, fetches the registry above, and proposes campos charts with real capability data per provider. Chart output, adapter selection, and recipe suggestion all route through the live catalogue — no hallucinated props, no training-data drift. See nutmeg on GitHub for the bridge reference.