baseball-stats-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| KBO_DATA_DIR | No | Absolute path to the directory containing the KBO CSV files (e.g. hitters_2026.csv, pitchers_2026.csv). If omitted, the project's data/kbo/ directory is used. | data/kbo/ |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| baseball_player_statsA | Get one player's regular-season line plus computed sabermetric rates. Hitting returns AVG/OBP/SLG/OPS, ISO, BABIP, BB%, K%, BB/K. Pitching returns ERA, FIP, ERA-FIP, WHIP, K%, BB%, K-BB%, BABIP, LOB%, HR/9 (FIP uses a league constant computed from that season's league totals). Use baseball_pitcher_luck_check for an ERA-vs-FIP read. |
| baseball_leaderboardB | Rank players by any computed metric, including ones the source does not publish (FIP, K-BB%, LOB%, ISO...). |
| baseball_pitcher_luck_checkA | Is a pitcher's ERA lucky or unlucky? Compares ERA to FIP, then BABIP and LOB% to the league. Returns the gaps, plain-language signals, an overall verdict, and caveats (sample size, contact quality, defense). Signals are leads to investigate, not conclusions. |
| mlb_search_playersA | Find MLB player ids by name. Use the id with the other tools when a name is ambiguous. |
| mlb_standingsA | Regular-season standings by division, with run differential, Pythagorean expected wins, and luck (actual wins minus expected). |
| kbo_data_statusA | Show which KBO CSV files are loaded, their row counts, any column problems, and the expected file names. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 6 tools
Each tool targets a distinct action (data status, player lookup, ranking, luck diagnosis, id search, standings), and cross-references between stats and luck-check help steer selection. However the mixed KBO/MLB scope is not obvious from names, so an agent may be unsure which league a generic tool like baseball_player_stats or baseball_leaderboard applies to.
Three prefix families (kbo_, baseball_, mlb_) coexist and the noun/verb structures vary: kbo_data_status and mlb_standings are noun-only while mlb_search_players is verb_noun. The prefixes plausibly encode data source, keeping it readable, but the pattern is not uniform.
Six tools is a tight, well-scoped set for a baseball stats server, with each tool covering a distinct facet (status, player, leaderboard, luck, search, standings). No tool feels redundant or out of place.
The surface covers data readiness, player stats, ranking, pitcher luck, id lookup, and standings, forming a coherent lookup-and-diagnose workflow. Minor gaps remain (e.g. no KBO-specific player search parallel to mlb_search_players, no team-level stats beyond standings), but agents can work around these.