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_gamesB | Discover the logged-in user's baseball leagues and the team they own in each. Use this to choose a default league or team. |
| get_gameB | Get a fantasy game's details. |
| list_leaguesA | List the league key and name for each fantasy league in the logged-in Yahoo account. Call get_league for league details. |
| get_leagueA | Get a league's settings and current standings, with each team limited to team_key and name. Do not call this just to list teams; list_teams is sufficient for that. Defaults to the configured league when leagueKey is omitted. |
| get_league_metadataA | Get lightweight league metadata such as the current matchup week and season dates. Does not include teams, settings, or standings. Defaults to the configured league when leagueKey is omitted. |
| get_league_scoring_categoriesA | Return the stat categories used for scoring in this league. Always call this before giving roster add/drop advice so recommendations reflect what scores. Results are cached because categories rarely change after league creation. |
| list_teamsA | List the teams in a league with only team_key and name. Use this alone when those fields are enough; do not call get_league. Use get_team for detailed information about one selected team. |
| get_teamA | Get detailed metadata, season stats, points, and standings for one team. This excludes roster and matchup history. |
| get_team_statsA | Get a team's aggregated stats for a scoring week or the whole season. |
| get_rosterA | Get a team's roster for a date. By default, each player row contains player_key, name, editorial_team_abbr, display_position, selected_position, status, and is_starting. Set keyOnly=true to return only the player_key array. |
| get_roster_statsB | Get a team's roster and Yahoo player stats for a date. Each player includes the detailed profile, injury, eligibility, lineup, and player_stats fields. |
| get_player_statsA | Get stats for one or more players on a specific date. |
| rank_playersA | Rank league players, including free agents, by a stat or ranking key. Returns ownership and stats, with up to 25 players per call. |
| rank_free_agent_battersA | Rank only free-agent batters in a league by recent Yahoo performance. Returns ownership, eligibility, same-day starting status when available, and the actual last-week or last-month stat values used for the ranking. |
| rank_game_playersA | Rank the current game's player pool by a Yahoo stat or ranking key. Unlike rank_players, this is not league-specific: it has no ownership, waiver, or custom league-scoring context, and returns up to 25 players per call. |
| list_playersA | List league players with identity, positions, status, and ownership but no stats. Returns up to 25 players per call. |
| search_playersB | Find players by full or partial name and resolve them to Yahoo player keys. Optionally filter by availability or position. |
| get_league_scoreboardA | Get every head-to-head pairing in the league for one scoring week. Defaults to the current week. |
| get_team_matchup_historyA | Get one team's matchup schedule and weekly stats for both teams. Defaults to the current week. |
| get_transactionsA | Get recent adds, drops, and trades in a league. Pass teamKey to filter them. |
| 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). Within each player, mlbStats.columns names the aligned values in mlbStats.standard and the optional mlbStats.recent14d / mlbStats.recent30d arrays. 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 abbreviation, 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). Starters use a compact row table: starters.columns names each value in the matching starters.rows arrays. Team and opponent are represented only by teamAbbr and opponentAbbr. Columns include mlbamId, name, teamAbbr, opponentAbbr, homeAway, gameTimeUtc, gamePk, and doubleHeader. Set fantasyContext=true to add fantasyStatus (yourTeam, otherTeam, freeAgent, waivers, or unknown) and, for otherTeam, ownerTeamName. 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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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