PlayerElo MCP server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PLAYERELO_API_KEY | Yes | Your PlayerElo API key (required) | |
| PLAYERELO_BASE_URL | No | Override the API base URL | https://data-api.playerelo.football |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_playersA | Find football players by name (case-insensitive). Returns matches with their player_id, name, Elo rating, position, current club and league — use the player_id with the other player tools. This is how you resolve a name like "Bellingham" to an id. |
| list_top_playersA | The highest-rated players worldwide by current Elo (active players only). Paginate with limit (max 100) and offset. |
| get_playerA | Full current record for one player by id: name, age, position, club, league, Elo rating and EAR (Elo Above Replacement). Returns null if no player has that id. |
| get_player_historyA | A player's Elo and EAR over time (one point per date) — the rating trajectory, useful for form/trend analysis and charts. |
| get_player_valueA | PlayerElo's own model-based market-value estimate for a player (in euros), with the signals behind it. This is our computed estimate, not a third-party valuation. |
| get_player_styleA | A player's playing-style profile — per-90 output and a multi-axis process fingerprint describing how they play, not just how good they are. |
| get_player_opportunitiesA | Recruitment opportunity map for a player: realistically reachable clubs that could plausibly sign them, ranked by fit. Requires a Business-tier key. |
| search_coachesA | Find coaches/managers by name (case-insensitive). Returns matches with their coach_id (a string like "coach_4"), name, Elo and current club — PlayerElo is the only public system that rates coaches. Use the coach_id with the other coach tools. |
| get_coachA | Full current record for one coach by id (e.g. "coach_4"): name, club, league and Elo rating. Returns null if no coach has that id. |
| search_clubsA | Find clubs by name (case-insensitive). Returns matches with their team_id, name, Team Elo (squad-derived strength), league and country. Use the team_id with the other club tools. |
| get_clubA | One club's current record by team_id: name, Team Elo, league, country and its standout player. Returns null if no club has that id. |
| get_club_squad_gapsA | A club's squad-need analysis: which positions are weakest relative to its level — the recruitment gaps a sporting director would target. |
| list_leaguesA | All competitions PlayerElo covers, with each league's id, name and country. Use a league_id with get_league_ranking. |
| get_league_rankingA | A league's clubs ranked by Team Elo (current-season strength order). |
| get_predictionsA | Upcoming-match win/draw/win probabilities from confirmed lineups, refreshed roughly every 10 minutes. Optionally filter by a league name/code. These are lineup-aware predictions, not just team form. |
| get_value_betsA | Current value-bet signals — where PlayerElo's fair odds diverge from the market price. Optionally filter by strategy ("hs2_v6" = High Volume, "hs1_v6" = Sweet Spot). To poll for only NEW picks, pass since=; signals refresh about every 10 minutes. |
| get_transfer_fitA | A 0-100 transfer-fit score for a specific player → club move, blending tactical fit (style match to the club's system), financial fit (our value estimate vs the club's typical spend) and strategic fit (squad need, age, level), with the per-signal breakdown. Requires an Ultra-tier key or higher. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 17 tools
Each tool targets a distinct entity or specific aspect (e.g., player history vs. player value vs. player style). Search tools are separated by entity (players, coaches, clubs). No two tools appear to perform the same function, and any conceptual overlaps (like player opportunities vs. transfer fit) are complementary rather than redundant.
All tool names follow a consistent lowercase_underscore convention with verb prefixes: search_*, list_*, and get_*. The get_* tools use clear entity-specific suffixes (e.g., get_player_history, get_club_squad_gaps). This makes the naming predictable and easy to navigate.
With 17 tools, this is slightly above the typical well-scoped range, but the server covers a broad domain (players, coaches, clubs, leagues, predictions, betting). Each tool serves a distinct purpose and the count feels justified rather than bloated.
The tool surface covers core read operations for all entities, including specialized analytics (player history, value, style, opportunities; club squad gaps; league rankings; predictions; value bets). Minor gaps exist, such as no coach history or player match-level stats, but these are not critical to the server's stated purpose.