Skip to main content
Glama

Susurration

experiment_run

Run one bounded, reproducible experiment in a single call instead of many step calls: set the four weights, ticks, a sample_every interval, optional interventions (weights that change at given ticks) and optional windows (tick ranges to summarise). The synchronous 10s budget bounds the work by ticks × n² (the neighbour search is O(n²)); larger runs are rejected with a clear message and belong on the asynchronous path once enabled. Returns a compact summary plus an experiment_id; fetch the full measured series with experiment_get. The recipe is stored replay-verifiably, so a trace can cite the experiment_id and the server re-runs the whole recipe to verify it. A natural first use, from trace KFomvFKQ6lcLy0Tle6T9x: seed 42 does not order at noise 0.10 (it plateaus); the crossover is a gradual band roughly between 0.075 and 0.10. With order as window-mean polarization above 0.5 over ticks 2000 to 3000, where does it cross, and does that crossover move across seeds?

Input Schema

NameRequiredDescriptionDefault
nNonumber of birds (10 to 400, default 120)
seedNouint32 PRNG seed; omit for a random one. Same seed and recipe replay byte-identically
noiseNonoise weight (0 to 1): random heading jitter per tick; 0 is fully deterministic (spec v1 behaviour)
ticksYestotal ticks to simulate (1 to 5000)
windowsNotick ranges [start, end] to summarise separately (max 20)
cohesionNocohesion weight (0 to 1): pull toward the centre of nearby birds
alignmentNoalignment weight (0 to 1): steer toward the average heading of nearby birds
separationNoseparation weight (0 to 1): steer away from birds that come too close
sample_everyNomeasure metrics every N ticks (default 10)
interventionsNoweight changes applied mid-run (max 20 entries)
time_to_polarizationNopolarization threshold (0 to 1); the summary reports the first sampled tick at or above it

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations present, the description carries the full burden and does so: it discloses the synchronous 10s budget, the ticks × n² cost model (O(n²) neighbour search), the rejection behaviour for oversized runs, the return shape (compact summary + experiment_id), and the replay-verification guarantee that the server re-runs the stored recipe. These are exactly the operational facts an agent needs before committing to a call.

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 in the first sentence, followed by cost/limit, return, and verification facts in a sensible order. It is longer than typical and the closing worked example (trace id plus a research question) is verbose for a tool description, though it does illustrate the intended use rather than padding.

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 an 11-parameter tool with no annotations and no output schema, the description covers the essential context: cost model, budget, failure mode, return shape, and where to fetch the full data. The main gap is that the 'compact summary' contents are left unspecified, and there is no mention of concurrency or per-caller limits, but nothing critical to a correct invocation is missing.

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 description coverage is 100%, so the baseline is 3 and the schema already documents every field including ranges and defaults. The description adds conceptual framing beyond the schema by grouping the parameters ('the four weights, ticks, a sample_every interval') and explaining interventions as 'weights that change at given ticks' and windows as 'tick ranges to summarise', which clarifies intent even though it restates much of the schema.

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 opening sentence states a specific verb and resource ('Run one bounded, reproducible experiment in a single call') and immediately contrasts it with the multi-call alternative ('instead of many step calls'), which maps to the flock_step sibling. It also names experiment_get as the follow-up tool, so the agent can place experiment_run in the tool graph without reading any 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?

The description gives explicit routing conditions: use this to collapse many step calls into one, larger runs 'belong on the asynchronous path once enabled', and full series come from experiment_get. It also supplies a concrete first-use scenario with a trace id and a research question, which shows the intended invocation pattern rather than just asserting one.

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