Fantasy Football Manager vs Strava MCP

A side-by-side look at the Fantasy Football Manager and Strava MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.

Fantasy Football Manager logoFantasy Football ManagerSports · Local subprocess (stdio)ESPN draft and lineup analysis for Codex and MCP clients. Live actions use the ESPN companion.63GoodAuth: not declaredStrava MCP logoStrava MCPSports · Local subprocess (stdio)A Model Context Protocol (MCP) server that connects to Strava API, providing tools to access Strava data through LLMs67GreatAuth: oauth 2.0

Verdict: choose Fantasy Football Manager for sports work as a local process; choose Strava MCP for sports as a local process. You can also run both side by side in one mcpServers block.

Which MCP server should you choose?

Fantasy Football Manager logoChoose Fantasy Football Manager when

  • You need dedicated capabilities in the Sports domain.
  • You prefer a local stdio subprocess transport.
  • You have the keys it needs: FFM_ESPN_CREDENTIAL_FILE.
  • You want tools like get_capabilities, load_demo, import_league_snapshot.
Explore Fantasy Football Manager

Strava MCP logoChoose Strava MCP when

  • You need dedicated capabilities in the Sports domain.
  • You prefer a local stdio subprocess transport.
  • Its auth model fits you: OAuth 2.0.
  • You want tools like get-athlete-profile, get-athlete-stats, get-activity-details.
Explore Strava MCP

Feature & specification comparison

Rows where the two servers differ are marked.

SpecFantasy Football Manager logoFantasy Football ManagerStrava MCP logoStrava MCP
CategorySportsSports
Quality signal63/100 · Good67/100 · Great
Install commandConfirmedConfirmed
TransportLocal subprocess (stdio)Local subprocess (stdio)
AuthNot declaredOAuth 2.0
PricingNot declaredBYOK (pay the provider)
Required env varsFFM_ESPN_CREDENTIAL_FILENone listed
Verified ownerCommunity listingCommunity listing
GitHub stars88500
Directory activity 1 views 0 installs 0 upvotes 2 views 0 installs 0 upvotes
Tools1724

Tools & capabilities

Fantasy Football Manager tools 17

  • get_capabilitiesRead this server's capabilities before selecting analysis or execution tools. Returns supported actions, effective automation modes, pause state, snapshot presence, and state and configuration revisions. This server analyzes imported data and executes synthetic demo actions only. The response separately describes browser drafts and HTTP season actions through the ESPN companion. Its acceptance report distinguishes implemented actions from verified live execution. Works before a snapshot is loaded and does not change saved state.
  • load_demoLoad a fictional scenario for local testing or demonstrations. Use import_league_snapshot for your own data. Requires an empty data directory or existing synthetic state and preserves confirmed draft history checks. Stops the local draft monitor, replaces the snapshot, and resets configuration when the league changes. Records the import and returns status='imported', revision, config_revision, and config_reset. This tool does not connect to ESPN.
  • import_league_snapshotValidate and save a complete league snapshot supplied by the caller. Use the ESPN companion to fetch live observations or load_demo for fictional data. Replacement requires the current snapshot revision and preserves observation order and confirmed draft history. Pending browser submissions, HTTP submissions, and queued waivers retain their original context and rules until reconciliation resolves them. Changing the league, selected team, or season resets configuration to defaults. Records the import, increments the snapshot revision, and invalidates unexecuted proposals and monitor results. Returns status='imported', revision, config_revision, and config_reset, or an error without replacing state.
  • get_teamRead the selected team's roster from the saved snapshot. Requires an imported snapshot or loaded demo. Returns the snapshot revision, league context, roster and reserve players, lineup, league rules, and budget when supplied. Use recommend_lineup to calculate a lineup or get_source_status to check observation freshness. This tool does not fetch new data or change saved state.
  • get_source_statusCheck the freshness and completeness of the saved observation. Requires an imported snapshot or loaded demo. Returns source fields, age_seconds, the phase-specific maximum_age_seconds, stale, and local draft monitor status. This tool reads saved data and does not refresh the source or run a simulation. Use the ESPN companion for fresh HTTP season observations or browser draft observations. Use import_league_snapshot for replacement data supplied by the caller.
  • get_manager_configRead the full current configuration and its config_revision. Returns strategies, automation presets and per-action modes, pause state, and user limits. Works before a snapshot is loaded and does not change saved state. Use this response as the starting configuration for update_manager_config to preserve existing settings.
  • update_manager_configReplace the saved configuration using its current configuration revision. Read get_manager_config first to preserve settings that you do not intend to change. Omitted fields use model defaults rather than existing values, including when config is an empty object. Validates strategies and limits, records the change, and invalidates unexecuted proposals and monitor results. Returns status='updated' and the new config_revision, or a revision conflict without changing configuration. This tool does not execute actions or start a monitor.
  • recommend_draftRun one bounded draft simulation against the current imported draft snapshot. Use start_draft_monitor for repeated batches or get_draft_recommendations to read that monitor's cached results. Requires draft data with consistent pick history and full-season projections for available and selected-team players. Returns estimated recommendations, trial counts, warnings, revisions, and status such as ready, stale_snapshot, incomplete_snapshot, or roster_complete. current checks revision and snapshot freshness after calculation, but does not grant action permission. Appends a calculation evidence record, including discarded work, without changing rosters or submitting picks.
  • start_draft_monitorStart background draft simulations and return the initial monitor status. Requires a loaded draft snapshot and no active local draft monitor. Each batch uses the latest imported snapshot and appends calculation evidence, including discarded batches. The monitor waits while paused or while the snapshot is stale or incomplete, and clears obsolete cached results. Import new observations to maintain freshness. This tool neither reads a browser nor submits picks. Use get_draft_recommendations for results, stop_draft_monitor to stop, or recommend_draft for one synchronous calculation.
  • get_draft_recommendationsRead cached results and status from the local draft monitor without running a simulation. Returns running, status, error, current, trial counters, and latest when the cached inputs remain usable. latest is null when revisions change, the snapshot becomes stale or incomplete, automation pauses, or no result exists. Completed trials include work across the monitor session, while current_state_trials counts only the current inputs. Use start_draft_monitor to produce these results or recommend_draft for an independent single batch. This tool does not fetch observations or append calculation evidence.
  • stop_draft_monitorRequest shutdown of the local draft monitor and wait up to five seconds. Returns monitor status and counters, with running=true and status='stopping' if the active batch still needs to finish. Use get_draft_recommendations to confirm running=false before starting another monitor. Repeated calls are safe when the monitor is already stopped. This tool does not stop the ESPN companion or change saved automation configuration.
  • recommend_lineupOptimize the selected team's known weekly projections while preserving locked slots. Uses the saved season snapshot, weekly projections, verified player locks, and configured source age limits. Returns status='ok' with a lineup and comparison details, or status='incomplete' with errors and missing-input details. Unknown unchanged scores can cancel from improvement while total projected points remain null. Comparison scope and coverage gaps describe those limits. Coverage suggestions do not authorize a repair. Locked players remain in their current slots, including unavailable players whose games have locked. Appends calculation evidence without changing the lineup, and includes the input snapshot and configuration revisions. Use prepare_action for a synthetic proposal or the ESPN companion for live lineup changes.
  • +5 more on the listing page

Strava MCP tools 24

  • get-athlete-profileFetches the profile information for the authenticated athlete, including their unique numeric ID needed for other tools like get-athlete-stats.
  • get-athlete-statsFetches the activity statistics (recent, YTD, all-time) for a specific athlete using their ID. Requires the athleteId obtained from the get-athlete-profile tool.
  • get-activity-detailsFetches detailed information about a specific activity using its ID.
  • get-recent-activitiesFetches the most recent activities for the authenticated athlete.
  • list-athlete-clubsLists the clubs the authenticated athlete is a member of.
  • list-starred-segmentsLists the segments starred by the authenticated athlete.
  • get-segmentFetches detailed information about a specific segment using its ID.
  • explore-segmentsSearches for popular segments within a given geographical area.
  • star-segmentStars or unstars a specific segment for the authenticated athlete.
  • get-segment-effortFetches detailed information about a specific segment effort using its ID.
  • list-segment-effortsLists the authenticated athlete's efforts on a specific segment, optionally filtering by date.
  • list-athlete-routesLists the routes created by the authenticated athlete, with pagination.
  • +12 more on the listing page

Ready-to-paste client configs

Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.

Fantasy Football Manager

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "fantasy-football-manager": {
      "command": "uvx",
      "args": [
        "--from",
        "fantasy-football-manager==0.4.0",
        "fantasy-football-manager"
      ],
      "env": {
        "FFM_ESPN_CREDENTIAL_FILE": "YOUR_FFM_ESPN_CREDENTIAL_FILE_HERE"
      }
    }
  }
}

Strava MCP

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "r-huijts-strava-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@r-huijts/strava-mcp-server"
      ]
    }
  }
}

Frequently asked questions

Fantasy Football Manager is categorized under Sports and uses a local stdio subprocess. Strava MCP belongs to Sports and uses a local stdio subprocess. Pick Fantasy Football Manager for sports work and Strava MCP for sports.

Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.

Fantasy Football Manager has no declared pricing — check the project's own site. Strava MCP is bring-your-own-key: usage is billed by the API provider you supply a key for. Auth: oauth 2.0. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.

Yes. MCP clients support multiple servers: add fantasy-football-manager and r-huijts-strava-mcp as separate keys in the same mcpServers object, and your assistant will call tools from either one.

On AllMCPs, Fantasy Football Manager has a quality signal of 63/100 (Good) with 1 views, 0 installs and 88 GitHub stars. Strava MCP has 67/100 (Great) with 2 views, 0 installs and 500 GitHub stars.