MCP Integration

DCP exposes your vault to AI agents through @dcprotocol/agent over MCP. Use stdio MCP for local desktop clients and streamable HTTP MCP for URL-based or remote clients.

Keep DCP Desktop running (or a vault reachable). The agent is a thin bridge; the vault does the signing, policy, and approvals. Requires Node.js 22.

Claude Desktop, Cursor, VS Code (stdio)

Add this to the client's MCP config:

{
  "mcpServers": {
    "dcp": {
      "command": "npx",
      "args": ["-y", "@dcprotocol/agent", "run", "--mode", "mcp", "--agent", "agent_local_dev"]
    }
  }
}

Installed globally (npm i -g @dcprotocol/agent)? The command dcp-agent works too.

OpenClaw (stdio)

openclaw mcp set dcp '{"command":"npx","args":["-y","@dcprotocol/agent","run","--mode","mcp","--agent","agent_openclaw_local"]}'
openclaw gateway restart

Hermes (stdio)

mcp_servers:
  dcp:
    enabled: true
    command: "dcp-agent"
    args: ["run", "--mode", "mcp", "--agent", "agent_hermes_local"]
    tools:
      prompts: false
      resources: false

Then run /reload-mcp or restart Hermes.

Streamable HTTP MCP

For clients that expect an HTTP MCP URL (and for remote agents):

dcp-agent run --mode http-mcp --agent openclaw_local --host 127.0.0.1 --port 8420
# endpoint:
http://127.0.0.1:8420/mcp
The HTTP MCP endpoint binds to 127.0.0.1 by default. Only expose it beyond loopback through the DCP relay (remote-agent flow). Never bind it to a public interface.

Tools

Every agent sees the same 14 tools. Sensitive ones (write, sign, transfer, swap) go through budget + approval on your device.

Data

ToolWhat it does
vault_readRead an approved data record (e.g. identity.email).
vault_writeStore a data record in the vault.
vault_scope_guideReturn the canonical DCP scope names.

Wallet reads (no approval)

ToolWhat it does
vault_get_addressGet the user's Solana public address.
vault_get_balancesRead SOL and SPL token balances (e.g. USDC).
vault_get_tx_historyList recent transaction signatures.
vault_get_tx_statusCheck on-chain status of a transaction by signature.
vault_search_tokensSearch the Jupiter token list by symbol, name, or mint.
vault_budget_checkCheck a proposed amount against the user's budget policy.

Wallet actions & signing (approval + budget)

ToolWhat it does
vault_transferSend SOL or an SPL token to an address.
vault_swapSwap one Solana token for another via Jupiter.
vault_sign_txSign an unsigned Solana transaction.
vault_sign_messageSign a wallet message.
vault_sign_x402Sign a Solana x402 payment payload.

Exact inputs and outputs for each tool are in the MCP Tools Reference.

Canonical data scopes

  • Identity: identity.name, identity.email, identity.phone
  • Address: address.home
  • API keys: credentials.api.openai, credentials.api.anthropic, credentials.api.github

Call vault_scope_guide for the authoritative, current list.

Try it

What is my Solana wallet address from DCP?
What is my email from DCP?
What are my token balances?
Send 0.001 SOL to <address>
Swap 5 USDC to SOL