StatsPlus MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| STATSPLUS_COOKIE | Yes | The session cookie in the format 'sessionid=<sessionid>;csrftoken=<csrftoken>' | |
| STATSPLUS_LEAGUE_URL | Yes | Your league's URL slug (e.g., myleague, mlb2025) |
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 | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_player_batting_statsA | Retrieve player batting statistics. Returns stat lines with splits. Defaults to top-level (MLB) leagues; pass lid to get stats for a specific league (e.g. minor leagues). Omit all params to get all players for all seasons. |
| get_player_fielding_statsA | Retrieve player fielding statistics by position. Returns stat lines with splits. Defaults to top-level (MLB) leagues; pass lid to get stats for a specific league. Omit all params to get all players for all seasons. |
| get_player_pitching_statsA | Retrieve player pitching statistics. Returns stat lines with splits. Defaults to top-level (MLB) leagues; pass lid to get stats for a specific league (e.g. minor leagues). Omit all params to get all players for all seasons. |
| get_team_batting_statsA | Retrieve team batting statistics. Omit params to get all teams for all seasons. |
| get_team_pitching_statsA | Retrieve team pitching statistics. Omit params to get all teams for all seasons. |
| get_teamsA | Retrieve the list of teams in the league with their IDs and abbreviations. |
| get_draftA | Retrieve draft data. For multi-league associations, specify the league ID. |
| get_exportsA | Retrieve a CSV export of all major league games since the league started, including scores, starting pitchers, winning/losing pitchers, and game dates. |
| start_ratings_jobA | Start the async ratings export job and return a poll_url immediately, without waiting. Call this at the beginning of a workflow, do other data lookups while the job processes (~60–90s), then call get_ratings(poll_url) to collect results. This avoids blocking the workflow mid-step. |
| get_ratingsA | Retrieve player ratings (overall, potential, and per-attribute). If you have a poll_url from start_ratings_job, pass it here to collect results without re-starting the job. Without poll_url, starts a new job and blocks up to ~5 minutes waiting for results. |
| get_game_historyA | Retrieve all major league games since the league started, including scores, hitting, pitchers, and game dates. |
| get_contractsA | Retrieve all current and active player contracts. IMPORTANT: The API does not expose service time or team control status. A 1-year contract does NOT necessarily mean the player will hit free agency — pre-arbitration players (~$900K salary) and arbitration-eligible players ($1–8M salary) both show as 1-year deals that auto-renew under team control. Only multi-year contracts or high-AAV 1-year deals indicate a negotiated free-agent signing. Use salary level and player age to infer team control status. |
| get_contract_extensionsB | Retrieve signed contract extensions that take effect in future seasons. |
| get_playersA | Retrieve the player roster. Optionally filter by team_id to get a single team's players. |
| find_playerA | Search for players by name (partial, case-insensitive). Returns matching players with their IDs and team info. Use this to resolve a player name to an ID without downloading the full roster. |
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 15 tools
Each tool targets a distinct resource or action. The only potential overlap is between find_player (search by name) and get_players (roster by team), but they serve different purposes—one for ID resolution, the other for full roster retrieval.
Most tools follow the get_<resource> pattern, but two tools deviate: find_player and start_ratings_job. This minor inconsistency is understandable given their different operations.
15 tools cover the key aspects of a sports stats server: players, teams, contracts, draft, game data, exports, and ratings. The count feels well-scoped—neither too sparse nor overwhelming for the domain.
The tool surface covers essential read operations for player and team stats, contracts, draft, and game history. Missing components like standings or league info are minor gaps that can be derived from existing data.