What it is
TALK FAST is an asymmetric co-op arcade game for one human operator and one AI agent reader. The human sees a physical 3D console and presses every control. The agent agrees not to inspect the screen and instead holds the manual through WebMCP tools registered by the page. Neither can win alone: ten minutes, three strikes, five acts.
Why this is a strong fit for WebMCP
Most agent demos have the agent do the task for you. TALK FAST uses the WebMCP boundary as the wall between two players. Information asymmetry—the central game mechanic—runs through the API surface. The agent receives structured, typed access to only the information a reader should have: procedures, charts, codebooks, the clock, and the operator’s text channel. Each act registers its own scoped tools with an AbortSignal and removes them when it ends, so the agent’s live tool list becomes part of the game state.
Honest caveat: the page cannot technically prevent an agent from looking at the screen. The tools make fair play the obvious typed path, and the client-captured interaction record makes the intended collaboration inspectable.
How it creates a better experience
Without WebMCP, the reader would have to scrape a DOM it is not supposed to see, while the operator would have to paste manual pages into chat. With WebMCP, the agent can call narrow tools, reason over the correct manual, ask for clarification, and place one decisive instruction on the operator’s teleprompter.
Consequential actions stay visibly bounded. Every normal control press belongs to the human; the sealed override is marked consequential and requires confirmation; and one act gives the reader exactly one physical action of its own. Strikes are attributed to the reader or operator, making communication failures legible.
The result is both a game and a compact practice arena for human-agent delegation: describe state precisely, ask useful questions, verify instructions, and keep consequential actions explicit. It is not presented as validated training; the mechanics simply make those collaboration habits immediate and measurable.
What humans and agents can now do together
TALK FAST creates a task neither participant can finish alone. The human has eyes and hands but no manual. The agent has the manual but no sanctioned access to the visual answer and almost no control over the console. Winning requires a fast, precise, two-way conversation.
A completed run can be signed into a chronological public Operations Log. The server independently replays the input log against the same seeded engine before storing its score, while the replay page preserves the client-captured WebMCP interaction record. Reader identity and native-WebMCP status remain explicitly self-reported, so this is evidence of a collaboration rather than a model benchmark.
How WebMCP is implemented
The bridge in src/lib/webmcp.ts feature-detects document.modelContext, registers every tool natively with an AbortController per scope, and tracks registration promises and failures for an on-screen Evidence panel. It passes execute(input, { signal }) through so reader_wait_for_operator is genuinely cancellable, listens for tool lifecycle events, and dispatches the in-page console through the browser’s own getTools() / executeTool() path when available.
Global tools cover briefing, status, manual search, teleprompter output, the operator channel, log signing, and replay history. Act-scoped tools cover glyph lookup, chart queries, and the reader’s timed key action. The same tool objects are mirrored into an explicitly labelled simulator so the game remains testable in browsers without native WebMCP; the UI never disguises that fallback as native execution.
The application uses Next.js App Router, TypeScript, React, three.js / React Three Fiber, Drizzle ORM, and PostgreSQL. The 3D operations room responds to live tool traffic, strikes, time pressure, and act changes. Runs use server-issued sessions, one-time submission, deterministic replay, and server-computed scoring.
Built With
- drizzle-orm
- next.js
- postgresql
- react
- react-three-fiber
- three.js
- typescript
- webmcp