mcpField
M
mcp-cricket

mcp-cricket

Remote
cricketfornoobs.comGames & Entertainment0Updated 2w ago

About mcp-cricket

mcp-cricket provides AI assistants with live scores, match archives, player statistics, and win-probability analysis for cricket fans and analysts. It presents Kalshi market prices alongside its model estimates and explains cricket terms through baseball equivalents.

Key features

  1. 01Estimate win probability for match states
  2. 02Query ball-by-ball archives and player records
  3. 03View live and upcoming matches
  4. 04Compare Kalshi prices with model estimates
  5. 05Explain cricket terms through baseball equivalents

Use cases

  1. 01Check a live score and likelihood of winning
  2. 02Analyze batter-bowler matchups
  3. 03Review venue, phase, and player statistics
  4. 04Compare market prices with model probabilities

MCP support

The MCP server exposes read-only tools for cricket win probabilities, match archives, career data, live scores, and market prices. Its hosted version also provides Minor League Cricket and Atlanta Open T20 data.

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://cricketfornoobs.com/mcp
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

Tools

17
ParameterTypeRequiredDescription
runsintegerYesruns scored so far by the batting side
oversnumberYesovers bowled in cricket notation, e.g. 15.3 = 15 overs 3 balls
targetintegerNoruns needed to win (second innings only)
inningsintegerYes1 for the side setting a target, 2 for the chase
wicketsintegerYeswickets lost so far (0-10)
total_oversintegerYesovers per side: 20 for T20 and The Hundred, 50 for ODI
batting_teamstringNoteam name; improves a live estimate via Elo, and with bowling_team alone prices a fixture that has not started
bowling_teamstringNooptional team name, improves the estimate via Elo
balls_per_overintegerNoballs per over: 6 unless The Hundred, which bowls 5-ball sets — pass 5 there or every rate is a fifth off

Details

From the project README

🏏 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?"
  • "What's the score in the Minor League Cricket game, and who's favoured?"
  • "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 10,847 matches (3.4M 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. t20i is the T20Is alone; t20 adds the domestic T20s that have no code of their own. t20i, t20, odi, test, bbl, cpl and hundred hold men's and women's games and read the men's unless gender is female
cricket_team_formA team's recent archived results. Optional format (t20, odi, test) and gender (male, female) keep one side's games: the archive gives a country's men's and women's teams one name
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
cricket_minor_leagueMinor League Cricket (US domestic T20) and the Atlanta Open T20: live scores, situation and win chances from Kalshi's live data. Atlanta Open batters, bowlers and toss from CricCenter, the tournament's scoring app, on the hosted server only
cricket_minor_league_infoMinor League history, teams, grounds and player records. Hosted-only data: the local build points you to the hosted server

All tools are read-only.

Minor League Cricket data. ESPN does not carry the league, so its fixtures and scores come from Kalshi's public live data: the schedule, each game's score and state, and Kalshi's market beside it. That feed has no ball-by-ball commentary and names no batters or bowlers, so cricket_minor_league cannot say who is batting, who took a wicket or what happened on a given ball. A market figure appears only when Kalshi's book is a real price, and the model prices only the chase. The hosted server's cricket_minor_league_info does name players: it draws on CricClubs scorecards and results, and on Wikipedia's season articles (CC BY-SA 4.0), which is why that data stays on the hosted server.

🚀 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. Live scores, the win model, market prices and the glossary work as they are. The archive tools need the ball-by-ball database, which is not in the binary.

3. The archive

The database is built by the asaraog/cricket-history-data workflow from public Cricsheet data and published there as a release asset, history-full.db.gz (206 MB). That release is private. With HISTORY_DB_TOKEN set to a GitHub token that can read it, the server resolves the latest release on first use, downloads the archive once into your OS cache directory (~/Library/Caches on macOS, ~/.cache on Linux, %LocalAppData% on Windows) and reuses it from then on; when a later release replaces the asset, the next start downloads the new one. Without a token the download fails and the archive tools say the archive is missing.

Building it yourself needs no token:

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. A file you built is opened as it is and never replaced by a download. Limited-overs-only archives work too: tools degrade gracefully when a format is absent.

scripts/histgen.py is the same script the workflow runs. Since 2026-10-06 its deliveries table carries wide and noball columns, so balls faced leave out wides and a bowler's balls leave out wides and no-balls, as a scorecard counts them. An archive built before that has neither column; the server reads it as before, counting every row as a ball.

Since 2026-10-07 its matches table also carries a gender column, male or female as Cricsheet records it. cricket_leaders and cricket_team_form filter on it. Older archives (the v1 file and the 2026-10-06 rebuild) still work: without the column, a game's gender is read off its event name, which says "Women" for Cricsheet's women's events.

⚙️ Configuration

VariablePurpose
HISTORY_DBWhere the archive lives (default: your OS cache directory)
HISTORY_DB_URLDownload the archive from this URL instead of the latest release
HISTORY_DB_TOKENGitHub token that can read the private release, or a bearer token for HISTORY_DB_URL
HISTORY_QUERY_TIMEOUTDeadline for match lookups and scorecards, default 3s
HISTORY_ANALYTICS_TIMEOUTDeadline for phase splits, leaders, dismissals, discipline, situational and partnership queries, default 15s
MILC_LIVEoff turns off Minor League Cricket live data

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, and for Minor League Cricket from Kalshi's public live data; market prices from Kalshi's public API. This project is unaffiliated with any of them.

📝 License

BSD 3-Clause. See LICENSE.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.