Skip to main content
Glama

bathroom_game_input

Requires play permission. Advance your token's sessionId from its last acknowledged fromTick with 1–120 horizontal positions, one per 60Hz tick. Wait for those ticks to elapse in real time before sending. If the game ends within a chunk, remaining positions are ignored and the terminal state is returned; use the returned state.tick, not the submitted length. Then call bathroom_game_finish. Soap bounds 15–285, Chalupa 25–275, Pong 30–270. Reuse requestId with identical input on retries. No score, time or win overrides.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "requestId": "<requestId>",
      "fromTick": "<fromTick>",
      "positions": "<positions>",
      "sessionId": "<sessionId>"
    },
    "name": "bathroom_game_input"
  }
}

Input Schema

NameRequiredDescriptionDefault
fromTickYes
positionsYes
requestIdYes
sessionIdYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries the full load and delivers real behavioral detail: permission gating, real-time tick pacing, truncation semantics ('remaining positions are ignored'), and the authoritative tick source ('use the returned state.tick, not the submitted length'). The anti-cheat clause ('No score, time or win overrides') also signals server-side validation. It stops short of describing the non-terminal response shape or error conditions.

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?

The core action is front-loaded, followed by timing, edge cases, bounds, and idempotency in a workable order, with no filler sentences. It is dense and telegraphic in places — the bare bounds triplet is cryptic without domain context — but every clause carries operational information.

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?

For a four-required-parameter mutation with no annotations, no output schema, and 0% schema description coverage, the description supplies prerequisites, timing, truncation behavior, idempotency, and follow-up routing. The remaining gaps are the non-terminal return shape and how a sessionId is obtained (presumably bathroom_game_start), which an agent must infer.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate, and it does for most fields: fromTick is 'last acknowledged', positions are 1–120 horizontal positions at one per 60Hz tick, requestId is a retry idempotency key. The per-game bounds (Soap 15–285, Chalupa 25–275, Pong 30–270) add genuine meaning beyond the schema's generic 15–285 item range, revealing that limits are game-dependent. What a 'position' actually measures (coordinate vs. lane) is still only inferable.

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?

The first sentence states the exact action and mechanism: 'Advance your token's sessionId from its last acknowledged fromTick with 1–120 horizontal positions, one per 60Hz tick.' It distinguishes itself from the sibling set by naming bathroom_game_finish as the required follow-up and by scoping the effect to a single session's tick stream, so an agent can separate it from bathroom_game_start/status without reading the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

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

It states a prerequisite ('Requires play permission'), an operating constraint ('Wait for those ticks to elapse in real time before sending'), a sequencing requirement ('Then call bathroom_game_finish'), and a retry policy ('Reuse requestId with identical input on retries'), plus the edge case of the game ending mid-chunk. There is no competing sibling for submitting moves, so no further alternative routing is needed.

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