Yahoo Fantasy Baseball MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| YF_CLIENT_ID | No | Your Yahoo OAuth client ID | |
| YF_CLIENT_SECRET | No | Your Yahoo OAuth client secret |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| fantasy_statusA | Report whether Yahoo Fantasy is set up and what the next step is. Use this for 'fantasy status'. |
| fantasy_loginA | Begin or resume setup ('fantasy login' / 'fantasy start'). Shows how to create a Yahoo app if needed, and returns the authorization link once credentials are known. Optionally pass clientId/clientSecret to save them. |
| fantasy_authorizeA | Complete setup using the verification code Yahoo displayed after the user approved access. Optionally also accepts clientId/clientSecret. On success it lists the user's leagues and sets a default automatically when there is only one. |
| fantasy_logoutA | Delete the saved Yahoo Client ID, Client Secret, and refresh token, then show the setup instructions again. Use this for 'fantasy logout' / 'fantasy disconnect' to reset and start over. |
| fantasy_select_teamA | Set the default league (and your team in it) used when later commands omit keys. Use for 'fantasy choose team'. |
| list_leaguesA | List all fantasy leagues (and game weeks / stat categories) for the logged-in Yahoo account. Use this to discover league_key and team_key values. |
| get_leagueA | Get a league's teams, settings, and current standings. Defaults to the configured league when leagueKey is omitted. |
| get_teamsA | Get stats, standings, and matchups for every team in a league. Pass explicit teamKeys to limit the set, otherwise all teams in the league are fetched. |
| get_standingsA | Get the league standings table — each team's rank, win/loss record, games back, playoff seed, and season category totals. This is the light way to see how teams stack up; use get_teams when you also need every team's full matchup history. |
| get_rosterA | Get a team's roster for a date — each player's roster slot (starting position or BN/IL bench), starting status, injury status, and eligible positions, without any stats. Use this to see who is on the team and who is starting or benched. For per-date Yahoo stats use get_roster_stats; for advanced stats use analyze_roster_stats. Defaults to the configured team and today's date. |
| get_roster_statsA | Get a team's roster with each player's Yahoo stats for a given date. Like get_roster but heavier — use get_roster when you only need slots/status, or analyze_roster_stats for advanced (Statcast/FanGraphs) stats. Defaults to the configured team and today's date. |
| get_team_stats_weekB | Get a team's aggregated stats for a specific scoring week. |
| get_team_stats_seasonB | Get a team's aggregated stats for the whole season. |
| get_matchupsA | Get the league scoreboard (all head-to-head matchups). Pass a week to view a specific week, otherwise the current week is returned. |
| get_team_matchupsA | Get a team's matchups across the season, or only the listed weeks when |
| get_player_statsA | Get stats for one or more players on a specific date. Player keys look like 431.p.10642. |
| rank_playersA | Rank league players (including free agents) by a sort key. |
| list_playersA | List league players (including free agents) in ranked order with their name, position, eligible positions, status, and ownership (free agent or owning team) — but no stats. This is the light way to scan waiver/free-agent targets; once you have candidates, use analyze_player_stats or rank_players for their stats. |
| search_playersA | Find players by name (full or partial) and resolve them to player keys. This is the way to turn a name the user typed into the |
| get_league_scoring_categoriesA | Return the stat categories used for scoring in this league (e.g. R, HR, RBI, SB, AVG for batting; W, ERA, WHIP, K, SV, HLD for pitching). Always call this before giving roster add/drop advice so recommendations reflect what actually scores in this league. Results are cached in config since categories rarely change after league creation. Pass leagueKey to force-refresh a different league. |
| get_transactionsB | Get recent transactions (adds, drops, trades) in a league. Pass teamKey to filter to a single team's transactions. |
| add_drop_playerA | DESTRUCTIVE: modifies your real Yahoo roster. Adds a free agent, drops a rostered player, or does both at once. Provide addPlayerKey to add, dropPlayerKey to drop, or both for a simultaneous add/drop. Player keys look like 431.p.10642. Defaults to your configured team. Always confirm the players with the user before calling this. |
| set_lineupA | DESTRUCTIVE: changes your real Yahoo roster positions for a given date. Provide assignments mapping each playerKey to a roster position (e.g. 1B, OF, SP, Util, or BN for bench). Players not listed keep their current slot. Defaults to your configured team and today's date. Confirm the lineup with the user before calling this. |
| analyze_player_statsA | Fetch and aggregate advanced statistics for a single player from multiple authoritative sources: MLB Stats API (standard stats), Baseball Savant (Statcast exit velocity / barrel rate / expected stats), and FanGraphs (WAR, wRC+, K%, BB%, plate discipline). The response includes the league's scoring categories so advice can focus on stats that actually count. Use this before making roster add/drop decisions. |
| analyze_roster_statsA | Fetch advanced stats (Statcast, expected stats, FanGraphs) for a batch of rostered players. Accepts at most 10 players per call via playerKeys — callers should first use get_roster to retrieve all player keys, split them into batches of up to 10, and call this tool once per batch (calls can run in parallel). The response includes the league's scoring categories so advice targets stats that actually matter in this league (e.g. SB if stolen bases count, HLD if holds count). Combine with get_roster to see who is starting or benched. |
| list_probable_startersA | List every probable starting pitcher across MLB for a date, with each one's opponent, home/away, and game start time (UTC). Sourced from the MLB Stats API (no Yahoo auth needed). MLB only posts probables for roughly today through ~2-3 days out, so 'tomorrow' returns a full board, the day after is usually partial, and dates further out return few or none (not yet announced — not an error). Set fantasyContext=true to also label each starter as yourTeam / otherTeam (with the owning manager) / freeAgent — useful for spotting streamable free-agent starters. Enrichment issues about one Yahoo request per starter (~10-26), so leave it off unless you need ownership. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/dingyiyi0226/fantasy-baseball-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server