mcp-claudinho
A read-only MCP server for live scores, fixtures, standings, and shareable cards for the 2026 men's football tournament — no API key required.
Get today's matches (
get_today): Retrieve all fixtures for a given date (default: today) with live scores overlaid.Get live matches (
get_live): See all matches currently in play with real-time scores and match minute.Get a specific match (
get_match): Look up detailed info for a single match by its ID, including live state if available.Get group standings (
get_standings): View the group table for a specific group (A–L) or all groups at once.Get next fixture for a team (
get_next_fixture): Find a team's next scheduled match using its 3-letter code (e.g. MEX, BRA, USA).Get prediction-market signals (
get_market_signal): Retrieve read-only, market-implied win percentages (sourced from Polymarket) for a specific match, a team's next fixture, or all matches on a given date — informational only, not betting advice.Get a shareable match snippet (
get_share_snippet): Generate a polished, copy-pasteable plain-text match card for a specific match, a team's next fixture, a date, or live matches — with optional hashtag, market line, and install cue.
All tools support locales (en, es, pt, fr), IANA time zones, and customizable commentary flair.
Claudinho ⚽
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)⭐ Like it? Star the repo — a fan project's only scoreboard is its stars. (
claudinho starshows you how anytime.)
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 9 pts · 3-0-0 · +6
2. 🇿🇦 RSA 4 pts · 1-1-1 · -1
3. 🇰🇷 KOR 3 pts · 1-0-2 · -1
4. 🇨🇿 CZE 1 pts · 0-1-2 · -4
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.
Install
Just the CLI
npm i -g @claudinho/cli
claudinho today
claudinho next MEX --tz America/Mexico_City --lang esCursor CLI — statusline + MCP
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)
export CLAUDINHO_DEBUG=1 # print data-provider failure diagnostics to stderrNote: 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.
Claude Code — statusline, score-aware hook, MCP
npm i -g @claudinho/cli
claudinho init claude # statusline + live-score hook, then the MCP one-linerinit 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/mcpRestart 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).
Other MCP clients — Codex, Claude Desktop, Windsurf, Zed, VS Code
codex mcp add claudinho -- npx -y @claudinho/mcp # Codex CLIEverything else takes the standard stdio config:
{ "mcpServers": { "claudinho": { "command": "npx", "args": ["-y", "@claudinho/mcp"] } } }Then just ask, mid-task — the agent calls the MCP server and answers with the score:
Related MCP server: mcp-sports
Surfaces
CLI —
today,live,next MEX,table,match <id>,bracket,markets,share,team(name → code, e.g.team "DR Congo") (plusvibe😎 andstar⭐).--jsonon everything; TZ-aware via--tz.Live statusline — Claude Code & Cursor CLI — every live score inline; reads a local micro-cache, never blocks on the network. One command per agent:
claudinho init claude/claudinho init cursor(also tmux & Starship viaclaudinho prompt).Score-aware hook (Claude Code) — a
UserPromptSubmithook 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.)MCP server — 9 read-only tools (
get_today,get_live,get_match,get_next_fixture,get_standings,get_bracket,get_market_signal,get_share_snippet,get_team) plusmy_team/tournament_todayprompts.Prediction-market signals — a read-only "who's favored" line (market-implied percentages, Source: Polymarket), shown only when a reliable market exists. Informational only — not betting advice. Opt out:
--no-markets/CLAUDINHO_MARKETS=off.Shareable cards —
claudinho share next MEX --copyputs a plain-text match card on your clipboard;claudinho share table Adoes the same for a group's live standings;claudinho share bracketfor 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.
FAQ
Do I need an API key or account? No. Nothing to sign up for; npx and done.
Does it work offline? The bundled data does — the full schedule, group fixtures, and the knockout bracket structure (all 104 fixtures ship bundled, no key). Anything live hits the network: scores, group standings, and a team's resolved knockout opponent (next once the draw fills in).
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.
Why star?
Claudinho is a solo, $0, organic fan project — a GitHub star is the only signal that it's worth maintaining, and the nudge to keep shipping through the final. A star also:
surfaces it for other devs hunting live scores during the tournament,
puts new releases in your feed — a desktop notifier, an AI pundit, and other tournaments are on the roadmap,
takes one click → ⭐ star Claudinho.
New here? CONTRIBUTING.md has the layout, the dev loop, and good first issues.
License
MIT © 2026 Arturo Garrido. All three packages publish with npm provenance via OIDC trusted publishing.
Built while watching the games. #VibingLaVidaLoca ⚽
Maintenance
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/arturogarrido/claudinho'
If you have feedback or need assistance with the MCP directory API, please join our Discord server