Skip to main content

Flaim Fantasy

app.flaim/mcpVersion 1.0.3

Fantasy analysis for your ESPN, Yahoo, and Sleeper leagues. Reads your leagues, never changes them.

Status

Responds361 msAnswered our handshake without sign-in.

Registry data may be out of date

We could not refresh it, so this page shows the last copy.
Last checked
Nov 14, 2026, 13:36 UTC
Latency
361 ms
Remotes responding
1 of 1
Sign-in
No sign-in
Hosting
Hosted outside the EU (detected)
Registry data as of
Nov 14, 2026, 22:14 UTC

Data from the official MCP Registry, checked by run.zero. How we check

Connect

Streamable HTTP
https://api.flaim.app/mcpResponds361 ms
No sign-in

Claude Code

claude mcp add --transport http flaim https://api.flaim.app/mcp

Claude Desktop and claude.ai

Settings > Connectors > Add custom connector
Name: flaim
Remote MCP server URL: https://api.flaim.app/mcp

Cursor

{
  "mcpServers": {
    "flaim": {
      "url": "https://api.flaim.app/mcp"
    }
  }
}

VS Code

code --add-mcp '{"name":"flaim","type":"http","url":"https://api.flaim.app/mcp"}'

Built your own server? run.zero hosts MCP servers on European infrastructure.

Host your own MCP server on run.zero

Tools

17 tools

Tools of Flaim Fantasy
Read-only
Idempotent
Open world
delete_flaim_home_askDeletes one of the user's kept asks ("Your asks") from their Flaim account, when the user removes it in the Flaim home page. It is called by the Flaim home page and hidden from the model on hosts that support MCP Apps. Deleting an ask that is already gone changes nothing.YesNoYesNo
get_ancient_historyUse established session context (call get_user_session only if needed), and use this only when the user is clearly asking about a non-current season or an inactive league. This is the historical branch: it returns past seasons and historical leagues outside the current season view. Use for last season, older seasons, inactive leagues, or historical performance. All-time answers are scoped to seasons present in the response; an absent season may be unavailable even if provider history extends further. Sleeper coverage floor: Flaim follows the previous_league_id chain of each Sleeper league back at most 15 seasons including the current one and saves every season Sleeper still serves on it; Sleeper has run since 2017, so today that is the entire history of any Sleeper league. Sleeper seasons are discovered on connect and on refresh_leagues, so a league last synced under the earlier five-season limit needs one refresh before its older seasons appear here, and a season still missing after a refresh means Sleeper did not serve it on that walk, not that Flaim capped the history. thresholdYear is display bucketing, not a retrieval floor. Read-only.NoYesYesNo
get_draftUse this when the user asks about completed draft results, exact draft-board positions, or current draft-pick ownership for a selected league. Returns a common draft summary and ordered picks with explicit confirmed, projected, or unavailable placement provenance. A historical selecting team is not a current pick owner; current ownership comes only from ownership.picks[].currentOwnerTeamId. ESPN and Yahoo expose confirmed draft results but no current pick-ownership ledger, so their responses carry no ownership block at all; only Sleeper can report current or future pick ownership, and an exact board placement only when Sleeper supplies enough draft-order evidence. An ownership.scope of changed_picks_only lists only picks known to have changed hands and is not a complete pick inventory. selectionInRound is the round slot rendered in a value such as 12.15, while draftColumn is the stable draft-board column; they are not interchangeable. For a completed Sleeper draft, an omitted ownership block means no draft picks changed hands. Use round to return one draft round. Use team_id to return completed selections made by that historical team and ownership rows currently owned by that team. Omit draft_id to use the league's associated draft; draft_id is Sleeper-only and should be passed only when Flaim previously returned a provider draft ID. Omit season_year for the current sport season, or pass the season_year returned by get_user_session for a specific league or past draft. Use established session context (call get_user_session only if needed), then get_league_info for the specified league if this chat has not already loaded it. For multi-league comparisons, call once per league. Read-only.NoYesYesYes
get_flaim_home_leagueLoads sections of one league for the Flaim home page: standings, the user's current roster, the user's matchup for the current period, or the league's latest transactions, each as a small summary, plus the fuller matchup (both lineups or category rows, where the platform reports them) and full roster its team card shows. It is called by the Flaim home page and hidden from the model on hosts that support MCP Apps; for analysis use get_standings, get_roster, get_matchups, and get_transactions instead. Read-only: it reads from ESPN, Yahoo, or Sleeper through the same paths as those tools (football also reads ESPN's public NFL schedule for bye weeks and kickoff times), and results may be cached for a few minutes.NoYesYesYes
get_free_agentsGet players available to acquire in the specified fantasy league, optionally filtered by position. This is fantasy-league availability, not professional-contract status. Pass a requested count exactly from 1 through 100. For a request above 100, start compact inventory paging with offset 0 and count up to 100, then pass each returned pagination.nextOffset until the requested number is reached, endReached is true, or no nextOffset is returned. Inventory pages are live best-effort, not a point-in-time snapshot: availability can change while pages are fetched, so never promise an exact complete inventory, no duplicates, or no omissions. Inventory pages preserve provider order: ESPN roster rate, Yahoo overall rank, Sleeper trending then rank; Yahoo inventory pages are not globally market-rate sorted. Prefer the canonical fields: every response carries leagueId, seasonYear, position, count, ordering, capabilities, and ownershipScope; entries carry team (real-life club, null when none) and id (platform player id as a string, when supplied) on every platform, ESPN and Yahoo entries add acquisitionState ("free_agent", "waivers", or null when the platform cannot determine the subtype), and ESPN waiver rows may also add waiverClearsAt (ISO time). Yahoo waiver rows may instead add waiverDate as a YYYY-MM-DD calendar date with no time or timezone; never turn it into an exact clearance time. Legacy platform fields remain alongside for compatibility on ordinary ranked calls, while inventory pages return compact fields by default. For ESPN football inventory requests asking for scoring or injury details, set include_inventory_details true on every offset page. These are season totals and averages, not weekly projections; an absent injury status means unknown, not healthy. Refer to leagues, teams, and players by name in answers; IDs are for tool calls only and must not be printed. ESPN always marks capabilities.acquisitionState true. Yahoo marks it true only when at least one returNoYesYesYes
get_league_infoWith session context established, call this once per league the first time this chat works with that league, before the requested standings, matchup, roster, free-agent, player, transaction, or draft tool, then reuse it for later questions about that league. A usable successful get_user_session result from earlier in this chat satisfies that prerequisite; do not repeat it just to satisfy this ordering. Skip it only when answering from session data alone or branching to get_ancient_history. This provides the baseline league context for analysis: league name, settings, scoring type, roster configuration, and team/owner context, plus schedule or season-window metadata when the platform provides it. Keeper and draft-format fields are additive and platform-dependent; never assume one provider's fields exist on another. ESPN adds keeperSettings (keeperCount, keeperCountFuture, keeperOrderType, keeperDeadlineDate) and isKeeperLeague when ESPN reports a keeper count, plus per-team keeperPlayerIds and futureKeeperPlayerIds as raw ESPN player IDs with no name resolution. Sleeper adds leagueFormat, whose typeRaw is an undocumented Sleeper convention that must not be read on its own as a redraft, keeper, dynasty, or guillotine signal, plus per-team keepers as raw Sleeper player IDs. When its settings request succeeds, Yahoo may add draftType, isAuctionDraft, canTradeDraftPicks, waiverType, waiverRule, waiverTime (days), postDraftPlayers, cantCutList, and maxWeeklyAdds; it also adds weeklyDeadline from league metadata. Yahoo statModifiers returns configured per-stat scoring values and may add bonuses as Yahoo's configured target/points rule pairs. These are league rules, not calculated player awards; do not infer whether a target is inclusive or whether multiple tiers stack. Yahoo's rule and deadline codes are raw provider values with no complete published code list: do not decode them, call weeklyDeadline a lock time, or infer that a particular move is legal. The settings fieldNoYesYesYes
get_matchupsGet matchups/scoreboard for a specific week or the current week. Yahoo and ESPN head-to-head category leagues (Each Category and Most Categories), in baseball, basketball, and hockey, return per-category rows and a categoryScore of wins/losses/ties per side. On those leagues the side total is a category count or null rather than fantasy points. In a Most Categories league, categoryScore stays the per-category tally. On Yahoo (scoringTypeRaw "headone"), the side that wins more categories takes the single weekly result, and equal category wins is a tie. On ESPN (scoringType "H2H_MOST_CATEGORIES"), use the provider-reported matchup winner for that weekly result rather than deriving it; it can stay UNDECIDED mid-period. Before the provider reports a final winner, describe categoryScore and categories only as the current category lead, not the final weekly result. ESPN category rows include only the stats that league scores. For an undecided current ESPN category matchup, the tally and rows use live data when ESPN provides it for both sides; otherwise they may reflect only scoring periods ESPN has processed. ESPN football and Sleeper stay on fantasy points and do not return category rows. A null categoryScore, value, or result means the provider did not report it; never infer one. ESPN points matchups: totalPoints stays 0 until ESPN decides the matchup, so read each side's currentPoints for the score so far; winner stays UNDECIDED until then. Yahoo matchups: projectedPoints is the sum of each starter's pregame projection for the period. It does not add points as they are scored, so mid-period it routinely differs from points and can sit below the current score; that gap is expected and does not mean the data is stale or inconsistent. When liveProjectedPoints is present it is Yahoo's live projected final; prefer it. winProbability, when present, is Yahoo's estimated chance (0 to 1) that side wins. status reports upcoming, in_progress, or final; Yahoo's winner appears onlyNoYesYesYes
get_playersSearch for player identity by name. Always returns identity fields, but ownership context varies by platform. ESPN and Yahoo return market/global ownership and can also populate league ownership fields when credentials and league context are available. ESPN football also adds seasonPoints and pointsPerGame when a selected league is available: these are ESPN's actual-season applied values under that league's scoring, never a Flaim calculation. A real 0 is retained. Null means league scoring was unavailable or ESPN did not return an applied value; for unrostered results it can also mean the player was outside ESPN's bounded 100-player availability pool, so use get_free_agents before treating a null as a scoring fact. Sleeper always evaluates league ownership against every current roster in the selected league, except during an active draft, when this tool returns an error instead of an answer, since draft picks aren't yet reflected on rosters; if the league, rosters, or users can't be loaded for another reason, the call still succeeds with every league_* field null plus a SLEEPER_OWNERSHIP_UNAVAILABLE warning. Sleeper adds a Sleeper-only league_team_id (the Sleeper roster id, or null); its market/global ownership stays unavailable regardless (ownership_scope="unavailable", market_percent_owned=null) — league_team_id is league ownership, not market data. For a selected active league, use established session context (call get_user_session only if needed), then get_league_info, if this chat has not already loaded it for that league, so league-specific ownership and team names can be resolved. League ownership fields: league_status ("ROSTERED" = on a team, "FREE_AGENT" = unrostered in this league, null = ownership could not be resolved, for example because credentials or rosters were unavailable, the player result carried no usable id, or Sleeper rostering was ambiguous), league_team_name (fantasy team name if rostered), league_owner_name (team owner if rostered). FREE_AGNoYesYesYes
get_rosterGet roster details for a specific team, current by default and historical on request. Exact payload varies by platform: ESPN and Yahoo return player entries with lineup/position context, while Sleeper returns starters, bench, reserve, taxi, and record metadata for the selected roster. Keeper fields are additive and platform-dependent; never assume one provider's keeper fields or units exist on another. ESPN adds per-player keeperValue and keeperValueFuture plus one response-level keeperValueUnit of auction_dollars or draft_round, omitted rather than guessed when ESPN's draft type does not determine it; a historical snapshot withholds keeperValueFuture and flags keeperValueFutureAvailable false. Sleeper resolves keepers to player entries on the current roster only, passing the list through as Sleeper sends it; an empty or null list does not show that the league has no keepers. Yahoo entries may add isKeeper as status, cost, and kept when Yahoo sends it; Yahoo has only been observed returning cost as false, so no numeric keeper cost is available from Yahoo. On a current Yahoo roster only, entries may also add isUndroppable and isEditable. These are Yahoo player flags, not comprehensive transaction or lineup-lock rules: isEditable does not provide a lock time or guarantee that an add, drop, or lineup move is legal. Current Yahoo entries may also add eligiblePositions from Yahoo metadata, preserving provider-native codes and order without filtering or mapping to another platform's labels. This is separate from the assigned slot and does not prove that a move is legal. Honor codes Yahoo explicitly lists, including flex codes; do not infer additional eligibility. Missing, empty, or malformed eligibility is omitted; an absent eligiblePositions means unknown, not ineligible. Historical Yahoo snapshots omit eligiblePositions and both flags. Historical snapshots: pass week for football (all platforms) and Sleeper basketball (matchup week), or as_of_date (YYYY-MM-DD) for ESPN/NoYesYesYes
get_standingsGet season standings and outcome snapshot; includes verified season-outcome fields when available. Returns team records, rankings, and points summaries. The rank field is a standings sort position (1 = best): on ESPN it follows ESPN's playoffSeed order when every team has a unique valid seed; otherwise Flaim computes it from win percentage (a tie counts as half a win), with wins as the tie-breaker. On Sleeper it is computed by Flaim from wins, with points for as the tie-breaker; on Yahoo it is passed through from Yahoo's own standings API. It is NOT a verified postseason finish. For verified postseason outcome, use finalRank and championshipWon instead. Also returns seasonPhase (regular_season/playoffs_in_progress/season_complete), seasonComplete, and per-team outcome fields: finalRank, championshipWon, playoffOutcome, outcomeConfidence, madePlayoffs, playoffSeed. Outcome fields are null when not verifiable — do not infer championship from rank or team name. outcomeConfidence is 'explicit' when the platform reports final ranks, or 'derived' when the champion and runner-up were determined from the final winners-bracket matchup (ESPN historical seasons may omit final ranks); 'derived' only ever appears on ESPN — Yahoo always returns null here, and Sleeper returns 'explicit' for any completed season whose winners bracket names a champion, including when the finish came from the bracket rather than from reported placements; a tied championship game is resolved using the league's playoff tie rule (ESPN's default advances the higher seed). Note: playoffOutcome returns 'in_progress' on Sleeper for teams in active playoffs; ESPN and Yahoo return null for that state. ESPN may also include projected-rank fields. Every platform also returns waiverPriority (the team's current waiver-claim priority, 1 = first — this is the live priority, NOT get_transactions' waiver_priority, which is the priority some past claim used), and Yahoo and Sleeper add faabBalance (remaining free-agentNoYesYesYes
get_transactionsGet league transaction activity: adds, drops, waivers, and trades. ESPN football released_since finds explicit DROP items in completed structured events strictly after a caller-supplied timestamp within the existing bounded matchup window; it does not remember checks or notify users. Releases are historical, so check current acquisition state before recommending a pickup. Missing completion times are omitted and reported; the structured source is required. Completed activity is league-wide unless team_id is provided. For "my moves," pass the selected league's user team ID from get_user_session; session context alone does not filter completed activity. Use get_league_info when team and owner names are needed. Rows are newest first and capped by count; before claiming completeness, check window, limitations, warning, truncated (ESPN only), and dropped_invalid_timestamp_count (ESPN and Yahoo). ESPN week selects a matchup period, and its structured source covers failed bids, failed waiver claims with ESPN's failure_reason, withdrawn waiver claims and trade proposals (status canceled, from any team in the league, filed in the period they were made), standalone drops, and the trade lifecycle; a fallback can limit those types. For a historical ESPN pending waiver event, use claim_outcome for an explicitly linked result in the observed history. An unknown outcome does not establish that the claim is still pending. Sleeper week selects a matchup week. Yahoo completed activity defaults to Flaim's rolling 30-day timestamp lookup. For older Yahoo completed activity only, pass both start_date and end_date as inclusive UTC calendar days, covering at most 366 days; use the Yahoo league_id for the requested season, since a range does not cross league seasons, and do not combine it with week, waiver, or pending_trade. Yahoo explicit ranges use one no-count collection response and filter locally, with a 2 MiB bounded read; limitations.upstream_completeness_unverified is always true bNoYesYesYes
get_user_sessionUse this alone for user-specific connection, league, or account-status questions. For analysis, reuse successful session context already available in this chat instead of calling again. Do not call for Flaim capability, permission, or generic setup how-to questions, and do not call for generic coding, scraping, weather, travel, betting, sports news, or other requests that do not need connected league data. For selected-league analysis, call this only when no usable successful session result is available in this chat. Reuse its league IDs, teams, seasons, and defaults on ordinary follow-ups, including switching to another league already in allLeagues; do not repeat this call merely because a new user message arrived. Reload when the user confirms account, connection, league-list, or default changes, when the earlier session call failed, or when its result is no longer visible in the conversation. A new chat needs its own session lookup. Follow the error guidance if a call fails. Session reuse does not replace fresh roster, score, or player reads when needed. For an explicit refresh request, call refresh_leagues first and then call this tool after success; call it again even if it ran earlier in the chat. Returns the user's full league landscape: allLeagues (all active leagues), defaultLeagues (per-sport defaults), and defaultLeague (populated only when a single league exists or defaultSport matches). For vague singular prompts, use defaultLeague when present; otherwise use the relevant sport entry in defaultLeagues. If neither applies, ask which league by name without exposing internal IDs. For explicit plural or comparative prompts (each, all, compare, across leagues/platforms), enumerate every matching league in allLeagues and call the target tool once per league. With session context established, call get_league_info for the selected active league before the requested league-specific data tool, once per league per chat, then reuse it for later questions about thatNoYesYesNo
open_flaim_homeOpens the Flaim home: a full-page view of the user's connected current-season fantasy leagues (sport, league name, and team name) with starter questions. It is a UI entrypoint the user opens from the ChatGPT sidebar, hidden from the model on hosts that support MCP Apps. For league questions or the user's league list, use get_user_session instead. Read-only: it reads the same Flaim league records and saved defaults as get_user_session, and the asks the user kept, plus which Flaim home features are turned on for them, for the page to show (the asks are not part of this result's text), and changes nothing.NoYesYesNo
open_flaim_home_tabOpens the Flaim home as a tab in the current chat: the user's connected current-season fantasy leagues, each team's matchup, roster, standings, and moves, and starter questions, which post into that chat when tapped. It is a UI entrypoint the user opens from a chat, hidden from the model on hosts that support MCP Apps. For league questions or the user's league list, use get_user_session instead. Read-only: it reads the same Flaim league records and saved defaults as get_user_session, and the asks the user kept, plus which Flaim home features are turned on for them, for the page to show (the asks are not part of this result's text), and changes nothing.NoYesYesNo
refresh_leaguesRefresh connected fantasy leagues by asking Flaim to rediscover leagues through connected ESPN, Yahoo, and Sleeper accounts. Use only when the user explicitly asks to refresh, or from the refresh control on the league widget where the client supports it. Refresh can update Flaim registry timestamps and provider metadata, remove saved current-season Sleeper league associations after complete provider evidence confirms the user is no longer an owner or co-owner, and clear defaults that still point to removed associations. It preserves historical seasons and does not change provider lineups or rosters, add or drop players, submit waiver claims or trades, or modify league settings. If this call succeeds, call get_user_session again to show the updated league list. If it fails, follow the error retry guidance and any retry_after value; do not retry in a loop.YesNoNoYes
reorder_flaim_home_asksPuts the user's kept asks ("Your asks") in a new order on their Flaim account, when the user moves one up or down in the Flaim home page. It is called by the Flaim home page and hidden from the model on hosts that support MCP Apps. It takes every kept ask's id, in the new order, and changes nothing but the order.NoNoYesNo
save_flaim_home_askSaves one of the user's kept asks ("Your asks") from the Flaim home page: adds a new ask, or edits the name and wording of one the user already kept, on the user's Flaim account. It is called by the Flaim home page and hidden from the model on hosts that support MCP Apps. It changes only the user's saved asks, never league data or anything on ESPN, Yahoo, or Sleeper.NoNoNoNo

Details

Registry status
Active
Published
Oct 5, 2026
Updated
Oct 5, 2026
Categories
Uncategorized
GDPR
Not declared

Are you the operator? Claim this listing