Skip to main content
Glama
asaraog

cricket-mcp

by asaraog

🏏 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.

Client

Where

Claude (free plan included)

Customize β†’ Connectors β†’ Add custom connector

ChatGPT

Settings β†’ Apps β†’ Developer mode β†’ add server

Claude Code

claude mcp add --transport http cricket https://cricketfornoobs.com/mcp

Cursor / VS Code

one-click buttons at cricketfornoobs.com/mcp

Gemini CLI

add {"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.

Related MCP server: cricket-mcp

πŸ’¬ 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

Tool

What it does

cricket_win_probability

Win probability for any live or hypothetical match state

cricket_head_to_head

Career batter-vs-bowler record (balls, runs, dismissals, strike rate)

cricket_player_career

Career aggregates per format, men's and women's cricket

cricket_match_archive

Scorecard for an archived match, searched by teams / league / year

cricket_phase_stats

Batting and bowling split by powerplay, middle overs and death

cricket_venue_stats

Ground report: average first-innings score, chase win rate

cricket_leaders

League 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_form

A 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_dismissals

How a batter gets out, or how a bowler takes wickets

cricket_discipline

Dot-ball and boundary percentage, the numbers no scorecard shows

cricket_situational

A batter's record batting first versus chasing

cricket_partnerships

Runs added with each partner at the crease, and the best stand

cricket_market_odds

Live prediction-market prices (Kalshi) beside this model's number

cricket_live_matches

Matches live and upcoming right now

cricket_explain_term

Any cricket term, with its baseball equivalent

cricket_minor_league

Minor League Cricket (US domestic T20): live scores, situation and win chances from Kalshi's live data

cricket_minor_league_info

Minor 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:

OS

Config 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

Variable

Purpose

HISTORY_DB

Where the archive lives (default: your OS cache directory)

HISTORY_DB_URL

Download the archive from this URL instead of the latest release

HISTORY_DB_TOKEN

GitHub token that can read the private release, or a bearer token for HISTORY_DB_URL

HISTORY_QUERY_TIMEOUT

Deadline for match lookups and scorecards, default 3s

HISTORY_ANALYTICS_TIMEOUT

Deadline for phase splits, leaders, dismissals, discipline, situational and partnership queries, default 15s

MILC_LIVE

off 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.

Related MCP Connectors

  • Query your org's data in natural language β€” read-only MCP access to SQL, NoSQL, files & warehouses.

  • Connect your ads, shop, analytics, social, CRM and finance platforms once, then let Claude, ChatGPT, Cursor or any MCP client read, join and explain your numbers. Public statistics from the World Bank, IMF, Eurostat, OECD, WHO and SEC filings come as context, searchable and chartable from the same tools. Read-only by design, every number carries its source.

  • AI Visibility Isn’t Luck. It’s Signal Alignment. Read-only MCP access to Market Brew, a patented search engineering platform for SEO and AI visibility. Market Brew uses particle swarm optimization and template models to reverse engineer observed search behavior. Inspect ranking models, content alignment, knowledge bases, crawl data, and AI visibility history through a hosted Streamable HTTP MCP server. Requires an enabled Market Brew account and OAuth. Setup guide: https://brew.marketbrew.ai/customer-manual.htm#api-and-chatgpt-read-access

  • Live AI-native web search with citations. One tool for every MCP client. Flat per-request pricing.

Related MCP Servers

  • F
    license
    B
    quality
    D
    maintenance
    Provides natural language access to IPL cricket match data, allowing users to query player statistics, team performances, and match results. It utilizes a SQLite backend and Cricsheet data to deliver detailed cricket analytics through the Model Context Protocol.
    1
    -
  • F
    license
    Not graded
    quality
    B
    maintenance
    An MCP server that enables natural language querying of over 10 million ball-by-ball cricket deliveries stored in a local DuckDB database. It provides 26 tools for analyzing player matchups, situational stats, and historical records across all major cricket formats and tournaments.
    2
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Wraps CricAPI to provide live cricket data, enabling AI agents to query cricket information through natural language or direct tool calls.
    21 npm
    MIT