Fantasy Pl MCP vs Strava MCP — MCP Server Comparison | AllMCPs
Side-by-Side Model Context Protocol Comparison
Fantasy Pl MCP vs Strava MCP
In-depth architectural comparison of the Fantasy Pl MCP and Strava MCP MCP servers. Compare execution transports, security boundaries, tool capabilities, quality scores, and ready-to-paste client installation snippets for Claude, Cursor, Windsurf, and VS Code.
At a Glance & Executive Verdict
Fantasy Pl MCP
Sports · Local stdio
Quality: 67/100 (Great) | Auth: API Key required
Strava MCP
Sports · Local stdio
Quality: 65/100 (Great) | Auth: OAuth 2.0
Verdict Summary: Choose Fantasy Pl MCP if you need specialized Sports tools running via a local process. Choose Strava MCP if your workspace requires Sports integration with local subprocess execution. Both servers can be configured concurrently in your client's mcpServers manifest.
Which MCP Server Should You Choose?
Choose Fantasy Pl MCP when:
You need dedicated capabilities in the Sports domain.
You prefer local stdio subprocess transport architecture.
Your security boundary fits: API Key required (Free / Open Source).
You have access to required keys: FPL_USERNAME, FPL_PASSWORD, FPL_COOKIES.
Get any team's players, captain, and other details for a specific gameweek
Args:
team_id: FPL team ID (required)
gameweek: Gameweek number (defaults to current gameweek)
Returns:
Detailed team information including player details, captain, and value
get_my_team
Get your own FPL team for a specific gameweek
Args:
gameweek: Gameweek number (defaults to current gameweek)
Returns:
Detailed team information including player details, captain, and value
Note:
This uses your authenticated team ID from the FPL credentials.
To get another team's details, use get_team and provide a team_id.
get_manager
Get detailed information about an FPL manager
Args:
team_id: FPL team ID to look up
Returns:
Manager information including history, name, team details, and leagues
get_my_current_team
Get your current team as shown on the transfers page, including
selling prices, chips, and transfer state (requires authentication)
Unlike get_my_team, this uses the authenticated my-team endpoint, so
it reflects pending changes and per-player purchase/selling prices.
Returns:
Current squad with prices, available chips, and transfer status
Ready-to-Paste Client Configurations
Paste either (or both) of these JSON server blocks into your client config file (e.g. claude_desktop_config.json or ~/.cursor/mcp.json).
Fantasy Pl MCP is categorized under Sports and uses a local stdio subprocess. In contrast, Strava MCP belongs to Sports using local stdio subprocess. Select Fantasy Pl MCP when you need capabilities focused on sports and Strava MCP when you require tools for sports.
Check if FPL authentication is working correctly
Returns:
Authentication status and basic team information
update_fpl_credentials
Store a new FPL refresh token when the current one has expired.
Use this when authenticated FPL tools fail with an invalid/expired refresh
token error. Ask the user to fetch a fresh token first: log in at
https://fantasy.premierleague.com, open the DevTools Console (F12), run
copy(JSON.parse(localStorage.getItem(Object.keys(localStorage).find(k=>k.startsWith('oidc.user:')))).refresh_token)
(typing 'allow pasting' first if Chrome refuses), and paste the clipboard
contents here. Copying the whole 'oidc.user:...' JSON value from DevTools ->
Application -> Local storage works too.
Args:
refresh_token: The copied oidc.user JSON value (or just its
refresh_token field)
team_id: FPL team ID; omit to keep the currently stored one
Returns:
Whether the new token was stored and validated against the FPL API
get_manager_info
Get detailed information about an FPL manager
Args:
team_id: FPL team ID (defaults to authenticated user)
Returns:
Manager info with leagues and performance stats
get_manager_transfer_history
Get a manager's transfer history with player names and prices
Args:
team_id: FPL team ID to look up
limit: Maximum number of transfers to return (most recent first)
Returns:
Transfer history grouped by gameweek
get_league_standings
Get standings for a specified FPL league
Args:
league_id: ID of the league to fetch
Returns:
League information with standings and team details
get_league_analytics
Get rich analytics for a Fantasy Premier League mini-league
Returns visualization-optimized data for various types of league analysis.
Args:
league_id: ID of the league to analyze
analysis_type: Type of analysis to perform:
- "overview": General league overview (default)
- "historical": Historical performance analysis
- "team_composition": Team composition analysis
- "decisions": Captain and transfer decision analysis
- "fixtures": Fixture difficulty comparison
start_gw: Starting gameweek (defaults to 1 or use "current-N" format)
end_gw: Ending gameweek (defaults to current)
Returns:
Rich analytics data structured for visualization
get_player_information
Get detailed information and statistics for a specific player
Args:
player_id: FPL player ID (if provided, takes precedence over player_name)
player_name: Player name to search for (used if player_id not provided)
start_gameweek: Starting gameweek for filtering player history
end_gameweek: Ending gameweek for filtering player history
include_history: Whether to include gameweek-by-gameweek history
include_fixtures: Whether to include upcoming fixtures
Returns:
Comprehensive player information including stats and history
search_fpl_players
Search for FPL players by name with optional filtering
Args:
query: Player name or partial name to search for
position: Optional position filter (GKP, DEF, MID, FWD)
team: Optional team name filter
limit: Maximum number of results to return
Returns:
List of matching players with details
+11 more tools listed on main page
Strava MCP Tools (24)
get-athlete-profile
Fetches the profile information for the authenticated athlete, including their unique numeric ID needed for other tools like get-athlete-stats.
get-athlete-stats
Fetches 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-details
Fetches detailed information about a specific activity using its ID.
get-recent-activities
Fetches the most recent activities for the authenticated athlete.
list-athlete-clubs
Lists the clubs the authenticated athlete is a member of.
list-starred-segments
Lists the segments starred by the authenticated athlete.
get-segment
Fetches detailed information about a specific segment using its ID.
explore-segments
Searches for popular segments within a given geographical area.
star-segment
Stars or unstars a specific segment for the authenticated athlete.
get-segment-effort
Fetches detailed information about a specific segment effort using its ID.
list-segment-efforts
Lists the authenticated athlete's efforts on a specific segment, optionally filtering by date.
list-athlete-routes
Lists the routes created by the authenticated athlete, with pagination.