The wallet isan MCP server.
Not a plugin, not a wrapper — the daemon ships a Model Context Protocol surface out of the box. Anything that speaks MCP can work with your wallet the moment you hand it a token.
One protocol instead of custom SDKs.
MCP is the standard AI tools already speak — Claude, Cursor, and a fast-growing list of agent frameworks. Because the wallet exposes its surface as MCP tools and resources, there is no glue code to write and no SDK to maintain. Configure once, and every MCP client on your machine can see the wallet.
70+ tools, each behind a permission.
The MCP surface is generated from the same contract as the command line — status, accounts, proposals, reviews, history, chains, and more. What a given agent can actually call is decided by its token: read-only by default, propose if you allow it, approve and execute reserved for people.
agent → wallet_get_status ✓ allowed (read)
agent → wallet_create_transaction_proposal ✓ allowed (propose)
agent → wallet_approve_proposal ✗ refused — humans only
you → canonicalwallet proposal approve --id <id> ✓Resources and subscriptions built in.
Agents can read wallet state as resources (wallet://status, wallet://inbox/me, wallet://proposal/{id}/review) and subscribe to change events — so a monitoring agent reacts to a new proposal in your inbox instead of hammering the API.