Skip to main content
Glama

sim_refine

Destructive

Refine a model's parameter classes by editing what the model SAYS (tags on a place or transition, or assertedClasses), then re-derive. Returns a NEW model id (ids are content addresses, so the original stays reachable) plus a before/after class diff. tags can only split classes; assertedClasses declares a merge and gets re-verified and costed, never trusted blind. Read the sim://docs/classification resource once for why the two levers are not symmetric. Costs 2 tokens from your account's compute bucket (the stored model, 1, and the verified re-classification, 1).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesmodel id to refine
tagsNoJSON object of place OR transition id -> {key: value}, e.g. {"nurse_avail":{"refine.shift":"night"}}. Keys not prefixed refine. are stored as metadata and refine nothing. classify.go's colour refinement seeds from both places' and transitions' tags, so either kind of id works here.
signerNooptional {"type":"eth"|"ed25519","address":"..."} — signs the lineage claim so it is the refiner's word rather than the server's account of a session
signatureNooptional hex signature over the CID of the signed claim; see modelstore.SignedClaim for the exact bytes. An unverifiable signature is refused, not stored with a flag.
assertedClassesNoJSON array, e.g. [{"id":"items","members":["item0","item1"],"note":"one stocking decision"}]

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already mark the tool as non-read-only, destructive, non-idempotent, and open-world. The description adds substantial value beyond that: it explains that the original model remains reachable because ids are content addresses, that the result includes a before/after class diff, that assertedClasses are re-verified and costed rather than trusted blind, and that the call costs 2 compute tokens.

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

Conciseness5/5

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

The description is front-loaded with the core action and return value, then moves to the tag/assertedClasses distinction, the resource hint, and the token cost. Every sentence carries decision-relevant information, and the dense but organized phrasing suits a complex tool.

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?

No output schema exists, but the description explains the return value (new model id and before/after class diff). Together with annotations covering safety and cost disclosure, the description provides enough context for this multi-parameter refinement tool.

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 schema already documents each parameter in detail. The description still adds conceptual meaning by distinguishing that tags can only split classes while assertedClasses declares a merge and is re-verified and costed, which helps an agent choose between the two levers.

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 description states a specific verb and resource: refining a model's parameter classes by editing tags or assertedClasses, then re-deriving. It also names the return value, a new model id plus before/after class diff, making it easy to distinguish from sibling tools like sim_classify or sim_create_model.

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

Usage Guidelines4/5

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

The description explains the two refinement levers and their different behaviors (tags split, assertedClasses merge and are re-verified), which gives clear context for how to use the tool. However, it does not explicitly name alternative tools or state when not to use this one, so it falls short of full when/when-not/alternatives guidance.

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