Odel
mcp cricket

mcp cricket

@asaraogGoBSD-3-ClauseUpdated 5 days ago

Live ball-by-ball cricket, prediction-market prices, and a win model fitted on 17,907 matches.

Server endpointStreamable HTTPNo authProbed

This is the third-party server itself β€” Odel doesn't run it. Hitting this URL directly talks straight to the upstream server with no auth or proxying. Connect through Odel to front it with managed auth.

🏏 Cricket MCP Server

MCP Go License

Cricket analytics for Claude Desktop, Claude Code, Cursor and any other MCP client β€” a calibrated win-probability model, 22,479 archived matches, and live prediction-market prices.

A Model Context Protocol server that gives AI assistants real cricket knowledge: a calibrated win-probability model, a ball-by-ball archive of 22,000+ matches, live prediction-market prices, career records, and live scores.

Ask cricket questions in plain language and get answers computed from data rather than recalled from training.

⚑ Add it in one step

It is hosted. There is nothing to install, download, build or configure.

https://cricketfornoobs.com/mcp

Paste that into your client's connector settings and you are done.

ClientWhere
Claude (free plan included)Customize β†’ Connectors β†’ Add custom connector
ChatGPTSettings β†’ Apps β†’ Developer mode β†’ add server
Claude Codeclaude mcp add --transport http cricket https://cricketfornoobs.com/mcp
Cursor / VS Codeone-click buttons at cricketfornoobs.com/mcp
Gemini CLIadd {"cricket": {"httpUrl": "https://cricketfornoobs.com/mcp"}} to ~/.gemini/settings.json

No account, no API key, no data pipeline. Read-only.

Prefer to run it on your own machine? See Quick start below: same tools, one static binary.

πŸ’¬ Things to ask it

  • "Who's winning the India match right now, and what does the model say?"
  • "Who is favoured at 149 for 7 chasing 178 with three overs left?"
  • "How does Kohli bat against Bumrah in T20s?"
  • "What does the market think versus your model for Welsh Fire vs Southern Brave?"
  • "How does Bumrah get his wickets β€” bowled, caught, lbw?"
  • "What's Rashid Khan's dot-ball percentage in T20s?"
  • "Is Kohli better batting first or chasing?"
  • "Who does Rohit Sharma score most of his runs with?"
  • "Does Grand Prairie Stadium favour chasing?"
  • "Show me Pooran's death-overs record."
  • "What actually is a googly?"

The same win model runs in production at cricketfornoobs.com, a live cricket explainer for American sports fans. This server exposes the analytics side of it to any MCP client.

✨ What makes this different

Most sports MCP servers wrap a scores API. This one ships analysis:

  • Win probability from a fitted model β€” logistic regression per format and innings over 17,907 matches (5.6M ball states), with pre-match Elo ratings. Held-out log loss 0.42 (T20 chases) / 0.40 (ODI chases); ~91% accurate on confident calls. It knows that 149/7 chasing 178 is not the same story as 149/2.
  • Ball-by-ball archive β€” 22,479 matches and 11.4M deliveries across T20, ODI/List-A, Tests and domestic multi-day cricket.
  • Career and matchup records β€” batter-vs-bowler head-to-heads, phase splits (powerplay / middle / death), venue reports, league leaderboards.
  • Baseball translations β€” every cricket term explained through its closest baseball equivalent, for newcomers to the sport.

πŸ› οΈ Tools

ToolWhat it does
cricket_win_probabilityWin probability for any live or hypothetical match state
cricket_head_to_headCareer batter-vs-bowler record (balls, runs, dismissals, strike rate)
cricket_player_careerCareer aggregates per format, men's and women's cricket
cricket_match_archiveScorecard for an archived match, searched by teams / league / year
cricket_phase_statsBatting and bowling split by powerplay, middle overs and death
cricket_venue_statsGround report: average first-innings score, chase win rate
cricket_leadersLeague and season leaderboards for runs or wickets
cricket_team_formA team's recent archived results
cricket_dismissalsHow a batter gets out, or how a bowler takes wickets
cricket_disciplineDot-ball and boundary percentage, the numbers no scorecard shows
cricket_situationalA batter's record batting first versus chasing
cricket_partnershipsRuns added with each partner at the crease, and the best stand
cricket_market_oddsLive prediction-market prices (Kalshi) beside this model's number
cricket_live_matchesMatches live and upcoming right now
cricket_explain_termAny cricket term, with its baseball equivalent

All tools are read-only.

πŸš€ Quick start

1. Install

One static binary, no runtime, no interpreter, no dependencies.

go install github.com/asaraog/mcp-cricket/cmd/cricket-mcp@latest

Or download a prebuilt binary for macOS (Apple silicon or Intel), Linux (x86-64 or arm64) or Windows from Releases.

Register it with Claude Code:

claude mcp add cricket -- ~/go/bin/cricket-mcp

2. Or configure a desktop client

Add the server to your client's config β€” for Claude Desktop:

OSConfig file
macOS~/Library/Application Support/Claude/claude_desktop_config.json
Windows%APPDATA%\Claude\claude_desktop_config.json
Linux~/.config/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "cricket": {
      "command": "/ABSOLUTE/PATH/TO/cricket-mcp"
    }
  }
}

Restart the client and the cricket tools appear. That's the whole setup β€” on first use the server downloads the prebuilt archive once (~200 MB) into your OS cache directory (~/Library/Caches on macOS, ~/.cache on Linux, %LocalAppData% on Windows) and reuses it from then on. No account, no API key, no data pipeline to run.

Building the archive yourself instead

The archive is generated from public Cricsheet data, so you can build your own rather than downloading ours:

curl -O https://cricsheet.org/downloads/all_json.zip
python3 scripts/histgen.py all_json.zip history.db

Then point HISTORY_DB at the result. Limited-overs-only archives work too β€” tools degrade gracefully when a format is absent.

βš™οΈ Configuration

VariablePurpose
HISTORY_DBWhere the archive lives (default: your OS cache directory)
HISTORY_DB_URLOverride the archive download URL
HISTORY_DB_TOKENBearer token, if that URL needs auth
HISTORY_QUERY_TIMEOUTQuery deadline, default 3s; raise for heavy leaderboards

Live-score tools work without any archive; archive tools report clearly when the database is missing rather than inventing an answer.

πŸ“Š About the model

The win model is fitted offline, not guessed at runtime. Features are match state (runs, wickets, balls remaining, required rate), pre-match Elo, and a wickets Γ— required-rate interaction β€” because thin batting hurts far more when the asking rate is steep. Calibration is measured by wickets in hand: within about one point across most of the range.

Par is per ground. A first-innings score only means something relative to what the ground usually yields, so the innings-one segments are fitted against a table of 371 grounds and 7 leagues rather than one global constant. Real pars run from 153.7 to 172.5 by league alone, and further by ground. Pass venue (and league) to cricket_win_probability and the same 80/2 at ten overs is 47% at Chinnaswamy and 60% at Newlands. Without a venue it falls back ground β†’ league β†’ global, which costs about 0.006 of held-out log loss.

It cannot see injuries, weather, pitch reports or team news.

πŸ“ˆ Markets

cricket_market_odds reads public prices from Kalshi, a CFTC-regulated US exchange where contracts settle at $1 and a price in cents is the implied probability. Put beside cricket_win_probability, the gap between the two is the edge a trader would be claiming.

This is informational only β€” read-only market data, no account, no orders, no advice. The model cannot see injuries, weather or team news, which is often exactly why it disagrees with the market. Event contracts are legal in some jurisdictions and not others.

πŸ™ Data

Ball-by-ball data from Cricsheet, licensed CC BY-SA 4.0. Live scores from public ESPNcricinfo endpoints; market prices from Kalshi's public API. This project is unaffiliated with any of them.

πŸ“ License

BSD 3-Clause. See LICENSE.