Fantasy Pundit / Public contract

MCP tools

The supported tools for reading, generating, and polling Fantasy Pundit commentary.MCP · STREAMABLE HTTP

Reference / 03

get_league_commentary

Read first. This tool checks for the canonical commentary and never starts generation.

Input Required Meaning
league Yes Public league ID, FPL league URL, or league name.
gameweek No A completed Gameweek from 1 to 38. Omit it for the latest completed week.

It can return a completed edition, an in-progress job, not_generated, or a request for league selection. A historical Gameweek can be read when it was published, but new generation is available only for the latest completed Gameweek.

generate_weekly_commentary

Create or reuse the canonical written edition for the latest completed Gameweek. Call this only after the user explicitly asks Fantasy Pundit to generate or publish commentary.

Input Required Meaning
league Yes Public league ID, FPL league URL, or league name.

The operation is non-destructive and idempotent: repeated calls for the same league and completed Gameweek reuse the same official job or result. It may consume limited shared generation capacity.

get_commentary_result

Poll the job returned by generate_weekly_commentary. It never starts another generation.

Input Required Meaning
jobId Yes Weekly commentary job ID returned by the generation tool.

Continue only while the result is queued or processing, and respect pollAfterSeconds when it is returned. Stop on completed or failed.

Completed response shape

The exact response can grow without breaking clients, so clients should rely on the stable fields they use:

{
  "status": "completed",
  "jobId": "…",
  "league": { "id": "314", "name": "Example League" },
  "seasonId": "2026-27",
  "gameweek": 7,
  "commentary": {},
  "share": { "url": "…", "text": "…" },
  "links": { "leagueUrl": "…" }
}

Additional fields may be present. Clients should ignore fields they do not understand.