Skip to main content
Glama

Read the simulation

read_simulation
Read-only

Last state (with circuit, the browser's components and wires), last compilation and the events after since_ms (2000 at most). serial is the full serial output of the current run (up to 16 KiB), reset at each compile and NOT starved by pin events: prefer it over reconstructing serial from events. During a turn on a real bench, serial and the serial events come from the bench's board (since the turn began or the last compile), t on the turn's clock. In challenge mode: the level's brief and its results. circuit_modified: the circuit differs from the setup sheet's (types, ids, properties, wires; not positions or colours), null when unknown. circuit_error: the editor's last refusal of a pushed circuit, returned once.

Input Schema

NameRequiredDescriptionDefault
sessionNo
since_msNo
agent_tokenNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed7 schema fields changed
    • addedInput schema / properties / agent_token / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedInput schema / properties / agent_token / default
      Added value: +null
    • removedInput schema / properties / agent_token / type
      Removed value: -"string"
    • addedInput schema / properties / session / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedInput schema / properties / session / default
      Added value: +null
    • removedInput schema / properties / session / type
      Removed value: -"string"
    • removedInput schema / required
      Removed value: -[
      -  "session",
      -  "agent_token"
      -]
  2. First observed

TDQS

B3.1/5.0
Behavior4/5

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

Annotations already cover the read-only, non-destructive, closed-world profile, and the description adds substantial context beyond them: serial is capped at 16 KiB and reset at each compile, events are capped at 2000, circuit_error is 'returned once', circuit_modified is null when unknown. It does not cover pagination or cost of repeated polls, but the behavioral disclosure is unusually rich for a read tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

No sentence is pure filler — each one describes a distinct returned field or constraint — but there is no front-loaded summary sentence; the text starts with a parenthetical and reads as a dense, unterminated field dump, making it hard to scan for the one routing rule it contains.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description justifiably spends most of its length documenting return values, and it does so thoroughly (bench mode, challenge mode, circuit_modified, circuit_error). But it leaves the auth-ish `agent_token` unexplained and never positions the tool against its many siblings, so it is not fully complete for correct invocation.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must carry all three parameters. It handles since_ms well (events window, 2000 cap) but says nothing about `session` or `agent_token`, the latter of which looks like an auth/identity parameter that materially affects invocation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description never states a clean verb+resource; it opens mid-thought with 'Last state (with circuit, the browser's components and wires), last compilation and the events after since_ms' — effectively a catalogue of returned fields. An agent can infer this reads simulation state, but nothing distinguishes it from siblings like bench_snapshot, read_capture or session_status.

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

Usage Guidelines3/5

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

One explicit preference is given: 'prefer it over reconstructing serial from `events`', which is a genuine routing rule. The since_ms window ('2000 at most') implies polling usage, but there is no guidance on when to choose this over bench_snapshot or read_capture, and no prerequisites stated.

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.