@joerawr/scaha-mcp
v1.3.1
Published
MCP server for SCAHA hockey schedule data via Puppeteer scraping
Downloads
8
Maintainers
Readme
@joerawr/scaha-mcp
Model Context Protocol (MCP) server for SCAHA (Southern California Amateur Hockey Association) youth hockey data. Provides schedule, standings, and player stats via web scraping.
Installation
Claude Desktop
Add to your Claude Desktop config:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"scaha": {
"command": "npx",
"args": ["-y", "@joerawr/scaha-mcp"]
}
}
}Restart Claude Desktop after adding.
Chrome/Chromium Required
This server uses Puppeteer for web scraping. Chrome or Chromium must be installed.
Custom Chrome path (optional):
{
"mcpServers": {
"scaha": {
"command": "npx",
"args": ["-y", "@joerawr/scaha-mcp"],
"env": {
"CHROME_EXECUTABLE_PATH": "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"
}
}
}
}Available Tools
get_schedule
Get game schedules with optional date filtering.
Parameters:
season(required): Season name (e.g., "2025/26")schedule(required): Schedule name (e.g., "14U B")team(required): Team name (e.g., "Jr. Kings (1)")date(optional): Filter to specific date (YYYY-MM-DD)
Example: "When do the 14U B Jr Kings (1) play on 10/12/2025?"
get_team_stats
Get team standings and statistics.
Parameters:
season(required): Season identifierdivision(required): Division/schedule name (e.g., "14U B" selects "14U B Regular Season")team_slug(required): Team identifier
get_player_stats
Get individual player statistics.
Parameters:
season(required): Season identifierdivision(required): Division nameteam_slug(required): Team identifierplayer(required): Object withnameornumbercategory(optional): Use"goalies"to fetch goalie stats (defaults to skaters). Including the word “goalie” inplayer.namealso switches to goalie stats automatically.
get_schedule_csv
Download schedule as CSV (base64 encoded).
Parameters:
season(required): Season nameschedule(required): Schedule nameteam(required): Team name
list_schedule_options
List available seasons, schedules, and teams.
Parameters:
season(optional): Filter by seasonschedule(optional): Filter by scheduleteam(optional): Filter by team
HTTP Deployment (Optional)
For remote deployment, this server also supports HTTP transport via StreamableHTTP.
Deploy to Vercel/Railway:
- Clone repository:
git clone https://github.com/joerawr/scaha.net-mcp.git - Install:
npm install - Build:
npm run build:http - Deploy the
http/directory - Endpoint available at:
https://your-domain.com/api/mcp
Note: HTTP transport is for self-hosted deployments. Claude Desktop uses STDIO (above).
Development
git clone https://github.com/joerawr/scaha.net-mcp.git
cd scaha.net-mcp
npm install
npm run build # Build STDIO server
npm run dev # Run in dev mode
npm test # Test STDIO serverData Source
scaha.net - Southern California Amateur Hockey Association
- Scoreboard: https://www.scaha.net/scaha/scoreboard.xhtml
- Stats Central: https://www.scaha.net/scaha/statscentral.xhtml
Data is scraped using Puppeteer due to JavaServer Faces dynamic content.
License
MIT - See LICENSE file
Contributing
Issues and PRs welcome: https://github.com/joerawr/scaha.net-mcp/issues
