A side-by-side look at the Ball Ranks and Fantasy Pl MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Ball Ranks for sports work; choose Fantasy Pl MCP for sports as a local process. You can also run both side by side in one mcpServers block.
get_team, get_my_team, get_manager.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Sports | Sports |
| Quality signal | 31/100 · Emerging | 61/100 · Good |
| Install command | Not confirmed yet | Confirmed |
| Transport | — | Local subprocess (stdio) |
| Auth | No auth required | No auth required |
| Pricing | Not declared | Free |
| Required env vars | None listed | None listed |
| Verified owner | Community listing | Community listing |
| GitHub stars | 0 | 80 |
| Directory activity | 0 views 0 installs 0 upvotes | 3 views 0 installs 0 upvotes |
| Tools | Not listed | 23 |
| Full listing | View Ball Ranks | View Fantasy Pl MCP |
No tool names declared yet. Check the project README from the listing page.
get_teamGet 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_teamGet 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_managerGet 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_teamGet 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
check_fpl_authenticationCheck if FPL authentication is working correctly
Returns:
Authentication status and basic team information
update_fpl_credentialsStore 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_infoGet 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_historyGet 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_standingsGet 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_analyticsGet 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_informationGet 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_playersSearch 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
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.
No confirmed install command for Ball Ranks yet — follow the setup steps linked from its listing page rather than a guessed package name.
{
"mcpServers": {
"rishijatia-fantasy-pl-mcp": {
"command": "uvx",
"args": [
"fpl-mcp"
]
}
}
}