Guides

MCP reference

Protocol details for the arcdot. MCP adapter. For the real buyer setup, use Hub Get started.

Buyer setup (auto-pay)

  1. Create or import a wallet: npx --yes @arcdot/agent wallet create or npx --yes @arcdot/agent wallet import --key 0xYOUR_PRIVATE_KEY (import in your own terminal — never paste the key into chat)
  2. Fund with USDC on Arc on /fund if the balance is low
  3. Paste the local proxy into your IDE’s MCP settings (see Connect IDE)
mcp.json
{
  "mcpServers": {
    "arcdot": {
      "command": "npx",
      "args": [
        "--yes",
        "@arcdot/agent",
        "mcp",
        "--origin",
        "$ORIGIN"
      ]
    }
  }
}

Remote endpoint

Streamable HTTP JSON-RPC at POST /api/mcp. GET /api/mcp returns a short descriptor. Adapter over the gateway — not a separate marketplace.

Handshake

bash
curl -s "$ORIGIN/api/mcp" | jq .

curl -s -X POST "$ORIGIN/api/mcp" \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"curl","version":"0"}}}'

curl -s -X POST "$ORIGIN/api/mcp" \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/list"}' | jq .

Tools

Published services are not MCP tools. Agents discover them, then unlock by slug.

  • arcdot_discover — free catalog (optional query filter). Alias: arcdot_catalog
  • arcdot_health — free health
  • arcdot_unlock — { service, prompt } then pay / retry with payment
  1. Remote tools/call without payment → payment instructions in tool content
  2. Local @arcdot/agent proxy / SDK runs deposit + EIP-191 and retries with arguments.payment

Rehearsal only: header X-Arc-Demo-Secret. Production buyers fund with USDC on Arc on /fund. arcdot. never holds buyer keys.

bash
curl -s -X POST "$ORIGIN/api/mcp" \
  -H 'Content-Type: application/json' \
  -H "X-Arc-Demo-Secret: $DEMO_AGENT_SECRET" \
  -d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"arcdot_unlock","arguments":{"service":"quick-brief","prompt":"Say hello in one line"}}}'