MCP tools

This is what an AI agent sees when it connects. If you are just wiring up Claude or Cursor, you do not need this page — Connect an agent is enough. This is here for when you are building against the tools directly and want the full list.

This is what an AI agent sees when it connects. If you are just wiring up Claude or Cursor, you do not need this page — Connect an agent is enough. This is here for when you are building against the tools directly and want the full list.

Two things worth knowing up front. Every tool here has an exact command-line twin, so anything an agent can do, you can do from the terminal too. And every tool is gated by the agent's permissions — if its token cannot do something, the tool simply is not available to it.

Transport#

terminal
canonicalwalletd mcp --token-file ~/.canonical/mcp.token

Standard MCP over stdio: initialize, tools/list, tools/call, resources/list, resources/read, plus session-local subscriptions.

Read tools (safe by default)#

ToolReturns
wallet_get_statusLock state, active chain, wallet presence.
wallet_get_current_principalThe calling token's identity and capabilities.
wallet_list_accounts / wallet_list_chainsAddresses / configured chains.
wallet_list_proposals / wallet_get_proposalProposals (with filters) / one proposal.
wallet_get_proposal_reviewThe frozen semantic review artifact.
wallet_compare_proposal_reviewDrift diff: approved vs current.
wallet_resimulate_proposalA fresh review, no stored state touched.
wallet_get_proposal_workflow / wallet_get_proposal_decisionWorkflow record / decision options.
wallet_get_my_workThe computed inbox for this principal.
wallet_why_not_executableExactly what blocks execution.
wallet_decode_calldataPlain-language decode of any calldata.
wallet_list_events / wallet_list_activity / wallet_list_audit_eventsMachine stream / timeline / audit log.
wallet_list_clients / wallet_list_permissions / wallet_list_policiesRegistry views.
wallet_list_contacts / wallet_list_watched_assetsAddress book / watched assets.
wallet_get_manifest / wallet_inspect_policyThe generated surface / one policy.

Propose tools (need create_proposal)#

Each returns a proposal id that then waits for the human quorum.

ToolProposes
wallet_create_transaction_proposalA direct transaction.
wallet_create_transaction_replacement_proposalReplacing an executed transaction.
wallet_create_safe_proposalA Safe multisig transaction.
wallet_create_personal_sign_proposalAn EIP-191 message signature.
wallet_create_typed_data_sign_proposalAn EIP-712 signature.
wallet_create_chain_add_proposal / wallet_create_chain_switch_proposalChain registry changes.
wallet_create_permission_grant_proposal / wallet_create_permission_revoke_proposalOrigin-permission changes.
wallet_create_client_register_proposal / wallet_create_client_revoke_proposalClient-registry changes.
wallet_create_policy_change_proposalA policy-template change.

Decide & execute tools (human / operator tokens)#

Policy decides whether a machine approval can ever count — with human_required it cannot.

ToolWhat it does
wallet_approve_proposal / wallet_reject_proposalRecord a decision on the frozen review.
wallet_cancel_proposalWithdraw a proposal.
wallet_execute_proposalDrift re-check, sign, broadcast.
wallet_claim_proposal / wallet_release_proposal_claimTake / drop a workflow item.
wallet_handoff_proposalPass to another principal.
wallet_mark_proposal_reviewed / wallet_request_proposal_changesRecord team review outcomes.

Admin tools (operator tokens)#

Wallet lifecycle and immediate mutations: wallet_create_wallet, wallet_import_mnemonic, wallet_import_private_key, wallet_unlock, wallet_lock, wallet_set_password, wallet_derive_account, wallet_reveal_backup_phrase, wallet_verify_backup_phrase, wallet_add_chain, wallet_switch_chain, wallet_register_client, wallet_revoke_client, wallet_rotate_client_token, wallet_grant_origin_permission, wallet_revoke_origin_permission, wallet_upsert_contact, wallet_remove_contact, wallet_watch_asset, wallet_sign_personal_message, wallet_sign_typed_data_v4. Same names and behavior as the CLI table.

Resources & subscriptions#

Read state as resources instead of tool calls, and subscribe for change events:

ResourceContents
wallet://statusLive status.
wallet://accounts · wallet://chainsAddresses · chain registry.
wallet://proposals · wallet://proposal/{id}Proposal list · one proposal.
wallet://proposal/{id}/review · .../compare-reviewFrozen review · live drift diff.
wallet://proposal/{id}/workflow · .../decisionWorkflow · decision options.
wallet://inbox/meThe computed inbox.
wallet://events · wallet://activity · wallet://auditHistory streams.
wallet://permissions · wallet://clients · wallet://policiesRegistries.
wallet://manifestThe generated surface.

Session-local subscriptions notify on change (for example proposal_review_updated, accounts_updated, status_updated) so an agent reacts to your inbox instead of polling. Subscriptions are capped per session (see docs/release/mcp-subscriptions.md).