Developer Preview · Test and pilot use only · View program boundaries
V VelarumPay Docs
MCP server

Plug VelarumPay into an AI agent

The @velarumpay/mcp-server is a local MCP stdio server. It exposes VelarumPay as a small set of tools any MCP-capable agent (Claude and others) can call. It never holds private keys, signs, or approves payments.

Tools

ToolWhat it does
create_pairing_sessionStart pairing so the user can approve in their wallet.
create_transaction_contextCreate the human-readable review context.
create_payment_requestPropose a payment for the user to sign.
get_payment_statusRead the current status of a request.
Only these v0.1 scopes are available: payment.requests.create, payment.requests.read, transaction_contexts.create, transaction_contexts.read. No signing, key, seed, or auto-approval scope is ever exposed.

Run it

export VELARUMPAY_API_BASE_URL=http://127.0.0.1:8787
export VELARUMPAY_CONNECTION_TOKEN=conn_tok_...
npx velarumpay-mcp-server

Tool inputs may also pass base_url and connection_token per call. If a payload includes connection_id, it must match the connection the token belongs to. For local agents, omit connection_id and the Platform API derives it from the token.

Example tool call

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "create_pairing_session",
    "arguments": {
      "agent": {
        "agent_id": "agt_mcp_local",
        "agent_name": "VelarumPay MCP Local Agent",
        "runtime": "mcp",
        "device_label": "local developer machine"
      }
    }
  }
}

Safety model

The MCP server is a thin client. The Platform API still enforces connection-token checks, scope checks, and risk policy (allowlists, daily limits, idempotency) on every call. The user's wallet is always the place where real payments get approved and signed.