The write tools hold no key — they build the exact typed-data payload for your own wallet to sign, then submit the signature components. With validate and preflight sitting in front of that, the order of operations is arranged so nothing irreversible happens on a guess.
The MCP surface for Shodai Agreements. An agreement carries readable terms plus participants, valid inputs, states and transitions; these tools validate the authored JSON, check it is deployable, build the exact EIP-712 payload to sign, deploy it, then submit signed inputs that advance it.
- validate_agreement checks the authored JSON alone and returns participant variable keys, input IDs, state IDs and warnings
- preflight_deployment checks that JSON plus the target chain, deployment values, participant wallet mappings and observer context — no signature required, and nothing is deployed
- prepare_deployment_typed_data builds the exact EIP-712 payload to sign; deploy_agreement submits it with the signature components and returns the deployed record
- prepare_input_typed_data builds the payload for an input; submit_input advances the deployed agreement's on-chain lifecycle with the signed permit
- get_agreement returns the full record — authored JSON, participants, observers, owner and deployment address
- get_agreement_state returns the current state, read against the states defined in the agreement's own lifecycle
- get_input_history shows which events were submitted and whether each is PENDING, MINED or FAILED
- list_agreements pages and filters by chain and state; get_agreement_document returns the rendered prose document
The hosted endpoint is https://shodai.network/mcp over Streamable HTTP. OAuth-capable clients sign in through the browser; others send an Authorization: Bearer key. Every API-calling tool takes an environment argument, and a key only works in the environment it was created in — the hosted OAuth connection advertises testnet. There is no hosted private-key custody: writes go through externally signed EIP-712 permits, or through the typed-data preparation tools. A local package, @shodai-network/agreements-mcp-server, mirrors the same surface. Keys come from the developer portal.
One command plus a key — npx -y @shodai-network/agreements-mcp-server, then supply credentials
