io.github.Arbromagency-Sato/phantom-mcp-server

Official registry Finance and payments

PHANTOM ID MCP payment server: agent-to-agent USDC payments on Base.

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

NPM package @phantomid/mcp-server
Claude Code
claude mcp add phantom-mcp-server -e 'PHANTOM_API_URL=<PHANTOM_API_URL>' -e 'PHANTOM_API_KEY=<your phantom_api_key>' -- npx -y @phantomid/mcp-server@0.2.1
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "phantom-mcp-server": {
            "command": "npx",
            "args": [
                "-y",
                "@phantomid/mcp-server@0.2.1"
            ],
            "env": {
                "PHANTOM_API_URL": "<PHANTOM_API_URL>",
                "PHANTOM_API_KEY": "<your phantom_api_key>"
            }
        }
    }
}

Environment variables

  • PHANTOM_API_URL PHANTOM API base URL (default https://pay.idphantom.com)
  • PHANTOM_API_KEY required secret PHANTOM API key for the agent account (create via POST /v1/register — self-serve, $2 USDC on Base)

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. IDPHANTOM MCP Server
  2. Install
  3. Connect Your Agent In 5 Minutes
  4. Tools
  5. Limits
  6. Publish

IDPHANTOM MCP Server

@phantomid/mcp-server exposes IDPHANTOM payments as standard MCP tools so an AI agent can quote, authorize, submit, and verify agent-to-agent payments through IDPHANTOM.

Production defaults to:

https://pay.idphantom.com

Install

npx @phantomid/mcp-server

For MCP clients, configure the server command and environment:

{
  "mcpServers": {
    "phantom-id": {
      "command": "npx",
      "args": ["@phantomid/mcp-server"],
      "env": {
        "PHANTOM_API_URL": "https://pay.idphantom.com",
        "PHANTOM_API_KEY": "pk_live_..."
      }
    }
  }
}

PHANTOM_API_URL is optional when using production. PHANTOM_API_KEY is required for normal paid API usage after registration.

Self-serve tools environment (AGP-100)

The MCP tools phantom_register and phantom_authorize_budget read their signing keys only from the environment (never from command-line flags — argv leaks into shell history and process listings):

VariableUsed byPurpose
PHANTOM_PAYER_PRIVATE_KEYphantom_register (auto mode)Pays the $2 USDC registration; signs locally, never leaves the process.
PHANTOM_FUNDER_PRIVATE_KEYphantom_authorize_budgetHuman funder's key for the EIP-712 AgentWalletAuthorization.
PHANTOM_ROUTER_ADDRESSbothPhantomRouter verifying contract of the EIP-712 domain.
PHANTOM_FUNNEL_SOURCEfunnelinternal for dogfood/QA traffic (reported separately — wash volume prohibited); default external.

Without PHANTOM_PAYER_PRIVATE_KEY, phantom_register runs in manual mode: pass payer_wallet and it returns the registration challenge plus step-by-step signing instructions.

Funnel events (AGP-100 F1.4)

The server emits one JSON line per event on stderr, prefixed with [funnel]:

[funnel] {"event":"install","ts":"...","source":"external",...}

Events: install → register_start → register_complete → first_pay → repeat. Scrape these lines to build the onboarding funnel (install → register → first pay → repeat). Traffic tagged PHANTOM_FUNNEL_SOURCE=internal must be aggregated separately from external volume.

Connect Your Agent In 5 Minutes

Registration is self-serve and costs $2 USDC on Base mainnet. The CLI signs locally and never prints the private key.

export PHANTOM_PAYER_PRIVATE_KEY="0x..."
export PHANTOM_ROUTER_ADDRESS="0x..."
npx @phantomid/mcp-server init --name my-agent

The init flow calls:

  1. POST /v1/register
  2. POST /v1/intents/:id/authorize
  3. POST /v1/intents/:id/submit
  4. GET /v1/register/:reference
  5. POST /v1/register/:reference/claim

On success it prints the account id and the API key once. Store the returned key as PHANTOM_API_KEY.

Flags are supported for non-sensitive options. The payer key is environment-only (never a flag — command lines leak into shell history and process listings):

export PHANTOM_PAYER_PRIVATE_KEY="0x..."
npx @phantomid/mcp-server init \
  --api-url https://pay.idphantom.com \
  --router-address 0x... \
  --name my-agent

Tools

The server supports newline-delimited JSON-RPC over stdio.

quote_payment
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "quote_payment",
    "arguments": {
      "payer_wallet": "0x...",
      "recipient_wallet": "0x...",
      "asset_contract": "0x...",
      "amount": "1000000",
      "chain_id": 8453,
      "idempotency_key": "quote-001",
      "payer_agent_id": "buyer-agent",
      "recipient_agent_id": "seller-agent"
    }
  }
}
authorize_payment
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "authorize_payment",
    "arguments": {
      "payment_intent_id": "pi_...",
      "payer_signature": "0x..."
    }
  }
}
submit_payment
{
  "jsonrpc": "2.0",
  "id": 3,
  "method": "tools/call",
  "params": {
    "name": "submit_payment",
    "arguments": {
      "payment_intent_id": "pi_..."
    }
  }
}
verify_payment
{
  "jsonrpc": "2.0",
  "id": 4,
  "method": "tools/call",
  "params": {
    "name": "verify_payment",
    "arguments": {
      "payment_intent_id": "pi_...",
      "receipt_id": "rcpt_..."
    }
  }
}

Limits

Default production policy limits are:

  • 50 USD maximum per payment
  • 500 USD maximum per day

Payments above those limits are rejected by the PHANTOM ID API.

Publish

npm publish --access public

Frequently asked questions

What is io.github.Arbromagency-Sato/phantom-mcp-server?

PHANTOM ID MCP payment server: agent-to-agent USDC payments on Base.

How do I install io.github.Arbromagency-Sato/phantom-mcp-server?

It runs on your machine. In Claude Code: claude mcp add phantom-mcp-server -e 'PHANTOM_API_URL=<PHANTOM_API_URL>' -e 'PHANTOM_API_KEY=<your phantom_api_key>' -- npx -y @phantomid/mcp-server@0.2.1. For other clients, paste the JSON configuration from this page into their MCP settings.

Does io.github.Arbromagency-Sato/phantom-mcp-server need an API key?

Yes. It expects PHANTOM_API_KEY, which you set in its configuration.

Is io.github.Arbromagency-Sato/phantom-mcp-server open source?

Its code is public on GitHub, but the repository does not declare a standard license.

Who maintains io.github.Arbromagency-Sato/phantom-mcp-server?

It is published by Arbromagency-Sato. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.