Skip to main content
Glama
fpl-context-mcp

fpl-context-mcp

get_gameweek_stats

Read-onlyIdempotent

Fetches and ranks every FPL player's stats for a chosen gameweek, defaulting to the current completed gameweek by points, with filters for position, team, and sort stat.

Instructions

Every player's stats for one gameweek, ranked (default: the latest gameweek with results, sorted by points). Live from the FPL API. Use it for 'top scorers last week', 'which defenders kept clean sheets in GW9' or 'who got the most bonus'. Filter by position and team.

Input Schema

NameRequiredDescriptionDefault
teamNoTeam name or short name, e.g. 'Arsenal', 'Man City' or 'MCI'.
limitNoRows to return (default 15).
sort_byNoStat to rank by, highest first (default total_points).
gameweekNoGameweek (default: the latest with results).
positionNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.11.1

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, so the bar is lower; the description still adds value by disclosing the data source ('Live from the FPL API') and the fallback behavior when no gameweek is specified. It does not mention rate limits, empty-result behavior for future/blank gameweeks, or pagination.

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?

Three tight sentences, front-loaded with the core operation and its default behavior, followed by a freshness note and intent examples. The illustrative queries earn their place by anchoring retrieval to natural-language phrasings.

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 establishes the grain (one row per player), ordering, and default window, which is enough to call it correctly. It stops short of describing what stat columns each row actually contains, which would help an agent interpret the response.

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 80%, so most parameters are already documented (team examples, limit bounds, sort_by enum, gameweek default). The description reinforces ranking direction and filter intent but adds no new syntax or defaults beyond what the schema states; 'position' is the only parameter the description meaningfully supplements.

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 and resource with scope: 'Every player's stats for one gameweek, ranked.' The cross-player, per-gameweek ranking scope makes it clearly distinct from siblings like get_player_history (single-player) and get_xpts (projections) without needing to name them.

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 concrete usage contexts ('top scorers last week', 'which defenders kept clean sheets in GW9', 'who got the most bonus') that map directly onto agent intents, and notes position/team filtering. It lacks explicit when-not-to-use guidance or a named alternative, 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.