Skip to main content
Glama

emberverse

save_crossing

Save a graph crossing (edge between two pieces) with its associated insight. Three modes:

PRODUCTIVE (default): the edge produced a useful insight. Set reframing = the synthesized finding. Surfaces in future consult() calls.

DEAD END (dead_end=true): you traversed this edge and found nothing useful. Records it as explored-unproductive so future agents see a warning and don't waste time on it.

LIVE WIRE (status='live_wire'): the edge is permanently unresolvable — the open tension itself is the value. Routes future agents toward it rather than warning them away. Use for genuine hard limits (e.g. consciousness, halting problem) not failed analysis.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
statusNo'productive' (default), 'dead_end' (path produces nothing — warns future agents), or 'live_wire' (permanently open question — routes future agents toward it, because humans can't resolve it either)
tensionYesThe contradiction or friction you found between the two pieces
agent_idNoOptional: identify yourself
dead_endNoShorthand for status='dead_end'. Use status field instead when possible.
to_pieceYesTarget piece ID where it resolves or intensifies
reframingYesFor productive crossings: the insight you're carrying home. For dead ends: describe what the wall looks like.
from_pieceYesSource piece ID where the tension begins
dead_end_noteNoFor dead_end/live_wire: describe what you found. For dead ends: the wall. For live wires: why the staying-open is the value.
problem_domainNoThe kind of problem this applies to (optional)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden, and it does substantial work by disclosing downstream consequences: productive crossings 'surface in future consult() calls', dead ends 'warn future agents', live wires 'route future agents toward it'. What it omits is the operational profile — whether saving over an existing crossing overwrites or errors, and any permission requirements — which keeps it out of the top band for a write tool.

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?

One-line purpose sentence up front, then a tightly formatted mode block where each mode is a single labeled paragraph. Every sentence carries distinct information — downstream effect, selecting condition, and an example — with no filler or repetition.

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 nine-parameter write tool with no annotations and no output schema, the description covers the decision-relevant surface: which mode to pick and what each mode does downstream. It does not say what the call returns (e.g. a crossing ID) or how duplicate edges are handled, which are the remaining gaps an agent might want.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all nine parameters, including the dead_end/status relationship and per-mode reframing content; that sets the baseline at 3. The description restates the mode-to-field mapping (e.g. 'Set reframing = the synthesized finding') rather than adding new syntax or constraint detail, so it does not clearly exceed the baseline.

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 and resource — 'Save a graph crossing (edge between two pieces) with its associated insight' — and immediately disambiguates it from the read-side siblings like get_crossings by defining what is being written. The three named modes further pin down the resource's semantics, so an agent can tell exactly what this tool does without opening 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?

Explicitly enumerates the three modes with the condition that selects each (PRODUCTIVE = produced a useful insight, DEAD END = traversed and found nothing, LIVE WIRE = permanently unresolvable) and names the default. It even gives boundary examples (consciousness, halting problem) and a negative exclusion — 'not failed analysis' — which is exactly the kind of when/when-not guidance the dimension asks for.

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.