srca-mcp-server
v2.0.0
Published
An MCP (Model Context Protocol) server that scrapes live stats from [cricclubs.com/SrcaUsa](https://cricclubs.com/SrcaUsa) — the San Ramon Cricket Association portal — so you can query player stats, team standings, fixtures, and scorecards directly from C
Downloads
147
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.
Your team: Preserve · Division: E · Club ID: 3899
Prerequisites
- Node.js 18+
- Claude Desktop (for MCP integration)
- Internet access to cricclubs.com
Quick Setup
# 1. Clone / unzip the server folder
cd srca-mcp-server
# 2. Install dependencies
npm install
# 3. Test it works
node index.js
# You should see: "SRCA Cricket MCP Server running on stdio"
# Press Ctrl+C to stopConnect 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 (update the path to where you saved the folder):
{
"mcpServers": {
"srca-cricket": {
"command": "node",
"args": ["/FULL/PATH/TO/srca-mcp-server/index.js"]
}
}
}Example on Mac if you put it in your home folder:
{
"mcpServers": {
"srca-cricket": {
"command": "node",
"args": ["/Users/YOUR_NAME/srca-mcp-server/index.js"]
}
}
}Then restart Claude Desktop. You'll see a 🔧 tool icon in the chat input bar confirming the server is connected.
Connect to Claude Code (VS Code / CLI)
claude mcp add srca-cricket node /FULL/PATH/TO/srca-mcp-server/index.jsAvailable 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 |
