A fan-built MCP server that pipes 2026 World Cup data into Claude with zero setup. Exposes seven tools: get_today, get_live, get_match, get_next_fixture, get_standings, get_market_signal, and get_share_snippet. All 104 fixtures ship bundled, so the schedule works offline. Live scores pull from ESPN's public scoreboard. The market_signal tool surfaces Polymarket implied probabilities when available, purely informational. No API keys, no signup. Reach for this if you want Claude to answer "when does Mexico play next" or "what's the score" without leaving your editor. Also includes a Claude Code statusline hook that shows live scores inline while you code. Works in any MCP client via stdio transport.
Live scores for the 2026 men's football tournament — in your terminal, your Claude Code / Cursor CLI statusline, and any MCP client. No API key, no signup; all 104 fixtures ship bundled, so the schedule works offline.
npx @claudinho/cli today # try it in 10 seconds — no install, no key
npx @claudinho/cli live # what's on right now (during match windows)
While matches are live, your Claude Code or Cursor CLI statusline reads:
⚽ 🇳🇴 1–1 🇫🇷 87' · 🇸🇳 1–2 🇮🇶 86'
And claudinho share prints a card made for the group chat:
Group A · standings
1. 🇲🇽 MEX 6 pts · 2-0-0 · +3
2. 🇰🇷 KOR 3 pts · 1-0-1 · 0
3. 🇨🇿 CZE 1 pts · 0-1-1 · -1
4. 🇿🇦 RSA 1 pts · 0-1-1 · -2
Live data: ESPN
#VibingLaVidaLoca · Independent fan project · not affiliated with FIFA or Anthropic.
Try it: npx @claudinho/cli table A
⚠️ Not affiliated with, endorsed by, or connected to FIFA or Anthropic. Claudinho is an independent, open-source fan project. It displays factual match data (scores, fixtures, standings) and uses emoji flags only — no logos, emblems, kits, broadcast footage, or player likenesses.
npm i -g @claudinho/cli
claudinho today
claudinho next MEX --tz America/Mexico_City --lang es
One command wires the live-score statusline and prints the MCP config to paste:
npm i -g @claudinho/cli
claudinho init cursor # statusline → ~/.cursor/cli-config.json (+ the MCP paste)
Restart your agent session to see it. Prefer to paste it yourself? claudinho init cursor --print
emits the snippets, or copy them straight from here:
Statusline — ~/.cursor/cli-config.json:
{
"statusLine": {
"type": "command",
"command": "claudinho prompt",
"padding": 0,
"updateIntervalMs": 1000,
"timeoutMs": 1500
}
}
MCP tools — ~/.cursor/mcp.json (global) or a project .cursor/mcp.json:
{ "mcpServers": { "claudinho": { "command": "npx", "args": ["-y", "@claudinho/mcp"] } } }
Optional env — a model + context line below the score, or scope to your team:
export CLAUDINHO_CURSOR_META=auto # model + context % line under the score (recommended)
export CLAUDINHO_TEAM=MEX # show only your team's match
export CLAUDINHO_FLAGS=off # 3-letter codes instead of flag emoji (already automatic in Warp)
Note: Cursor's
beforeSubmitPrompthook doesn't yet reliably inject context into the model, so the score-aware hook stays Claude Code-only for now — the statusline and MCP server work great in Cursor.
npm i -g @claudinho/cli
claudinho init claude # statusline + live-score hook, then the MCP one-liner
init claude backs up ~/.claude/settings.json first and is idempotent. Prefer the pieces
à la carte? Run init-statusline, init-hook, and:
claude mcp add claudinho -- npx -y @claudinho/mcp
Restart Claude Code to activate.
Monorepo / local dev? The
init cursor/init claudealiases wire the globalclaudinho. To point a statusline or hook at a local build, use the granular commands with--command, e.g.claudinho init-cursor-statusline --command "node ./packages/cli/dist/index.js prompt"(andinit-statusline/init-hookfor Claude Code).
codex mcp add claudinho -- npx -y @claudinho/mcp # Codex CLI
Everything else takes the standard stdio config:
{ "mcpServers": { "claudinho": { "command": "npx", "args": ["-y", "@claudinho/mcp"] } } }
today, live, next MEX, table, match <id>, bracket, markets, share (and vibe 😎). --json on everything; TZ-aware via --tz.claudinho init claude / claudinho init cursor (also tmux & Starship via claudinho prompt).UserPromptSubmit hook that drops the live score into the model's context during matches; zero tokens off-match. (Cursor parity pending — its hook can't reliably inject context yet.)get_today, get_live, get_match, get_next_fixture, get_standings, get_bracket, get_market_signal, get_share_snippet) plus my_team / tournament_today prompts.--no-markets / CLAUDINHO_MARKETS=off.claudinho share next MEX --copy puts a plain-text match card on your clipboard; claudinho share table A does the same for a group's live standings; claudinho share bracket for the knockout tree.Speaks en / es / pt / fr, with optional localized commentary flair (¡GOOOOL!) — dial it down with --flavor subtle|off.
Planned (not shipped yet): a desktop notifier and an AI pundit with a public accuracy scorecard.
Do I need an API key or account? No. Nothing to sign up for; npx and done.
Does it work offline? The schedule, next, group skeletons, and knockout bracket structure do — all 104 fixtures are bundled. Only live scores hit the network.
Where does the data come from? Live scores from ESPN's public scoreboard (attributed in output as Live data: ESPN); market signals from Polymarket public data. Rate limits respected.
Is the market line betting advice? No. It's read-only, informational-only market data with attribution — no trading, no links — and it never appears on the statusline or hook.
Why no crests, kits, or player photos? Legal-clean by design: facts and emoji flags only.
Flags show as boxed letters (CH, BA)? Some terminals — notably Warp — don't compose
the regional-indicator pairs into flag glyphs, so 🇨🇭 renders as a boxed CH. claudinho
auto-detects Warp and drops the flags: 3-letter codes on the statusline (MEX 1–0 RSA 67')
and plain team names in the hook, today / live / table, and next. Force it anywhere with CLAUDINHO_FLAGS=off, or keep flags
with CLAUDINHO_FLAGS=on.
Windows? Works, but flag emoji rendering varies by terminal — best on macOS/Linux. See the
flags note above; CLAUDINHO_FLAGS=off gives clean codes on any terminal that can't render them.
MIT © 2026 Arturo Garrido. All three packages publish with npm provenance via OIDC trusted publishing.
Built while watching the games. #VibingLaVidaLoca ⚽
CLAUDINHO_LANGUI language: en, es, pt, or fr (optional; default en)
CLAUDINHO_TZIANA timezone for kickoff times, e.g. America/Mexico_City (optional; default system)
CLAUDINHO_FLAVORCommentary flair: off, subtle, or full (optional; default full)
CLAUDINHO_MARKETSSet to 'off' to hide read-only prediction-market signals (optional; informational only)
io.github.ericm1018/skillfm-llm-cost-optimizer-openai-anthropic-usage
io.github.mikerawsonnz/llm-orchestration-agent
io.github.mikerawsonnz/authenticated-llm-agent
labforgedev/copilot-memory-mcp
csoai-org/agent-prompt-injection-firewall-mcp
io.github.mikerawsonnz/authenticated-multi-llm-agent