Skip to main content
Glama

Get FPL player profile

get_fplai_player
Read-onlyIdempotent

Look up one FPL player; provide playerId (FPL element id) or playerName. Returns price, ownership, availability with FPL news, form, total points, points per match, minutes, goals and assists against xG and xA, set-piece order (penalties, direct free kicks, corners; 1 = first choice), points in the last 5 gameweeks, the next 5 fixtures with FPL difficulty, FPL's price-change signal, and whether the user's linked squad has the player (inYourSquad, captain or vice). elite shows the share of the top 1,000 managers captaining, buying and selling the player when Elite Pulse is available for the account; elite.access reports availability. Names match like compare_fplai_players: an ambiguous name returns status needs_clarification with candidates (ask the user or pick by team/position, then call again with playerId); an unmatched name returns not_found with suggestions. Read-only FPL data: no FPLai projections, no analysis quota, no transfer advice.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "get_fplai_player"
  }
}

Input Schema

NameRequiredDescriptionDefault
playerIdNoFPL element id (for example from a candidate or another FPLai tool). Takes precedence over playerName.
playerNameNoPlayer name as the user wrote it (case/accent-insensitive: web name, surname, full name, or initial+surname such as M.Salah).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already declare read-only, idempotent, open-world, non-destructive, but the description adds substantial context beyond them: the ambiguity and unmatched-name response behaviors, the conditional elite block that is only present when Elite Pulse is available for the account, and an explicit statement that no analysis quota is consumed. This is exactly the kind of conditional-response disclosure annotations cannot carry.

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?

Front-loaded with the core action and identifier, then return fields, then edge-case handling, then scope exclusions — a sensible order with little outright waste. It is, however, one dense em-dash-and-semicolon paragraph with a long field inventory that is harder to scan than a short bulleted structure would be.

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?

There is no output schema, so the description carries the return-value burden itself and does so thoroughly: price, ownership, availability news, form, points, minutes, goals/assists vs xG/xA, set-piece order, recent and upcoming fixtures, price-change signal, squad membership, and the conditional elite block. Combined with the documented error states, an agent has everything needed to call and interpret this tool.

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 are already fully documented in the schema, including playerId precedence and the case/accent-insensitive name matching. The description repeats the playerId/playerName contract but adds no syntax or format detail the schema lacks, so 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 and resource ('Look up one FPL player') with clear singular scope, and immediately distinguishes itself from sibling compare_fplai_players by noting names resolve the same way there. An agent can tell this is the single-player profile lookup versus the comparison, squad, fixtures, and analysis siblings 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 Guidelines4/5

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

Gives concrete invocation context: supply playerId or playerName, handle needs_clarification by asking the user or picking by team/position then re-calling with playerId, and handle not_found via suggestions. It also scopes itself away from analysis by stating 'no FPLai projections, no analysis quota, no transfer advice', implicitly routing those needs to the analysis tools, though it never names the alternative tool for multi-player comparison.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources