Gaffer is a Fantasy Premier League planning board where a human and an AI agent build the squad together over WebMCP. In the hour before a deadline your squad is provisional — a player swapped in, a transfer unconfirmed, a budget recalculating. That state lives only in the browser tab. It has never been saved, so no server-side API and no conventional MCP server can see it. Gaffer hands it to the agent directly.
The registered tool set is the set of legal moves. Run out of free transfers and make_free_transfer is not left in place to return an error — it is unregistered, and take_points_hit takes its place. Play the wildcard and play_wildcard ceases to exist. An illegal move is not rejected; it is uncallable.
make_free_transfer
take_points_hit
play_wildcard
Tools are registered with document.modelContext.registerTool and torn down with an AbortController, so this page needs JavaScript to run. Open it in a WebMCP-capable client, or in Chrome with chrome://flags/#enable-webmcp-testing enabled, and ask the agent what tools the page provides.
document.modelContext.registerTool
AbortController
chrome://flags/#enable-webmcp-testing
Source: github.com/ArielWandera/gaffer