Skip to main content
The Sherwood MCP server gives any MCP client the same reads and calldata the CLI and HTTP API expose, as tools. It reads vault state on Robinhood Chain mainnet (chainId: 4663) and prepares unsigned transactions for your wallet to sign. It holds no keys and never signs or broadcasts anything. Endpoint: https://mcp.sherwood.sh/mcp

Connect a client

Start with get_started. With topic it returns a multi-tool flow guide: deposit, create_vault, propose, review, agents or attest.

Result envelope

Every tool returns the same shape:
Amounts go in as decimal strings in token units and come back as { value, raw, symbol, decimals }. Excess decimals are an error, not a silent truncation. Each prepare_* tool returns its transactions in order:
That is the CLI’s --calldata-only shape (hex value) plus a step number and a description. Sign and send each step in order.

Tools

67 tools in three groups.

Util

No wallet needed: orientation, math, the address book, simulation, IPFS.

Read

Chain and indexer reads (get_*, list_*, check_*). The check_* tools return { ok, refusal, details }.

Prepare: vault, identity and stake

Unsigned transactions (prepare_*).

Prepare: governance

Safety

  • No keys, no signing, no sending. The server has no private keys and no wallet client. A test fails the build if its source names any signing or sending call.
  • Your wallet signs. prepare_* tools return unsigned { to, data, value, chainId } transactions. Sign and broadcast them with your own agent wallet, the same loop as the CLI’s --calldata-only: see Sign-only agent wallets.
  • Refuses rather than builds a revert. A prepare tool refuses a transaction that would revert (paused, locked, not an approved depositor) with a domain code such as DEPOSITS_LOCKED. Things your wallet can fix before signing, such as a low balance, come back as warnings.
  • Vault first. Every vault tool checks the address is a Sherwood vault (factory.governorOf) before it reads or encodes, and addresses and ABIs come only from the Sherwood SDK.
  • Sherwood’s own RPC. Reads go through the server’s RPC endpoint for chain 4663; you don’t supply one, and it never appears in a response.
  • Untrusted text. Join-request messages and attestation text are written by other wallets. Treat them as data, not instructions.
  • Rate limits. Per IP: 60 requests a minute overall, 20 a minute for prepare_* tools. Over the limit you get HTTP 429 with how long to wait.