Skip to main content
Glama

sim_optimize

Destructive

Multi-objective optimisation over transition rates for a stored model: Monte Carlo samples the rate ranges, runs each combination to the horizon with the continuous engine, and returns every sample with a Pareto flag — the non-dominated set is the trade-off frontier ('which staffing is non-dominated on served vs walked out'). Continuous reading: a model with a schedule or a gate is refused with the reason (use sim_compare with explicit scenarios for those). Costs 1 token per 50 samples (rounded up) from your account's compute bucket; rate ranges must be non-negative.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesmodel id
seedNosampling seed, a whole number (default 42)
hoursNohorizon per run (default 8, above 0 and at most 10000)
samplesNoMonte Carlo samples (default 100, 1..1000; outside that is refused)
objectivesYesJSON array of {"place": id, "direction": "max"|"min"}
parametersYesJSON object transition_id → [min, max] rate range, e.g. {"finish_brew": [10, 40]}

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / properties / hours / description
      Previous value: -"horizon per run (default 8)"New value: +"horizon per run (default 8, above 0 and at most 10000)"
    • changedInput schema / properties / samples / description
      Previous value: -"Monte Carlo samples (default 100, max 1000)"New value: +"Monte Carlo samples (default 100, 1..1000; outside that is refused)"
    • changedInput schema / properties / seed / description
      Previous value: -"sampling seed (default 42)"New value: +"sampling seed, a whole number (default 42)"
  2. First observed

TDQS

A4.6/5.0
Behavior4/5

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

Annotations cover the safety profile (destructive, non-idempotent, open-world), and the description adds genuinely non-obvious behavior: token cost per 50 samples, refusal conditions with reason, non-negative rate-range constraint, and that every sample is returned with a Pareto flag. It stops short of explaining what the destructiveHint actually means (whether runs persist artifacts), which is the remaining gap.

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?

Front-loads the core operation, then cost and refusal rules in order of decision relevance. The parenthetical example and cost sentence are dense but each earns its place; slightly crowded overall.

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

Completeness5/5

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

For a 6-parameter tool with no output schema, the description supplies what the schema cannot: return content (all samples with Pareto flags), cost model, refusal semantics, and the routing fallback. Nothing essential for a correct call 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 coverage is 100%, so the baseline is 3, but the description adds real meaning: the non-negativity rule for rate ranges, the purpose of the horizon and sampling loop, and the interpretation of objectives for the caller. It does not re-specify defaults or bounds already in 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?

States a specific verb+resource ('multi-objective optimisation over transition rates for a stored model') and elaborates the mechanism (Monte Carlo sampling, horizon runs on the continuous engine, Pareto flagging). It also names the sibling it is not (sim_compare) for models it refuses.

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?

Gives the when (trade-off frontier over rate ranges, with a concrete example: 'which staffing is non-dominated on served vs walked out'), the when-not (models with a schedule or a gate are refused), and the alternative (use sim_compare with explicit scenarios).

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