# io.github.arturogarrido/claudinho (npm · @claudinho/mcp)

Live 2026 World Cup scores, fixtures & standings for your AI agent. No keys. Unofficial fan project.

- Trust score: 46/100 (low)
- Change this week: −4
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- npm · `@claudinho/mcp`: 46/100 (this document), [markdown](https://verifymcp.io/servers/arturogarrido-claudinho/claudinho-mcp.md), [page](https://verifymcp.io/servers/arturogarrido-claudinho/claudinho-mcp)

## Channel facts

- Registry: `npm`
- Package: `@claudinho/mcp`
- Version: `0.9.4`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Supply Chain Security**: 87/100
  - No malware found by supply-chain analysis.
  - Only part of the dependency tree could be resolved (95 of 99), so this covers what we could see, not the whole tree.
  - No install/post-install scripts declared.
  - Only part of the dependency tree could be resolved (95 of 99), so this covers what we could see, not the whole tree.
- **Provenance & Transparency**: 97/100
  - Source repository is publicly reachable at the declared URL.
  - Cryptographically verified build provenance (signed, bound to arturogarrido/claudinho).
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 0 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 0/100
  - Schema quality not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet.
- **Tool Coverage**: 0/100
  - Tool coverage not yet verified: we do not have a sandbox capture of the tool definitions this version of the package serves yet.
- **Capabilities**: 0/100
  - Protocol version not yet verified: we do not have a sandbox capture of the MCP handshake this version of the package performs yet.

**Unverified: 4 categories.** Categories scored 0 because our sandbox run of this package has not given us the schema these checks need to read. That is a gap on our side rather than a finding about the package, and we only credit what we can confirm, so the score stands at 0 until the capture succeeds. We are working through the fleet, so this normally clears without any action from you.

## Install

### Claude

```bash
claude mcp add arturogarrido-claudinho -- npx -y @claudinho/mcp
```

### Codex

```bash
codex mcp add arturogarrido-claudinho -- npx -y @claudinho/mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "arturogarrido-claudinho": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@claudinho/mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add arturogarrido-claudinho --command npx --arg -y --arg @claudinho/mcp
```

### Hermes

```yaml
mcp_servers:
  arturogarrido-claudinho:
    command: "npx"
    args: ["-y", "@claudinho/mcp"]
```

### Other

```json
{
  "mcpServers": {
    "arturogarrido-claudinho": {
      "command": "npx",
      "args": [
        "-y",
        "@claudinho/mcp"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 46, −33)

- [security regression] Stability: 0.23 → unverified
- [functional regression] Tool coverage: 100 → unverified
- [functional regression] Schema quality: 100 → unverified
- [functional regression] Capabilities: pass → unverified
- [functional] Package version: 0.8.19 → 0.9.4

### 2026-08-02 (score 79, +40)

- [security improvement] Install scripts: unverified → pass
- [security improvement] Provenance: unverified → pass
- [security improvement] Known CVEs: unverified → partial
- [security] The attested source repository moved: arturogarrido/claudinho
- [functional improvement] Dependency health: unverified → partial
- [functional improvement] MCP protocol: unverified → pass
- [functional improvement] Stability: unverified → 0.23
- [functional improvement] Maintenance: unverified → pass
- [functional improvement] Schema quality: unverified → excellent
- [functional improvement] License: unverified → pass
- [functional] Licence: MIT

### 2026-08-01 (score 39, +7)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-31 (score 32, −18)

- [security regression] Malware scan: pass → unverified

### 2026-07-27 (score 50)

First indexed and scored.

## MCP tools (9)

### `get_today` (~210 tokens)

Today's matches

All fixtures for a date (default: today), with live score and minute overlaid on any match in play. Optional prediction-market enrichment carries marketComplete; false means the read was incomplete, not that no signal exists. Use this for a whole day's card; for only in-play matches use get_live, for one team's match use get_next_fixture, for a single match's detail use get_match. Kickoffs render in tz; lang localizes dates, attribution, and commentary (en/es/pt/fr); flavor sets commentary tone.

Input parameters:

- `date` (string): Date as YYYY-MM-DD (default: today)
- `flavor` (string): Commentary flair: off, subtle, full (default: full)
- `lang` (string): Locale for dates, provider attribution, and commentary: en, es, pt, fr (the summary scaffold stays English; other locales fall back to en)
- `tz` (string): IANA timezone for kickoff times, e.g. America/Mexico_City

Output parameters:

- `count` (number)
- `date` (string)
- `degraded` (boolean)
- `marketComplete` (boolean): False when optional market enrichment did not check every relevant fixture
- `marketSignals` (object)
- `matches` (array)
- `responseTruncated` (boolean)
- `responseTruncation` (string)
- `source` (string|null)
- `truncated` (boolean)

### `get_live` (~137 tokens)

Live matches

Only matches in play right now — each with current score and minute (empty when nothing is live). Use during matches for in-play state; for a full day's schedule including upcoming and finished, use get_today. tz/lang/flavor affect formatting only.

Input parameters:

- `flavor` (string): Commentary flair: off, subtle, full (default: full)
- `lang` (string): Locale for dates, provider attribution, and commentary: en, es, pt, fr (the summary scaffold stays English; other locales fall back to en)
- `tz` (string): IANA timezone for kickoff times, e.g. America/Mexico_City

Output parameters:

- `count` (number)
- `degraded` (boolean)
- `matches` (array)
- `responseTruncated` (boolean)
- `responseTruncation` (string)
- `source` (string|null)
- `truncated` (boolean)

### `get_match` (~166 tokens)

Match detail

One match by its id, with live score/minute overlaid when it's in play. Optional prediction-market enrichment carries marketComplete; false means the read was incomplete, not that no signal exists. Get the id from get_today or get_live; to find a team's match without an id, use get_next_fixture. tz/lang/flavor affect formatting.

Input parameters:

- `flavor` (string): Commentary flair: off, subtle, full (default: full)
- `id` (string, required): Match id
- `lang` (string): Locale for dates, provider attribution, and commentary: en, es, pt, fr (the summary scaffold stays English; other locales fall back to en)
- `tz` (string): IANA timezone for kickoff times, e.g. America/Mexico_City

Output parameters:

- `degraded` (boolean)
- `marketComplete` (boolean): False when optional market enrichment did not check this fixture
- `marketSignal`
- `match`
- `responseTruncated` (boolean)
- `responseTruncation` (string)
- `source` (string|null)

### `get_standings` (~186 tokens)

Group standings

Live cumulative group standings — pass a group letter A–L, or omit for all 12. Returns ranked rows (team, played, W/D/L, goal difference, points). Use get_today for fixtures/scores and get_next_fixture for one team. If unavailable, the default World Cup scope returns a roster at zero; competitions without a compatible bundled roster return no tables. Both are flagged degraded.

Input parameters:

- `flavor` (string): Commentary flair: off, subtle, full (default: full)
- `group` (string): Group letter A–L (omit for all)
- `lang` (string): Locale for dates, provider attribution, and commentary: en, es, pt, fr (the summary scaffold stays English; other locales fall back to en)
- `tz` (string): IANA timezone for kickoff times, e.g. America/Mexico_City

Output parameters:

- `degraded` (boolean)
- `responseTruncated` (boolean)
- `responseTruncation` (string)
- `source` (string|null)
- `tables`

### `get_bracket` (~183 tokens)

Knockout bracket

Knockout bracket from the Round of 32 through the final, with live scores overlaid. Group slots project from live standings once a group has started; winner slots need a confirmed FT result. Pass an optional stage (R32, R16, QF, SF, 3P, F) to filter one round. Falls back to structure-only when live data is unavailable.

Input parameters:

- `flavor` (string): Commentary flair: off, subtle, full (default: full)
- `lang` (string): Locale for dates, provider attribution, and commentary: en, es, pt, fr (the summary scaffold stays English; other locales fall back to en)
- `stage` (string): Knockout round to show (omit for the full bracket)
- `tz` (string): IANA timezone for kickoff times, e.g. America/Mexico_City

Output parameters:

- `degraded` (boolean)
- `responseTruncated` (boolean)
- `responseTruncation` (string)
- `source` (string|null)
- `standingsDegraded` (boolean)
- `view`

### `get_next_fixture` (~169 tokens)

Next fixture for a team

A team's next match, live-resolved: a confirmed knockout tie (Round of 32 onward) is read from the live overlay, group fixtures from the bundled schedule. Use a 3-letter code, e.g. MEX, BRA, USA. Falls back to the bundled schedule if the provider is unreachable.

Input parameters:

- `flavor` (string): Commentary flair: off, subtle, full (default: full)
- `lang` (string): Locale for dates, provider attribution, and commentary: en, es, pt, fr (the summary scaffold stays English; other locales fall back to en)
- `team` (string, required): 3-letter team code, e.g. MEX
- `tz` (string): IANA timezone for kickoff times, e.g. America/Mexico_City

Output parameters:

- `degraded` (boolean)
- `fixture`
- `responseTruncated` (boolean)
- `responseTruncation` (string)
- `source` (string|null)
- `team` (string)

### `get_market_signal` (~253 tokens)

Prediction-market signal

Read-only prediction-market signals for a match (by id), a team's current-or-next fixture, or a date (default: today). Returns market-implied percentages with attribution; complete:false means the provider read was incomplete, not that no signal exists. Shown only before and during a match — finished matches have no market read. Informational only — relay the numbers factually; do not add betting, trading, or 'value' advice, and do not invent links.

Input parameters:

- `date` (string): Date as YYYY-MM-DD (default: today) for all that day's signals
- `flavor` (string): Commentary flair: off, subtle, full (default: full)
- `lang` (string): Locale for dates, provider attribution, and commentary: en, es, pt, fr (the summary scaffold stays English; other locales fall back to en)
- `matchId` (string): Match id (most specific)
- `team` (string): 3-letter team code, e.g. MEX — resolves to the team's in-play match when one is live, else their next fixture
- `tz` (string): IANA timezone for kickoff times, e.g. America/Mexico_City

Output parameters:

- `complete` (boolean): False when the market provider did not complete every relevant read
- `count` (number)
- `date` (string)
- `degraded` (boolean)
- `informationalOnly` (boolean)
- `matchId` (string|null)
- `responseTruncated` (boolean)
- `responseTruncation` (string)
- `signal`
- `signals` (array)
- `team` (string)
- `truncated` (boolean)

### `get_share_snippet` (~409 tokens)

Shareable match snippet

A polished, copy-pasteable card (plain text) for a match (matchId), a team's next fixture (team), a group's standings table (group, e.g. "A"), the knockout bracket (bracket: true), a date (default: today), or live matches (live: true). Returns the ready-to-paste snippet plus structured data — hand the snippet text to the user verbatim. marketComplete:false is stated inside the card as an incomplete optional read. No links; it carries a non-affiliation disclaimer, and any market line stays informational only.

Input parameters:

- `bracket` (boolean): Knockout bracket card (use with optional knockoutStage)
- `date` (string): Date as YYYY-MM-DD (default: today)
- `flavor` (string): Commentary flair: off, subtle, full (default: full)
- `group` (string): Group letter A–L for a standings card, e.g. A
- `includeHashtag` (boolean): Include the #VibingLaVidaLoca tag (default true)
- `includeInstallLine` (boolean): Include the "Try it: …" run cue (default true)
- `includeMarkets` (boolean): Include the reliable market line when available (default true)
- `knockoutStage` (string): Filter the bracket card to one round
- `lang` (string): Locale for dates, provider attribution, and commentary: en, es, pt, fr (the summary scaffold stays English; other locales fall back to en)
- `live` (boolean): Snapshot of matches in play right now
- `matchId` (string): Match id (most specific)
- `style` (string): social (default, full card) or compact (one line per match)
- `team` (string): 3-letter team code for that team's next fixture, e.g. MEX
- `tz` (string): IANA timezone for kickoff times, e.g. America/Mexico_City

Output parameters:

- `count` (number)
- `degraded` (boolean)
- `group` (string)
- `informationalOnly` (boolean)
- `kind` (string)
- `marketComplete` (boolean): False when optional market enrichment did not check every relevant fixture
- `marketSignals` (object)
- `matches` (array)
- `responseTruncated` (boolean)
- `responseTruncation` (string)
- `snippet` (string)
- `source` (string|null)
- `stage` (string)
- `style` (string)
- `tables`
- `target` (string)
- `team` (string)
- `truncated` (boolean)
- `view`

### `get_team` (~164 tokens)

Resolve a team

Resolve a nation name or 3-letter code to its FIFA code, flag, and group. Fuzzy and forgiving: accepts "Mexico", "mex", "USA", "DR Congo", "Türkiye"/"Turkey", "Holland", etc. Use this FIRST to turn a user's team name into the code the other tools need (get_next_fixture, get_standings, get_market_signal, get_share_snippet). Returns the single confident match (team), plus candidates (matches) when the query is ambiguous (e.g. "south" → South Africa, South Korea). Offline — reads the bundled roster, never the network.

Input parameters:

- `query` (string, required): Team name or 3-letter code, e.g. "Mexico", "MEX", "DR Congo"

Output parameters:

- `count` (number)
- `matches` (array)
- `query` (string)
- `responseTruncated` (boolean)
- `responseTruncation` (string)
- `team`

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/arturogarrido-claudinho/claudinho-mcp#diagnostics

## Score history

- 2026-08-03: 46
- 2026-08-02: 79
- 2026-08-01: 39
- 2026-07-31: 32
- 2026-07-30: 50
- 2026-07-28: 50
- 2026-07-27: 50

## Links

- npm package: https://www.npmjs.com/package/@claudinho/mcp
- Socket report: https://socket.dev/npm/package/@claudinho/mcp
- Repository: https://github.com/arturogarrido/claudinho
- Changelog RSS feed: https://verifymcp.io/servers/arturogarrido-claudinho/claudinho-mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/arturogarrido-claudinho/claudinho-mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/arturogarrido-claudinho/claudinho-mcp
