Skip to main content
Glama

FPL Copilot

Server Details

Fantasy Premier League expected points, team ratings, captaincy and mini-league win chances.

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
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

B3.4/5.0

Scored across 19 tools

Disambiguation3/5

Several tools have overlapping retrieval purposes: get_player vs get_player_breakdown (the latter is vaguely scoped as 'for the card's own view'), and get_my_team, get_captain_picks, and rate_my_team all touch on team evaluation and captaincy. Descriptions provide some guidance (e.g. get_my_team points to rate_my_team for ratings), but an agent could still misselect among these.

Naming Consistency5/5

All tool names use consistent snake_case with clear verb_noun or get_noun patterns (e.g. compare_players, get_player, search_guides). No deviations in style or casing, making the set predictable.

Tool Count3/5

With 19 tools, the set is on the heavy side for an FPL assistant, and a few tools (get_player_breakdown, get_mini_league_odds) feel like niche features that could be consolidated. However, most tools serve distinct user needs, so it's not excessive.

Completeness4/5

The surface covers player search, comparison, team analysis, fixtures, chips, mini-leagues, and guides, which is a broad FPL workflow. A notable gap is an explicit transfer planning or suggestion tool, though get_gameweek_review and get_my_team partially address transfer implications.

Available Tools

19 tools
compare_playersCompare FPL playersA
Read-onlyIdempotent
Inspect

Use this when choosing between two or three FPL players (e.g. 'Saka or Palmer?'): expected points over the coming gameweeks, form, price and ownership side by side.

ParametersJSON Schema
NameRequiredDescriptionDefault
namesYes2-3 player names
horizonNoHow many gameweeks ahead to count (1-8).

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so safety is covered. The description then adds real value by disclosing the content of the result (expected points, form, price, ownership), which matters because no output schema exists.

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 trigger condition before the payload list. No filler, no redundancy with the title or schema.

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 two-parameter read-only tool with no output schema, the description supplies the key missing piece — what the comparison returns — and the usage trigger. Minor gap: it doesn't note behavior at the 3-player cap or how ties/missing players are handled.

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 100%, so both 'names' (2-3 players) and 'horizon' (1-8 gameweeks) are already documented. The description's 'coming gameweeks' wording loosely corresponds to horizon but adds no syntax or format detail beyond the schema, so the baseline of 3 applies.

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

Purpose5/5

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

Names a specific verb+resource ('Compare FPL players') and enumerates exactly what is compared: expected points over coming gameweeks, form, price and ownership. This distinguishes it from siblings like get_player and find_players, which retrieve single players rather than a side-by-side comparison.

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

Usage Guidelines4/5

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

Gives a concrete trigger scenario and a natural-language example ('Saka or Palmer?'), which is exactly the agent's decision context. It does not, however, name an alternative (e.g. use get_player for a single player) or state exclusions, so it falls short of the 5 bar.

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

find_playersFind FPL players by expected pointsA
Read-onlyIdempotent
Inspect

Use this to find the best Fantasy Premier League (fantasy football) players by FPL Copilot expected points (xPts), filtered by position, price, club or ownership, and sorted by points, value per £m, or as low-owned differentials.

ParametersJSON Schema
NameRequiredDescriptionDefault
sortNoxpts (default), value (xPts per £m) or differential (low-owned)xpts
teamNoClub, e.g. ARS or Arsenal
limitNoHow many players (max 15)
horizonNoHow many gameweeks ahead to count (1-8).
positionNoPosition
max_priceNoMax price in £m, e.g. 8.0
min_priceNoMin price in £m
max_ownershipNoMax ownership %, e.g. 10 for differentials

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description adds the xPts ranking basis and sort semantics but says nothing about return shape, pagination, or how ties/empty results behave, so it only modestly exceeds what annotations provide.

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 that leads with the purpose and then enumerates filters and sort modes. Efficient, though the trailing list of sort options slightly duplicates the schema enum.

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 an 8-parameter read-only search with no output schema, the description covers the core intent and filter/sort surface well. It leaves the 'horizon' parameter unmentioned and gives no hint about result contents, but with 100% schema coverage and full annotations those gaps are minor.

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 100% and each parameter (sort, team, price range, ownership, position, limit, horizon) is already documented inline. The description restates the filter dimensions and the meaning of the sort modes but adds no syntax, format, or default behavior beyond the schema, so the baseline 3 applies. It also omits the 'horizon' (gameweeks ahead) parameter entirely.

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

Purpose5/5

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

States a specific verb (find) and resource (FPL players) and pins the ranking basis to 'FPL Copilot expected points (xPts)'. This is clearly distinct from sibling get_player (single lookup) and compare_players, so an agent can route without opening a schema.

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 'Use this to...' framing gives a clear implied context for filtered ranking searches, but it never states when to prefer this over compare_players or get_player, nor any exclusions. Usage is implied rather than specified.

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

get_best_chip_squadBest FPL Wildcard or Free Hit teamA
Read-onlyIdempotent
Inspect

Use this when someone wants the best FPL Wildcard or Free Hit squad for a gameweek, built by FPL Copilot's optimiser within £100m and FPL squad rules.

ParametersJSON Schema
NameRequiredDescriptionDefault
gwNoGameweek (default: next)
chipNowildcard or free_hitwildcard

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered and the bar is lower. The description still adds real behavioral context: the squad is produced by an optimiser, respects a £100m budget, and obeys FPL squad rules, which tells the agent what the output represents. It omits return format/pagination, but that is secondary here.

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 that leads with the trigger condition and then the tool's scope. No filler or repetition of the tool name.

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?

With no output schema, the description should ideally hint at what is returned (a list of players, formation, cost breakdown). It conveys the key constraints and the read-only, idempotent nature via annotations, which is sufficient to call the tool correctly, but the return shape is left implicit.

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 100%, so both parameters (gw, chip) and their defaults and enum values are fully documented in the schema. The description adds no syntax or format detail beyond saying the squad is 'for a gameweek', so the baseline 3 applies.

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

Purpose5/5

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

States a specific verb (get), a specific resource (best FPL Wildcard or Free Hit squad), and scopes it further by naming the optimiser, the £100m budget, and FPL squad rules. This distinguishes it clearly from siblings like rate_my_team, get_my_team, and compare_players.

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

Usage Guidelines4/5

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

The opening clause 'Use this when someone wants the best FPL Wildcard or Free Hit squad for a gameweek' gives a clear triggering context. It does not, however, name competing alternatives (e.g. rate_my_team or get_my_team) or state when this tool should not be used, so it stops short of a 5.

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

get_captain_picksFPL captain picksA
Read-onlyIdempotent
Inspect

Use this when someone asks who to captain in Fantasy Premier League (fantasy football) this gameweek. With a team ID it ranks their own players; without one it lists the best captain options in the game.

ParametersJSON Schema
NameRequiredDescriptionDefault
team_idNoThe manager's FPL team ID (entry ID), or any FPL link containing /entry/<id>/. Leave empty if unknown.

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare this as a read-only, idempotent, closed-world operation, so the safety profile is covered. The description usefully adds that behavior branches on team_id (own squad ranking vs. global best options), but says nothing about freshness, data scope beyond the gameweek, or return 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?

Two sentences, both earning their place, with the use trigger front-loaded and the parameter-dependent behavior immediately following. No filler.

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?

With a single optional parameter, full schema coverage, and rich annotations, the description supplies the one thing structure cannot: the semantic difference between the two call modes. Absent an output schema it could say slightly more about what the ranking contains, but it is adequate for correct invocation.

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 100% and the schema already explains that team_id accepts an entry ID or a URL containing /entry/<id>/. The description goes beyond that by stating what providing or omitting the parameter actually changes in the output.

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 verb-and-resource pair — recommending who to captain in FPL for the current gameweek — and clarifies the tool's two output modes. It does not explicitly differentiate itself from siblings like get_player or get_my_team, but the purpose 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 Guidelines4/5

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

The opening clause gives an explicit trigger ('when someone asks who to captain... this gameweek'), which is a clear use condition. It stops short of naming alternatives to use instead or exclusions, so it does not reach the 5 level.

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

get_deadlineFPL deadlineA
Read-onlyIdempotent
Inspect

Use this for the next Fantasy Premier League deadline time and gameweek.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and closed-world, so safety behavior is fully covered. The description adds only the word 'next', which signals the tool returns the upcoming deadline rather than a list or history. No further behavioral context is warranted for such a simple lookup.

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 short sentence with no waste, front-loading the resource. Minor deduction for the awkward 'Use this for the ... deadline time' construction where a clean verb phrase would read better.

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?

With no output schema, the description does name the payload contents (deadline time and gameweek), which is the key information an agent needs to know what it will receive. For a nullary lookup this is close to complete; the omission of any format or timezone detail is minor.

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 clarify. Baseline 4 applies per the zero-parameter rule.

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 resource: the next FPL deadline time and gameweek. It is instantly distinguishable from all siblings, none of which concern deadlines. Phrasing is slightly garbled ('Use this for the next ... deadline time'), but the purpose 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 Guidelines3/5

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

There is no explicit when-to-use or when-not-to-use guidance, but for a zero-argument lookup with no competing sibling the implied usage is obvious. Adequate rather than instructive.

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

get_fixture_tickerFPL fixture difficultyA
Read-onlyIdempotent
Inspect

Use this for Fantasy Premier League fixture difficulty (FDR): each club's coming fixtures and their average difficulty, easiest runs first.

ParametersJSON Schema
NameRequiredDescriptionDefault
gw_toNoLast gameweek. Leave empty for a 6-gameweek view (max 8 ahead)
teamsNoClubs to include (default: all 20)
gw_fromNoFirst gameweek. Leave empty for the next gameweek; set only if the user names one

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so safety is fully covered. The description's one addition beyond that is the result ordering ('easiest runs first'), which is genuinely useful behavioral context, but it says nothing about pagination or return shape. With annotations carrying the profile, a 3 is appropriate.

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 that names the domain, the resource and the ordering with zero filler. Nothing could be trimmed 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?

No output schema exists, but the description explains what is returned (coming fixtures plus average difficulty) and how it is ordered, and the fully covered schema handles the parameters. Only minor gaps remain around the return shape/format.

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 100%, so gw_from, gw_to and teams are already documented in the schema, including defaults and the 6-gameweek window. The description adds no syntax or format detail beyond that, so the baseline 3 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?

States a specific resource ('FPL fixture difficulty (FDR)') and the substance returned (each club's coming fixtures and average difficulty), with the acronym defined so an agent can map it to the domain. It does not explicitly contrast itself with any sibling such as get_gameweek_review, so it falls short of the top band.

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?

'Use this for Fantasy Premier League fixture difficulty' implies the retrieval context, and the ordering hint ('easiest runs first') hints at the use case. There is no statement of when NOT to use it or which sibling covers adjacent fixture questions, so the guidance is only implied.

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

get_gameweek_reviewFPL gameweek reviewA
Read-onlyIdempotent
Inspect

Use this to review an FPL manager's gameweek: points vs the average, captain result, bench points and transfers, plus how lucky their season has been against FPL Copilot's expected points.

ParametersJSON Schema
NameRequiredDescriptionDefault
gwNoGameweek (default: the last finished)
team_idNoThe manager's FPL team ID (entry ID), or any FPL link containing /entry/<id>/. Leave empty if unknown.

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds non-obvious behavioral value by disclosing the review's analytical content, including a 'luck vs expected points' comparison that an agent could not infer from the name or schema.

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 that starts with the use case and then lists the payload. No filler, no restatement of the title.

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?

With no output schema, the description must carry the return-value burden, and it does by naming the five components of the review. Minor gap: it does not mention that only finished gameweeks are reviewed or how results are formatted, but the essentials for correct invocation are present.

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 100%: the schema already explains that gw defaults to the last finished gameweek and that team_id accepts a link containing /entry/<id>/. The description adds no param-level detail beyond that, so the baseline 3 applies.

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

Purpose5/5

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

The description pairs a specific verb ('review') with a specific resource ('an FPL manager's gameweek') and enumerates the review's contents (points vs average, captain, bench, transfers, luck vs expected points). That enumeration distinguishes it from nearby siblings like get_my_team and rate_my_team without opening any schema.

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?

'Use this to review an FPL manager's gameweek' gives a clear triggering intent, but it never names an alternative (rate_my_team, get_my_team) or states when this tool should be skipped. Usage is implied rather than delimited.

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

get_mini_leagueFPL mini-league standingsA
Read-onlyIdempotent
Inspect

Use this for an FPL mini-league: standings, the gap to the leader, and rivals' captains and differential picks. Without a league ID it lists the manager's leagues to choose from.

ParametersJSON Schema
NameRequiredDescriptionDefault
team_idNoThe manager's FPL team ID (entry ID), or any FPL link containing /entry/<id>/. Leave empty if unknown.
league_idNoMini-league ID, or the FPL league standings link. Leave empty to list the manager's leagues.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already establish readOnly, idempotent, non-destructive and closed-world, so safety needs no restating. The description adds a genuine behavioral trait beyond that: the no-league-ID path degrades to a league-list/selection mode. It still does not mention auth, rate limits, or result size.

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?

Two sentences, zero filler, with the primary capability front-loaded and the fallback mode second. Nothing redundant, though it is slightly clipped for a tool this data-rich.

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 carries the return-value burden, and it does list the four things returned (standings, gap to leader, captains, differentials). With only two optional params and annotations covering safety, the main omissions are scope/pagination and any hint of the odds sibling.

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 100% and both parameters are documented in the schema, including the 'leave empty' semantics and link parsing, so the schema does the heavy lifting. The description's 'without a league ID' sentence largely repeats the schema's league_id note rather than adding syntax or format detail.

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 resource (FPL mini-league) and enumerates what it returns: standings, gap to the leader, rivals' captains and differential picks. An agent can tell this is a standings/insight tool. It does not explicitly distinguish itself from the sibling get_mini_league_odds, which is the one plausible confusable tool.

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?

Gives one useful usage rule: omit the league ID to list the manager's leagues and choose from them. That is a conditional entry path, not when-to-use guidance against alternatives, and no exclusions or sibling routing are provided.

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

get_mini_league_oddsFPL mini-league win chancesA
Read-onlyIdempotent
Inspect

Use this when an FPL manager asks their chances (or odds) of winning their mini-league: each manager's win and top-3 probability from 5,000 simulations of the rest of the season.

ParametersJSON Schema
NameRequiredDescriptionDefault
team_idNoThe manager's FPL team ID (entry ID), or any FPL link containing /entry/<id>/. Leave empty if unknown.
league_idNoMini-league ID, or the FPL league standings link. Leave empty to list the manager's leagues.

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, so safety is covered. The description adds genuinely useful behavioral context beyond that: the result is probabilistic, derived from 5,000 simulations of the rest of the season, which tells the agent to expect modeled probabilities rather than deterministic facts. It says nothing about caching or performance, keeping it below a 5.

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: the usage condition is front-loaded and the output content is appended in a compact clause. No filler or redundant restatement of the name.

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?

With no output schema, the description usefully previews the return shape (win and top-3 probability per manager) and the simulation basis. For a two-optional-param, read-only tool this is nearly complete; only the empty-parameter fallback behavior lives solely in the schema.

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 100% with only two optional params, so the schema already documents that team_id and league_id accept IDs or FPL links and may be left empty. The description adds no parameter-level detail, so the baseline 3 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 states a specific verb and resource — computing each manager's win and top-3 probability in their mini-league — plus the mechanism (5,000 season simulations). It implicitly separates itself from the get_mini_league sibling by framing the output as odds rather than standings, though it never names the sibling explicitly.

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

Usage Guidelines4/5

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

It gives a clear trigger: use when an FPL manager asks their chances/odds of winning their mini-league. No when-not condition or explicit alternative is named, so it stops short of full routing guidance.

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

get_my_teamShow my FPL teamA
Read-onlyIdempotent
Inspect

Use this for start, bench and captain questions about an FPL manager's own squad: each player's FPL Copilot expected points for the next gameweek with fixtures, and the best XI and captain. For a rating or review use rate_my_team. Needs their team ID or FPL link, or player names from a screenshot.

ParametersJSON Schema
NameRequiredDescriptionDefault
playersNo11-15 FPL player names (e.g. read from a screenshot of their team), used when there is no team ID. Add the club to disambiguate, e.g. 'Palmer CHE'.
team_idNoThe manager's FPL team ID (entry ID), or any FPL link containing /entry/<id>/. Leave empty if unknown.

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already establish read-only, idempotent, non-destructive, closed-world behavior, so the bar is lower. The description adds value by disclosing what the call returns (expected points with fixtures, best XI, captain) even though no output schema exists, and by noting that inputs can come from a screenshot. No error/limit behavior is described, but that is a minor gap.

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 sentences, front-loaded with the use case, then the sibling exclusion, then the input requirement. No filler or repetition of the title.

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

Completeness5/5

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

Covers use case, sibling routing, and required inputs, and compensates for the missing output schema by summarizing returned values. For a zero-required-param read tool with full schema coverage, an agent has everything needed to call it correctly.

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 100%, so the baseline is 3, but the description adds real meaning: it frames the two inputs as alternatives (team ID/link OR player names) and explains provenance (read from a screenshot), which the schema does not state. It does not restate the 11-15 player constraint, but the schema covers that.

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

Purpose5/5

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

States a specific resource (an FPL manager's own squad) and the exact questions it answers (start, bench, captain), plus the concrete output: per-player expected points for the next gameweek, best XI, and captain. It explicitly contrasts itself with the sibling rate_my_team, so an agent can route between the two 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 Guidelines5/5

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

Gives a clear trigger (start/bench/captain questions about your own squad) and names the alternative for the adjacent case ("For a rating or review use rate_my_team"). It also states the required inputs needed to invoke it (team ID, FPL link, or player names from a screenshot).

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

get_penalty_takersFPL penalty takersA
Read-onlyIdempotent
Inspect

Use this to find who takes penalties, corners and free kicks for Premier League clubs in FPL, with each taker's share of the club's penalties.

ParametersJSON Schema
NameRequiredDescriptionDefault
teamsNoClubs, e.g. ['BHA'] (default: all 20)

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=false and destructiveHint=false, so the safety profile is covered. The description adds useful scope detail (covers corners and free kicks, not just penalties, and returns each taker's share), but says nothing about filtering behavior, result size, or coverage when a team has no designated taker.

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 set-piece scope front-loaded and no filler. It is slightly overloaded by packing penalties, corners, free kicks and share-of-penalties into one clause, but nothing is wasted.

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 read-only, idempotent lookup with one optional filter and no output schema, the description conveys what is returned (takers and their share of penalties). It stops short of describing how results are grouped or whether the team filter narrows to a single club's takers.

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?

Only one optional parameter exists and the schema documents it fully with a 100% description coverage, including the default of all 20 clubs and an example value. The description mentions clubs only implicitly, adding no format or filtering nuance beyond the schema, so the baseline of 3 applies.

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

Purpose5/5

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

The description names a specific verb (find) and resource (penalty, corner and free kick takers) scoped to Premier League clubs in FPL, plus the output detail of each taker's share. This is clearly distinguishable from get_player, get_player_breakdown and other siblings by its narrow set-piece focus.

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 opening 'Use this to find...' frames the intended use but is essentially a restatement of purpose; it names no alternative tools and gives no when-not conditions. Usage is implied rather than contrasted with siblings such as get_player or find_players.

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

get_playerFPL player cardA
Read-onlyIdempotent
Inspect

Use this for one to five FPL players: expected points for each coming gameweek with fixtures, injury news, price and price-change progress, ownership, xG/xA and penalty share.

ParametersJSON Schema
NameRequiredDescriptionDefault
namesYes1-5 player names, e.g. ['Haaland']
horizonNoHow many gameweeks ahead to count (1-8).

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, closed-world, non-destructive, so safety is covered. With no output schema, the description contributes real behavioral value by disclosing exactly what the card contains (injuries, price-change progress, ownership, penalty share), though it says nothing about caching, rate limits, or failure when a name is ambiguous.

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 that front-loads the imperative "Use this for" and the player-count constraint before listing outputs. Efficient, though the output enumeration makes it long and it could have been split for scannability.

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?

Given no output schema, the description usefully enumerates the returned fields, and the player-count limit and default horizon are handled between description and schema. Horizon semantics (gameweeks counted, 1-8) are only in the schema, and there is no note on empty/unknown-player results, so it is strong but not fully complete.

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 100%, so both names and horizon are fully documented in the schema; the description only reinforces the 1-5 player bound already enforced by minItems/maxItems and says nothing about the horizon parameter or name-format expectations. Baseline 3 when the schema does the heavy lifting.

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 resource (FPL player cards) and an exact scope (one to five players), with a concrete enumeration of what comes back (expected points, fixtures, injury news, price, ownership, xG/xA, penalty share). It only implicitly separates itself from siblings like get_player_breakdown and find_players, so it falls short of a 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?

"Use this for one to five FPL players" gives a usage condition (card lookup for a small set of named players), but it never names alternatives such as find_players for discovery, compare_players for side-by-side, or get_player_breakdown for deeper stats, leaving the agent to infer when this tool wins.

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

get_player_breakdownPlayer cardC
Read-onlyIdempotent
Inspect

The FPL Copilot player card's data for one player (for the card's own view).

ParametersJSON Schema
NameRequiredDescriptionDefault
player_idYesThe FPL player (element) id

TDQS

C2.3/5.0
Behavior2/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false, and destructiveHint=false, so the safety profile is fully covered. The description adds no behavioral context such as what data is returned, whether it includes breakdowns or history, or any caching/rate-limit traits, leaving the description essentially empty on behavior.

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 description is a single sentence and not bloated, but the parenthetical 'for the card's own view' is unclear and fails to earn its place. It is concise but under-informative rather than front-loaded with useful detail.

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 one-parameter tool with rich annotations and no output schema, the description should at least explain what 'player card data' or 'breakdown' contains and how it differs from get_player. It omits these, leaving the agent unable to confidently choose this tool over siblings.

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 100% for the single player_id parameter, so the schema already documents its type, range, and meaning. The description adds no parameter semantics beyond what the schema provides, making the baseline 3 appropriate for a high-coverage one-parameter tool.

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

Purpose2/5

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

The description restates the title and name ('player card's data for one player') without a clear verb or scope details. It does not distinguish this tool from the sibling get_player or find_players, and the phrase 'for the card's own view' is internal jargon that adds confusion rather than clarity.

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?

The description provides no guidance on when to use this tool versus alternatives like get_player, compare_players, or find_players. The only hint—'for the card's own view'—is not an actionable usage condition for an agent.

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

get_predicted_lineupsFPL predicted lineupsA
Read-onlyIdempotent
Inspect

Use this for predicted Premier League starting XIs for the next FPL gameweek, from FPL Copilot's expected minutes, updated with team news.

ParametersJSON Schema
NameRequiredDescriptionDefault
teamsNoClubs, e.g. ['ARS', 'Chelsea'] (default: all 20)

TDQS

A4/5.0
Behavior3/5

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

Annotations already cover read-only, idempotent, non-destructive, and closed-world behavior. The description adds useful provenance ('from FPL Copilot's expected minutes, updated with team news') but does not detail return format, pagination, or other behavioral traits beyond what annotations provide.

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 tightly constructed sentence that front-loads the primary use case and packs source and freshness context without waste.

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 read tool with full annotation coverage and full schema descriptions, the description covers purpose, timing, and data source. Return-value details are absent, and there is no output schema to compensate, but the core call context is complete.

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 100%, and the teams parameter description already documents format, examples, and default behavior. The description adds no parameter-level detail, so baseline 3 is appropriate.

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

Purpose5/5

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

The description states a specific verb+resource: 'predicted Premier League starting XIs for the next FPL gameweek.' It names the scope, the data source, and the update mechanism, distinguishing it clearly from all sibling FPL tools.

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

Usage Guidelines4/5

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

It explicitly says 'Use this for...' and scopes the use case to the next gameweek. No alternatives or exclusions are named, but the context for when to call it is clear.

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

get_price_changesFPL price changesA
Read-onlyIdempotent
Inspect

Use this for FPL price rises and falls: players likely to change price tonight, or changes already made this gameweek.

ParametersJSON Schema
NameRequiredDescriptionDefault
viewNotonight (default): likely changes tonight; recent: changes made this gameweektonight
namesNoSpecific players to check

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint and non-destructive behavior, so the safety profile is covered. The description adds meaningful context that 'tonight' data is a prediction ('players likely to change price') rather than a fact, but it does not describe data freshness, update cadence, or result 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 front-loaded sentence that leads with the trigger condition ('Use this for...') and the two view modes. No filler and nothing buried.

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?

With no output schema, two optional parameters, full schema coverage, and safety annotations already in place, the description covers what the tool returns conceptually (rises/falls, tonight vs gameweek). It omits mention of the 'names' filtering capability, a minor gap.

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 100%, so the enum semantics for 'view' and the 'names' filter are fully documented in the schema. The description restates the tonight/recent split but adds no syntax or format detail beyond what the schema already provides, making the baseline 3 appropriate.

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

Purpose5/5

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

The description names a specific resource ('FPL price rises and falls') and the exact scope of the data, including both the predictive and retrospective modes. An agent can distinguish it from siblings like get_player or get_gameweek_review without opening the schema.

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

Usage Guidelines4/5

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

It gives clear context for when to reach for the tool ('FPL price rises and falls') and spells out the two situations it covers. It stops short of naming an alternative tool or an explicit when-not-to-use condition, so it lands at 4 rather than 5.

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

rate_my_teamRate my FPL teamA
Read-onlyIdempotent
Inspect

Use this when a Fantasy Premier League (FPL, fantasy football) manager wants their team rated or reviewed. Scores the squad 0-100 against the best possible squad over the next 5 gameweeks and lists the biggest fixes, naming the players; pass their team ID or FPL link, or the player names read from a screenshot of their team.

ParametersJSON Schema
NameRequiredDescriptionDefault
captainNoCaptain's name, if known
playersNo11-15 FPL player names (e.g. read from a screenshot of their team), used when there is no team ID. Add the club to disambiguate, e.g. 'Palmer CHE'.
team_idNoThe manager's FPL team ID (entry ID), or any FPL link containing /entry/<id>/. Leave empty if unknown.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, so safety is covered. The description adds real behavioral context beyond that: the 0-100 scoring scale, the comparison baseline (best possible squad, 5-gameweek horizon), and that the output names specific players to fix. It doesn't discuss failure modes for invalid/unknown IDs, so not a 5.

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 sentences, front-loaded with the trigger condition, then the output contract and input options. No filler or redundancy.

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 carry the return-value burden, and it does describe the score and named fixes. Inputs are fully covered by the schema plus description. It omits edge-case handling (what happens if the ID is invalid or fewer than 11 players are given), leaving a small gap.

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 100%, so the baseline is 3. The description adds value by clarifying the three mutually alternative input routes and that players can be read from a screenshot with club suffixes for disambiguation, which the schema only partially conveys. Slightly above baseline.

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

Purpose5/5

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

States a specific verb+resource ('rate/review a Fantasy Premier League team') and elaborates the mechanism: a 0-100 score against the best possible squad over the next 5 gameweeks plus a list of biggest fixes. An agent can distinguish this from siblings like get_my_team or compare_players from the description alone.

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

Usage Guidelines4/5

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

'Use this when a manager wants their team rated or reviewed' gives clear triggering context, and it enumerates the acceptable input paths (team ID, FPL link, or names from a screenshot). It does not name an alternative tool or state any exclusions, so it stops short of a 5.

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

read_guideRead an FPL Copilot guideA
Read-onlyIdempotent
Inspect

Use this to read one FPL Copilot Fantasy Premier League guide in full (get the slug from search_guides).

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesThe guide's slug, or its fplcopilot.com/blog/ link

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety and repeatability profile is fully covered. The description's only added behavioral signal is 'in full', implying complete content rather than a snippet, but it says nothing about size, truncation, or what an unknown slug yields.

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, front-loaded with the verb and scope, with the prerequisite tucked into a parenthetical. No redundant restatement of the title.

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 one-parameter, fully annotated, read-only tool with no output schema, the definition covers the essentials. The only gap an agent might care about — whether the full guide text is returned and how large it can be — is hinted at by 'in full' but not described.

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 100% and already explains that slug can be a slug or a full fplcopilot.com/blog/ link, so the schema carries the semantics. The description only adds where to obtain the slug (search_guides), which is mildly useful but not format guidance.

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

Purpose5/5

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

States a specific verb (read) and resource (one FPL Copilot guide), and scopes it as 'in full', which distinguishes it from search_guides. An agent can immediately tell this is the retrieval step for a single known guide.

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

Usage Guidelines4/5

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

It gives the when: reading one guide in full, plus the precondition that the slug comes from search_guides — a clear handoff to the sibling. It stops short of stating when not to use it (e.g. searching by topic, which is search_guides' job), but the routing is explicit enough.

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

search_guidesSearch FPL Copilot guidesA
Read-onlyIdempotent
Inspect

Use this to find FPL Copilot's Fantasy Premier League guides: gameweek tips, chip guides (Wildcard, Free Hit, Bench Boost, Triple Captain), penalty takers, fixtures and how FPL scoring works.

ParametersJSON Schema
NameRequiredDescriptionDefault
gwNoPrefer guides for this gameweek
queryNoWhat to look for, e.g. 'bench boost' or 'GW7 tips'

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and openWorldHint=false, so the safety profile is covered. The description adds that the corpus is a closed set of named guide topics, which helps bound expectations, but says nothing about result count, ranking, or what a match looks like.

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 purpose and scope are delivered immediately and every clause names a concrete guide domain.

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 read-only, no-output-schema, both-parameters-optional search tool, the description is essentially complete: what it searches, over which categories, with annotations covering behavior. Only the relationship to read_guide and rough return cardinality are unstated.

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 100%, so both parameters (gw, query) are already documented in the schema with examples. The listed topic categories loosely hint at valid query terms but add no format or constraint detail beyond the schema, so the baseline 3 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 gives a clear verb (find) and resource (FPL Copilot's FPL guides) and enumerates the guide categories covered, so an agent knows exactly what is searchable. It stops short of explicitly contrasting with the sibling read_guide, which is the obvious confusable tool, so it does not reach a 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?

"Use this to find ... guides" implies the discovery/search use case, but there is no explicit when-to-use versus read_guide, no stated prerequisite, and no exclusion. Usage is only implied.

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. 19 tool updates
    • First observedcompare_players
    • First observedcreate_share_link
    • First observedfind_players
    • First observedget_best_chip_squad
    • First observedget_captain_picks
    • First observedget_deadline
    • First observedget_fixture_ticker
    • First observedget_gameweek_review
    • First observedget_mini_league
    • First observedget_mini_league_odds
    • First observedget_my_team
    • First observedget_penalty_takers
    • First observedget_player
    • First observedget_player_breakdown
    • First observedget_predicted_lineups
    • First observedget_price_changes
    • First observedrate_my_team
    • First observedread_guide
    • First observedsearch_guides

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.
    2
    13
    11
    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
    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
  • 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.

Resources