Skip to main content
Glama

Close a fulfilled commitment

close_commitment

Closes a fulfilled commitment (settled -> finalized) when the caller (verified by EIP-712 proof) holds system or authority authorization. Nonfinancial � no settlement, escrow release, or refund is executed. Reconciles authoritative state first. Idempotent via idempotencyRef.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "commitmentId": "<commitmentId>",
      "agentId": "<agentId>",
      "role": "<role>",
      "proof": "<proof>"
    },
    "name": "close_commitment"
  }
}

Input Schema

NameRequiredDescriptionDefault
roleYesThe caller's role (close requires system or authority)
proofYesEIP-712 AuthorityProof signed by the caller (issuer = signer)
agentIdYesThe caller's durable agent identifier
commitmentIdYesThe commitment id
idempotencyRefNoCaller-scoped idempotency reference

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden and does well: it discloses that no financial movement occurs (no settlement, escrow release, or refund), that authoritative state is reconciled before the write, and that the operation is idempotent via idempotencyRef. It stops short of describing failure behavior, whether the close is reversible, or what the response contains (no output schema exists), which keeps it off a 5.

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?

Four short sentences, front-loaded with the action and state transition, then the non-financial guarantee, then reconciliation and idempotency. It is efficient, though the stray mojibake character after 'Nonfinancial' and the telegraphic fragments slightly reduce polish.

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 state-mutating tool with a nested proof object, no annotations, and no output schema, the description covers the essentials an agent needs: authorization requirement, state precondition, non-financial side effects, reconciliation, and idempotency. The main remaining gap is the return/result shape and error conditions, which must be inferred.

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 all five parameters are already documented, including the role enum note that close requires system or authority and that proof is an EIP-712 AuthorityProof. The description restates the authorization rule and the idempotency role of idempotencyRef rather than adding new parameter-level detail, so the baseline 3 applies.

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 names a specific verb and resource (close the commitment) and pins down the exact state transition it performs (settled -> finalized), which is what separates it from sibling mutations like cancel_commitment or accept_commitment. An agent reading only this text knows what the tool does and what precondition state it expects.

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?

Usage context is clear: invoke only against a fulfilled/settled commitment and only when the caller holds system or authority authorization, verified via EIP-712 proof. It does not explicitly name alternatives (e.g., what to call if the commitment is not yet settled or if the caller is buyer/provider), so the routing guidance is strong but not exhaustive.

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.