Skip to main content
Glama

Fantasy Premier League (FPL)

Server Details

FPL data, points predictions, and transfer, captain and chip advice for any team.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 21 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
GilbertKamau/fpl_mcp
GitHub Stars
0

TDQS

B3.1/5.0

Scored across 14 tools

Disambiguation4/5

Most tools target clearly distinct actions: search_players (discovery), get_player (single lookup), compare_players (multi-player), predict_points (forecasting), and optimal_squad vs suggest_transfers (scratch vs existing squad) are well separated. Minor overlap exists where team_summary lists 'upcoming fixtures' (also get_fixtures) and search_players sorting by ep_next shades into predict_points, but descriptions keep these boundaries workable.

Naming Consistency4/5

All names use consistent snake_case with no style chaos. Most follow a verb_noun pattern (get_player, compare_players, search_players, pick_captain, predict_points), with a few noun-phrase deviations (chip_advice, optimal_squad, team_summary, model_report) that are still clear and readable.

Tool Count4/5

14 tools sits comfortably in the well-scoped 3-15 range for a data-rich fantasy sports domain. Each tool maps to a distinct FPL workflow (squad, captain, transfers, chips, modeling, fixtures), though a couple could theoretically merge (e.g., team_summary absorbing fixture info) without losing much.

Completeness4/5

Covers the core lifecycle well: player discovery/stats/history, team data, manager squad, transfer and captain advice, chips, squad optimization, and model reporting. Minor gaps remain around league/mini-league standings and head-to-head data, but agents can accomplish most FPL tasks with the given surface.

Available Tools

14 tools
chip_adviceBInspect

Chips left this half of the season, what each is worth, and whether to play or save it.

NameRequiredDescriptionDefault
team_idYes
gameweeksNo

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations and no output schema, the description carries the full disclosure burden and it partially does so by describing the return content (chips left, value, recommendation). However it says nothing about read-only behavior, side effects, or how the gameweeks horizon affects the advice. For a low-risk planning tool this is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence with no filler. It communicates the three outputs efficiently, though it is a sentence fragment rather than a structured statement of purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description outlines the returned content well enough to substitute for the missing output schema, but with two undocumented parameters, no annotations, and no schema coverage, key invocation details (what team_id refers to, what gameweeks controls) are left unspecified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, and it largely does not. Neither team_id nor gameweeks is mentioned; the phrase 'this half of the season' only loosely gestures at the lookahead horizon without clarifying the gameweeks parameter's role or default.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific resource (chips) and enumerates the outputs: remaining chips, their worth, and a play/save recommendation. It clearly distinguishes itself from siblings like optimal_squad, pick_captain, and suggest_transfers, which handle squad and transfer decisions rather than chips. It stops short of naming a sibling it is not, but the intent is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use, when-not-to-use, or alternative guidance. The agent can infer this is chip-planning advice, but nothing states the conditions under which chip_advice is the right call versus consulting gameweek_status or team_summary. No prerequisites, timing, or dependency information is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compare_playersAInspect

Compare 2-6 players side by side, including per-90 output, value and fixture difficulty.

NameRequiredDescriptionDefault
playersYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It does disclose what data is included (per-90 output, value, fixture difficulty), which is useful behavioral context, but says nothing about identifier format, auth, or response shape.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single tight sentence that front-loads the core action (compare 2-6 players) before the supporting detail. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations and no output schema, the description should explain more about return values and accepted input format. It partially covers output content but leaves identifier semantics and response structure to inference.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% and there is one opaque string array parameter. The description adds the meaningful 2-6 count constraint that the schema omits (no minItems/maxItems), but it never explains what the player strings should contain (names vs IDs).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (compare) plus resource (players) and a scope constraint (2-6). Clearly distinct from single-player siblings like get_player, though it doesn't name those alternatives explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The comparison framing implies the use case (evaluating several players together), but there is no explicit guidance on when to choose this over get_player or search_players, nor any exclusions or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gameweek_statusAInspect

Current and next gameweek, the next deadline, and when the data was last refreshed.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden, and it does disclose one genuinely useful behavioral fact: that the response includes a data-refresh timestamp, hinting at staleness. However, it says nothing about whether the call is read-only (implied, but not stated), authentication requirements, or caching/refresh cadence.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence that front-loads the primary value (current/next gameweek) and appends the supporting fields. No filler, no redundancy, nothing to trim.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, so the description must sketch the return shape, and it does so adequately by enumerating the three returned items. For a zero-parameter read-only status tool this is nearly sufficient; only the exact format/types of those fields remain unspecified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, which is the baseline-4 case; there is no parameter syntax or semantics left to explain. The description correctly implies the call needs no arguments.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the specific resource and its three components (current/next gameweek, next deadline, last refresh), so an agent can predict the payload. It stops short of a 5 because there is no explicit verb and no direct differentiation from siblings, though the siblings' names are distinct enough that overlap is unlikely.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use or when-not-to-use guidance, and no sibling is referenced as an alternative. Usage is only inferable from the name and the content list; the description never states the condition under which an agent should call this rather than, say, team_summary or get_my_team.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_fixturesBInspect

Fixtures for a team (next 6 gameweeks), or every fixture in a gameweek (default: next gameweek).

NameRequiredDescriptionDefault
teamNo
gameweekNo

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It does disclose the meaningful behavior of the default time window (next gameweek) and the team-scope horizon (next 6 gameweeks), which an agent needs. But it says nothing about output format, ordering, or whether team is a name or ID, leaving notable gaps for a no-annotation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single compact sentence, front-loaded with the primary case (fixtures for a team) and appending the alternative and default. Every clause carries information; only the slightly dense parenthetical phrasing keeps it from a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-param read tool with no output schema and no annotations, the description covers the core modes and default behavior adequately. It omits parameter formats and any return-shape hints, which leaves real ambiguity given the 0% schema coverage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, and it partially does: it explains what the team parameter scopes (next 6 gameweeks), what the gameweek parameter scopes (every fixture that round), and the default. It never specifies the expected format of 'team' (name vs ID) or the gameweek value range, so compensation is incomplete.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource (get fixtures) and even delineates two scopes: a team's next 6 gameweeks vs all fixtures in a gameweek. It's clearly distinguishable from the player/team/squad siblings. It stops short of naming any sibling tool for differentiation, so it lands at a solid 4 rather than 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the two calling modes (pass a team for a rolling window, pass a gameweek for a full round) and notes the default of next gameweek. However it never states when to prefer one mode over the other or when to reach for this tool versus alternatives like team_summary. Usage is inferable but not explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_my_teamCInspect

A manager's squad, bank, rank and availability_alerts. team_id is the number in the FPL entry URL.

NameRequiredDescriptionDefault
team_idYes
gameweekNo

TDQS

C2.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It does not state whether this operation is read-only, whether authentication is required, or any rate limit constraints. The field list hints at a read operation but does not confirm it.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The two-sentence structure is compact and front-loads the field list. However, the first sentence is a fragment that reads like a column header rather than a clear statement of purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter tool with no annotations, no output schema, and zero schema description coverage, the description is inadequate. It leaves the agent guessing about the gameweek parameter and the mutation/read semantics of the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It explains team_id as 'the number in the FPL entry URL', which is helpful for one parameter, but the gameweek parameter is completely unexplained in both description and schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description lists the data fields returned (squad, bank, rank, availability_alerts) which conveys what is retrieved, but the verb is implied rather than stated. It does not distinguish this from the sibling team_summary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus team_summary or any other sibling is provided. The agent must infer usage entirely from the name and schema.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_playerAInspect

A player's stats, injury news, last 6 matches and next fixtures. player: name or FPL id.

NameRequiredDescriptionDefault
playerYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries the full burden. It does disclose the return contents (stats, injury news, last 6 matches, fixtures), which is useful behavioral context, but says nothing about resolution behavior for ambiguous names, failure when a player is not found, or any rate/permission constraints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences, zero filler, with the returned data front-loaded and the parameter contract in a compact trailing clause. Nothing could be cut without losing information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter lookup with no output schema, the description covers both the input format and the shape of what comes back, which is enough for correct invocation. The missing pieces are edge-case behavior (not found, ambiguous name) and sibling routing, both minor given the tool's simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% for the single 'player' parameter, so the description must compensate and largely does: it names the two accepted identifier formats (name or FPL id). It stops short of saying whether name matching is exact, fuzzy, or case-sensitive, which is the main remaining ambiguity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States precisely what the tool returns for a single player: stats, injury news, last 6 matches, next fixtures. The resource is unambiguous and the read/lookup intent is obvious, though it never names or contrasts with the closely-named sibling search_players or player_season_history, so the agent must infer that this is the composite per-player lookup.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use, when-not-to-use, or alternative routing is given. With search_players and player_season_history in the sibling set, the description should say whether this is a one-shot lookup versus a discovery tool or a history tool; nothing is offered.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

model_reportBInspect

Model accuracy: past-season tests and this season's live results vs a baseline and FPL's own.

NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden, and it does disclose the report's content (backtest results, live results, two comparison targets), which implies a read-only, non-mutating operation. However, it says nothing about access requirements, cost/delay, or how the comparison is presented, so behavioral context is only partial.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler; the two evaluation streams and two comparison targets are packed in without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema and no annotations, so the description must convey the return shape, and it only gestures at contents ('past-season tests', 'live results vs a baseline and FPL's own') without indicating format, metrics, or time granularity. Adequate hint, incomplete for an agent that must decide how to use the output.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there is nothing for the description to disambiguate; baseline score applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific resource (model accuracy) and details the two evaluation streams it reports: past-season tests and this season's live results, benchmarked against a baseline and FPL's own figures. No sibling tool reports accuracy, so it is distinguishable, though it never states an explicit verb like 'returns' or 'reports'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit when-to-use guidance, no prerequisites, and no mention of alternatives. The purpose of consulting model accuracy (e.g. before trusting predict_points) is only inferable, not stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

optimal_squadBInspect

Best 15-man squad from scratch (e.g. a Wildcard) for a budget in £m, following FPL rules.

NameRequiredDescriptionDefault
budgetNo
gameweeksNo

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full load. It does convey key behavioral context — output is a 15-man squad, constrained by a budget in £m and FPL rules — but says nothing about whether the squad is persisted, what permissions are needed, or how the gameweeks horizon affects the result.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single tight sentence that front-loads the deliverable (best 15-man squad) and then the constraints. No filler, though it is arguably slightly terse given the two undocumented parameters.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 2-param optimizer with no output schema and no annotations, the description covers the deliverable and budget basis but leaves the gameweeks parameter and the persistence/mutation behavior unexplained, so it is adequate rather than complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 2 params. The description clarifies that budget is denominated in £m, adding meaning beyond the bare 'Budget' field, but the 'gameweeks' parameter (default 3) is never explained — a meaningful omission since its role in the optimization is non-obvious.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: build the best 15-man squad from scratch under a budget, following FPL rules. The phrase 'from scratch (e.g. a Wildcard)' implicitly distinguishes it from transfer/optimization siblings like suggest_transfers, though it never names an alternative explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'from scratch (e.g. a Wildcard)' cue implies the scenario in which to use it (a fresh squad rather than incremental transfers), but there is no explicit when-to-use or when-not guidance and no named alternative among the many siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pick_captainBInspect

Captain, vice-captain and the top 5 captaincy options in a manager's current squad for next gameweek.

NameRequiredDescriptionDefault
team_idYes

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses what is produced (captain, VC, top-5 options) and that it operates on the manager's current squad, which is useful. It does not say whether it is a read-only lookup, whether team_id must be the authenticated manager's team, or how fresh the data is.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single compact fragment with no filler, and the key scoping detail (next gameweek, manager's current squad) is front-loaded. It would be stronger as a complete sentence, but nothing is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no annotations, the description partially compensates by enumerating the returns (captain, VC, top-5 options). It leaves the sole parameter unexplained and gives no context on data source or staleness, so it is only minimally complete for a one-parameter lookup tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and there is one required parameter (team_id) that the description never explains. The phrase 'a manager's current squad' hints that team_id identifies the manager, but nothing clarifies format, source, or whether it must be the caller's own team.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a concrete resource and scope — captain, vice-captain, and top-5 captaincy options from a manager's current squad for the next gameweek. An agent can tell this apart from siblings like compare_players or suggest_transfers, though it is written as a noun fragment rather than an explicit verb+resource statement.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to use this tool versus alternatives such as compare_players, model_report, or predict_points. The 'next gameweek' scoping is implied but no condition, prerequisite, or exclusion is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

player_season_historyCInspect

A player's FPL totals for every season loaded (back to 2016-17), linked across seasons.

NameRequiredDescriptionDefault
playerYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full disclosure burden, and it only states the data scope ('back to 2016-17'). It says nothing about read-only nature, behavior for an unknown/ambiguous player, or the granularity of the returned totals.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One tight sentence with the scope qualifier parenthetical, zero filler, and the key information front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description must convey what comes back, and it does at a high level (season-by-season totals linked across seasons). However, it omits the parameter format and the shape/granularity of the returned season records, leaving gaps for a tool whose schema gives no help.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the single 'player' parameter has no description. The description never clarifies whether 'player' is a name, an FPL element ID, or something else, so the parameter's actual format is undocumented in both schema and text.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States the resource (a player's FPL totals) and the precise scope (every season loaded, back to 2016-17), which is more specific than the bare name suggests. It does not explicitly distinguish itself from the sibling get_player, though the 'every season / across seasons' scope implies the difference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance and no alternatives named. An agent is left to infer that this is the historical companion to get_player rather than being told so.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

predict_pointsBInspect

Expected points for the next 1-5 gameweeks, best first; one player, or filter to rank candidates.

NameRequiredDescriptionDefault
teamNo
limitNo
playerNo
positionNo
gameweeksNo
max_priceNo

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations and no output schema, the description carries the full behavioral burden. It usefully discloses sort order ('best first') and the prediction horizon (1-5 gameweeks), but says nothing about whether this is a pure read, what the model basis is, or how results are bounded by the limit parameter.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single tight sentence with the core value proposition front-loaded ('Expected points for the next 1-5 gameweeks'). Dense and slightly cryptic in the second clause, but no wasted sentences.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a six-parameter prediction tool with no annotations, no output schema, and zero schema descriptions, the description does minimal but reasonable work. It omits the semantics of most filter parameters and any indication of return shape, so an agent would still need to guess.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for all six parameters. It covers player selection, the gameweek horizon, and implies filtering/ranking, but never names the team, position, max_price, or limit filters that the schema exposes, leaving half the surface unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific output (expected points), the time horizon (next 1-5 gameweeks), and ordering ('best first'). It does not distinguish itself from siblings like pick_captain, optimal_squad, or compare_players, which all plausibly consume the same prediction, so an agent cannot fully disambiguate without opening schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It implies two usage modes ('one player' vs 'filter to rank candidates') but never states when to prefer this over pick_captain, compare_players, or model_report. Usage is inferable but no explicit when/when-not or alternative routing is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_playersCInspect

Find and rank players; position GKP/DEF/MID/FWD, sort_by any stat (e.g. form, price, ep_next).

NameRequiredDescriptionDefault
nameNo
teamNo
limitNo
sort_byNototal_points
positionNo
max_priceNo
min_priceNo
min_minutesNo
available_onlyNo

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It implies a read-only ranked search but discloses nothing about default sorting (total_points appears only in the schema default), pagination/limit behavior, result ordering guarantees, or what a yielded row contains. For a 9-parameter query tool this is thin.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single semicolon-joined sentence with no filler; the core capability is front-loaded. It is arguably too short for nine parameters, but there is no wasted wording to trim.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With nine parameters, zero annotations, and zero schema descriptions, the description should carry far more explanation. The output schema does exist, so return values need not be explained, but the filter semantics (price units, min_minutes meaning, available_only definition) remain entirely undocumented.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate and only partially does. It supplies the position vocabulary (GKP/DEF/MID/FWD) and sort_by examples (form, price, ep_next), which are genuinely absent from the schema, but ignores name, team, limit, max_price, min_price, min_minutes, and available_only.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb pair (find/rank) and the resource (players), which an agent can distinguish from the singular sibling get_player and from compare_players. However, it never explicitly names the alternatives it should be chosen over, so differentiation is left to inference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance: nothing tells the agent when to pick search_players over compare_players, pick_captain, or suggest_transfers. The only implicit signal is that it returns ranked lists, which is not a usage rule.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suggest_transfersCInspect

Best transfers over the next N gameweeks after -4 hits; mention any availability_alerts to the user.

NameRequiredDescriptionDefault
team_idYes
gameweeksNo
max_transfersNo
free_transfersNo

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It does disclose one useful trait — that the -4 hit cost is factored into recommendations — and that availability_alerts should be surfaced. But it says nothing about whether the call is read-only, what external team state it reads, or how results are shaped.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single dense sentence with no filler, and the core action is front-loaded. The trailing 'mention any availability_alerts to the user' is a useful instruction rather than padding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a four-parameter tool with no annotations, no output schema, and zero schema description coverage, one sentence is not enough. It omits what the recommendation returns, how max_transfers and free_transfers alter output, and how the -4 hit rule interacts with the parameters.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, and it only partially does: 'N gameweeks' maps loosely to the gameweeks parameter. team_id, max_transfers, and free_transfers receive no explanation, and the hit-cost reference is not tied to free_transfers explicitly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the resource ('transfers') and a specific constraint (next N gameweeks, after -4 hits), which gives the agent a decent sense that this is a recommendation tool. However, it never distinguishes itself from the other recommendation-shaped siblings such as optimal_squad, chip_advice, or compare_players, leaving the agent to infer the boundary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit when-to-use guidance and no named alternatives. The mention of 'after -4 hits' hints at a decision context, but the agent is not told when this tool should be preferred over optimal_squad or predict_points.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

team_summaryCInspect

A club's results so far, goals for/against, clean sheets, upcoming fixtures and top FPL players.

NameRequiredDescriptionDefault
teamYes

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It hints at the data returned but says nothing about read-only safety, authentication/team identifier requirements, or result scope, leaving real gaps for a tool with zero annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One compact sentence lists the payload contents with no filler, and the most identifying content (results, fixtures) comes first. It is a fragment rather than a structured sentence, but nothing is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description helpfully enumerates what comes back, which covers the return-value gap. However, for a required-parameter tool with no annotations and 0% schema coverage, the omission of parameter format and usage context leaves it only adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the single 'team' parameter is undocumented. The phrase "a club's" weakly implies the argument is a club, but the description never states whether it expects a name, abbreviation, or FPL team ID, so it does not compensate for the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific resource and enumerates the concrete content returned (results, goals for/against, clean sheets, fixtures, top players), which separates it from siblings like get_fixtures or compare_players. It lacks an explicit verb and is a noun fragment, so it is clear but not maximally sharp.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance and no alternatives named. An agent cannot tell from the text whether to call this instead of get_fixtures for a club, or how it relates to get_my_team.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 14 tool updates
    • First observedchip_advice
    • First observedcompare_players
    • First observedgameweek_status
    • First observedget_fixtures
    • First observedget_my_team
    • First observedget_player
    • First observedmodel_report
    • First observedoptimal_squad
    • First observedpick_captain
    • First observedplayer_season_history
    • First observedpredict_points
    • First observedsearch_players
    • First observedsuggest_transfers
    • First observedteam_summary

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    AI-powered Fantasy Premier League assistant — scored captain picks, transfer suggestions, differentials, fixture outlook, price predictions, live points, and a full manager hub that auto-detects your squad, bank balance, and free transfers.
    13
    61 PyPI
    11
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Enables rules-aware Fantasy Premier League decision-making by evaluating your squad, transfer options, chips, and signals to return legal hold, transfer, and chip recommendations with reasoning, risk, and outlook.
    8
    1
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Provides live Fantasy Premier League data, expected-goals analytics, and a linear-programming squad optimizer, enabling users to build optimal FPL squads, compare players, find value picks, and get transfer and captain advice through natural language.
    -
  • A
    license
    A
    quality
    B
    maintenance
    Manages Fantasy Premier League teams via natural language, reading team data, analyzing players and fixtures, and executing actions like transfers, captain changes, and chips.
    18
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.