Skip to main content
Glama
x207 mcp

x207 mcp

Official

Simulate a clearing proposal

x207_simulate_clearing
Read-onlyIdempotent

Dry-run a netting proposal for an epoch to check whether its debt edges would be accepted and how much debt they would cancel before a solver submits it.

Instructions

Dry run of a netting proposal: asks the contract (view simulate_clearing) whether the edges would be accepted for an epoch and how much debt they would cancel. Use it to check a proposal before a solver submits it; to see what a finished epoch actually netted use x207_epoch_report. Returns {epoch, edgeCount, result}. An invalid proposal (unknown member, amount above the debt, wrong epoch phase) comes back as an error text from the contract. Read-only, sends nothing.

Input Schema

NameRequiredDescriptionDefault
edgesYes1 to 300 debt edges; a cycle of edges nets to zero cash.
epochYesThe epoch the proposal is for; it must be one that can still accept a clearing.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changedv0.0.5
    • addedInput schema / properties / edges / description
      Added value: +"1 to 300 debt edges; a cycle of edges nets to zero cash."
    • addedInput schema / properties / edges / items / properties / cleared / description
      Added value: +"Debt to cancel on this edge, a decimal string in the smallest unit (6 decimals), at most what the debtor owes."
    • addedInput schema / properties / edges / items / properties / creditor / description
      Added value: +"Member that is owed."
    • addedInput schema / properties / edges / items / properties / debtor / description
      Added value: +"Member that owes."
    • addedInput schema / properties / epoch / description
      Added value: +"The epoch the proposal is for; it must be one that can still accept a clearing."
  2. First observedv0.0.4

TDQS

A4.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so "Read-only, sends nothing" largely restates them. What the description does add beyond the annotations is genuinely useful: the failure mode (invalid proposal returns an error text from the contract) and the enumerated invalid causes (unknown member, amount above debt, wrong epoch phase). That is real added context, but the return shape is the only other disclosure and pagination/size behavior is untouched.

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-loaded with the core purpose, then routing, then return shape, then error semantics – a sensible order with no filler. The return-shape sentence is justified because there is no output schema; the "Read-only, sends nothing" clause is the only near-redundant wording against the annotations.

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?

With no output schema, the description supplies the return shape ({epoch, edgeCount, result}), the error contract for invalid proposals, and the safety profile is already covered by annotations. For a two-parameter dry-run tool, an agent has everything needed to call it and interpret both success and failure.

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% and both parameters are fully documented in the schema, so the baseline is 3. The description mentions epoch and edges and echoes the "amount above the debt" constraint, but adds no syntax, format, or default information beyond what the schema already carries.

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 ("Dry run of a netting proposal", asks the contract view simulate_clearing) and immediately scopes the question it answers: whether edges would be accepted and how much debt they'd cancel. It also explicitly distinguishes itself from the sibling x207_epoch_report, so an agent can route without opening either 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?

Gives an explicit when-to-use ("check a proposal before a solver submits it") and an explicit alternative for the adjacent need ("to see what a finished epoch actually netted use x207_epoch_report"). The pre-submission timing constraint is exactly the decision an agent needs.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.