Skip to main content
Glama

Arm or renew the maker dead-man: lapse cancels the wallet book

problee_orderbook_heartbeat

Arm or renew the dead-man heartbeat for this wallet. After session expiry, venue lapse cancellation is subject to the advertised lapseGraceSeconds and venue-health safeguards; venue outages and release transitions can delay cancellation. Post with disarm=true to end the session without cancelling. Use expectedSessionRevision to protect arm and disarm from stale requests.

Input Schema

NameRequiredDescriptionDefault
disarmNo
chainIdNoCompiled protocol release chain ID (Base 8453).
proofNonceYesRequired single-use nonce for the wallet proof. Fetch from POST /api/auth/nonce; consumed on verification so the proof cannot be replayed.
ttlSecondsNoSession lifetime per beat. Post again before it elapses. Pick a TTL several times your beat interval so ordinary jitter cannot cancel your book.
walletAddressYesWallet address the heartbeat protects
idempotencyKeyYesStable retry key. Reuse only with byte-equivalent tool arguments.
walletSignatureYesAction-bound wallet proof. Sign the canonical 'problee-mcp-auth:…' challenge (binds agent, apiKey, tool, scope, chain, resource, payloadHash, nonce, timestamp).
signatureTimestampYesUnix timestamp (seconds) used in the signed challenge message
expectedSessionRevisionNoChange only this observed revision. A missing session is revision 0. Successful arm or disarm advances once; only an already explicitly disarmed successor acknowledges an identical retry. Arm retries conflict. A different session returns HEARTBEAT_SESSION_CONFLICT; never rebase an exit.

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.7/5.0
Behavior4/5

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

Annotations only declare the generic profile (not read-only, not destructive, not idempotent, open world); the description adds real behavior beyond that: cancellation on lapse is not immediate but subject to lapseGraceSeconds, venue-health safeguards, outages and release transitions. It also discloses the disarm semantics and that expectedSessionRevision guards against stale arm/disarm. It does not mention that a signed wallet proof is mandatory, but the schema covers that.

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 sentences, front-loaded with the action, then consequences, then the disarm escape hatch, then the concurrency guard. No filler sentences. The lapseGraceSeconds sentence is dense with protocol jargon, but every clause (grace window, venue health, outages) materially changes what the agent should expect after expiry.

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 9-parameter mutating tool with an output schema, the description covers the essential behavior: what is armed, what happens on lapse, how to stop, and how to avoid stale writes. Missing pieces are the auth/proof prerequisite (deferred to schema) and any pointer to problee_orderbook_heartbeat_status for reading state, both minor given the rich schema.

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 coverage is already 89%, so the schema carries most parameter meaning, which sets the baseline at 3. The description does add value for the two parameters the schema leaves thin — disarm (end session without cancelling the book) and expectedSessionRevision (stale-request protection) — but adds nothing for ttlSeconds, chainId, or the auth parameters. Net effect is roughly baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific verb pair (arm or renew) and a specific resource (dead-man heartbeat for this wallet), and the title conveys the consequence (lapse cancels the wallet book). An agent can distinguish it from cancel_all_orders or cancel_order. It never names the read counterpart problee_orderbook_heartbeat_status, so the arm-vs-inspect split is left implicit.

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

Usage Guidelines3/5

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

Gives one concrete usage rule — 'Post with disarm=true to end the session without cancelling' — which defines the exit path. Renewal cadence is only implied ('After session expiry...'), and the actual beat interval guidance lives in the ttlSeconds schema description. It offers no routing to the sibling status tool for checking current session state before arming.

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.