srca-cricket-mcp
v1.0.0
Published
MCP server for SRCA (San Ramon Cricket Association) live stats from CricClubs — teams, players, standings, fixtures, and scorecards.
Maintainers
Readme
SRCA Cricket MCP Server
An MCP (Model Context Protocol) server that scrapes live stats from cricclubs.com/SrcaUsa — the San Ramon Cricket Association portal — so you can query player stats, team standings, fixtures, and scorecards directly from Claude Desktop or Claude Code.
Published on npm as: srca-cricket-mcp
Default team: Preserve · Division: E · Club ID: 3899
Prerequisites
- Node.js 18+
- Claude Desktop (for MCP integration)
- Internet access to cricclubs.com
Setup — One Command (recommended)
No download, no npm install step. Just point Claude Desktop at the
published package and npx handles fetching it automatically.
Connect to Claude Desktop
Edit your Claude Desktop config file:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.jsonAdd this entry:
{
"mcpServers": {
"srca-cricket": {
"command": "npx",
"args": ["-y", "srca-cricket-mcp"]
}
}
}Then fully quit and reopen Claude Desktop (Cmd+Q on Mac, not just close the window). You'll see a 🔧 tool icon in the chat input bar confirming the server is connected. The first launch may take a few seconds while npx downloads the package — after that it's cached and starts instantly.
Connect to Claude Code (CLI)
claude mcp add srca-cricket npx -- -y srca-cricket-mcpSetup — From Source (alternative, for developers)
If you'd rather run from a local copy of the code:
git clone <repo-url> # or unzip the folder
cd srca-cricket-mcp
npm install
node index.js # should print "SRCA Cricket MCP Server running on stdio"Then point Claude Desktop's config at the local file instead of npx:
{
"mcpServers": {
"srca-cricket": {
"command": "node",
"args": ["/FULL/PATH/TO/srca-cricket-mcp/index.js"]
}
}
}Available Tools
| Tool | Description |
|---|---|
| get_leagues | List all SRCA seasons/leagues with their IDs |
| get_points_table | Division standings (filter by league + year) |
| get_teams | All teams in SRCA |
| get_fixtures | Upcoming & recent matches (filter by team name) |
| get_batting_stats | Top batters leaderboard |
| get_bowling_stats | Top bowlers leaderboard |
| get_scorecard | Full match scorecard (needs match ID) |
| get_team_stats | Roster + stats for a specific team |
| get_player_stats | Career stats for a specific player |
| get_preserve_summary | One-shot: Preserve fixtures + Division E standings |
Example Prompts for Claude
Once connected, try these in Claude chat:
Show me Preserve's upcoming games and where we stand in Division E
Who are the top 10 batters in SRCA this season?
What are the bowling stats for Division E?
Get the scorecard for match ID 12345
Show me batting stats for league 80, year 2025Finding IDs
CricClubs uses numeric IDs in URLs:
| What | Where to find it |
|---|---|
| League ID | URL: ?league=80 → ID is 80. Run get_leagues first. |
| Match ID | URL: ?matchId=12345 → ID is 12345 |
| Team ID | URL: ?teamId=1048 → ID is 1048 |
| Player ID | URL: ?playerId=588474 → ID is 588474 |
Visit cricclubs.com/SrcaUsa and click into any team/match/player to grab the ID from the browser address bar.
How It Works
The server scrapes public CricClubs HTML pages (no login required — all SRCA
data is publicly visible). It uses axios for HTTP requests and cheerio
for HTML parsing, then exposes each data type as an MCP tool.
CricClubs does not offer a public API, so the server works by parsing the same web pages you'd view in a browser.
Troubleshooting
| Problem | Fix |
|---|---|
| "No data found" in results | Add a league ID — the default page may need it |
| 403 errors | CricClubs may have bot protection; try again in a few seconds |
| Server not showing in Claude | Check the JSON config path and restart Claude Desktop |
| Node not found | Make sure Node.js is installed: node --version |
