Cricket analytics MCP server — ball-by-ball stats, records & insights powered by DuckDB
23 tools with consistent naming (verb_noun pattern) and complete input schemas. Descriptions present but generic, most are 30-80 chars, below the 194-char baseline for A+ tools. Parameter descriptions are minimal (10-30 chars), lacking actionable constraints, format hints, or dependency guidance. No output schemas documented. Error handling absent, tools return raw query results with no recovery guidance. Missing idempotency hints, permission scopes, and audit trail declarations. Composition is sound (each tool has one responsibility), but parameter design forces LLMs to guess valid values (e.g., 'match_type' accepts 'Test, ODI, T20' but this is not enumerated).
Query batting statistics for players
Query bowling statistics for players
Analyze successful and unsuccessful chases in cricket matches
Analyze DRS (Decision Review System) reviews and outcomes
Analyze extras (wides, no-balls, byes, leg-byes) in matches
Query fielding statistics for players
Query head-to-head matchup statistics between teams or players
Query knockout stage matches and results
No output schemas documented. Tools return raw query results; LLMs cannot predict field names, types, or structure for downstream chaining. Violates pattern:response-shaper.
Parameter descriptions are minimal (10-30 chars) and lack actionable constraints. 'match_type filter' does not enumerate valid values (Test, ODI, T20, etc.). LLMs guess and pass invalid values. Violates pattern:constrained-input.
Tool descriptions are generic and under 100 chars (baseline 194 chars for A+ tools). 'Query batting statistics for players' does not explain when to use this vs player_progression, what filters do, or expected output structure. Violates pattern:tool-description.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 49 | 2026-07-28+ | v2 |
Detailed analysis of a specific match
Query match officials (umpires, referees) for matches
Get summary of a cricket match
Query player milestones (centuries, fifty-wicket hauls, etc.)
Query partnership statistics between batters
Analyze cricket match phases (powerplay, middle overs, death overs)
Query Player of the Match awards and statistics
Track player performance progression over time
Query playing XI lineups for matches
Execute custom SQL queries against the cricket database
Search for cricket players by name or ID
Query series statistics and results
Query team statistics and performance
Query tournament statistics and standings
Query venue statistics and match history
No error handling or recovery guidance. Tools return raw database errors or empty results with no actionable next steps. Violates pattern:recovery-guide.
run_query tool exposes raw SQL execution. No input validation, no query sandboxing, no audit trail. High SQL injection risk if LLM is tricked into malicious queries. Violates pattern:tool-gateway and pattern:audit-trail.