mcpField
P
phantom-mcp-server

phantom-mcp-server

本地服务
github.com/Arbromagency-Sato金融数据02 周前更新

关于 phantom-mcp-server

phantom-mcp-server 将 IDPHANTOM 支付操作封装为 MCP 工具,供 Agent 在 Base 上处理 Agent 间 USDC 支付。工具覆盖支付报价、授权、提交和验证。

主要功能

  1. 01获取支付报价
  2. 02授权支付意图
  3. 03提交支付
  4. 04验证支付状态

适用场景

  1. 01授权前检查支付详情
  2. 02授权 Agent 间支付
  3. 03提交已批准的支付意图
  4. 04验证支付是否完成

MCP 相关

通过 stdio 上的换行分隔 JSON-RPC,将 IDPHANTOM 支付操作作为标准 MCP 工具提供。MCP 客户端可用这些工具获取报价、授权、提交和验证支付。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"arbromagency-sato-phantom": {
"command": "npx",
"args": [
"-y",
"@phantomid/mcp-server"
],
"env": {
"PHANTOM_API_URL": "<PHANTOM_API_URL>",
"PHANTOM_API_KEY": "<PHANTOM_API_KEY>"
}
}
}
}
启动命令npx -y @phantomid/mcp-server
需要配置的环境变量
PHANTOM_API_URLPHANTOM API base URL (default https://pay.idphantom.com)
PHANTOM_API_KEY密钥PHANTOM API key for the agent account (create via POST /v1/register — self-serve, $2 USDC on Base)

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@phantomid/mcp-server0.2.1

工具

5

收录的工具列表 · 更新于 2 周前

参数类型必填说明
amountstring是以最小单位表示的代币数量(USDC 为 6 位小数),例如 '2500000' = $2.50。
chain_idnumber是EVM 链 ID:8453 = Base 主网。
metadataobject否附加到报价的可选自由格式键值对象(会显示在收据中)。
payer_walletstring是付款方钱包的 EVM 地址(0x...,带校验和)。
asset_contractstring是用于付款的 ERC-20 代币合约,例如 Base 上的 USDC:0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913。
payer_agent_idstring否可选的付款方 A2A Agent 卡 ID,用于发现和审计。
idempotency_keystring是由客户端生成的唯一键;安全重试会返回相同报价,而不会重复创建。
recipient_walletstring是收款方钱包的 EVM 地址(0x...)。
recipient_agent_idstring否接收方的 A2A Agent Card ID,可选。

详细介绍

IDPHANTOM MCP Server

@phantomid/mcp-server 将 IDPHANTOM 支付封装为标准 MCP 工具,让 AI Agent 能通过 IDPHANTOM 报价、授权、提交并验证 Agent 间支付。

生产环境默认使用:

https://pay.idphantom.com

安装

npx @phantomid/mcp-server

对于 MCP 客户端,请配置服务命令和环境变量:

{
  "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 为可选项。注册后,正常使用付费 API 时必须提供 PHANTOM_API_KEY。

自助工具环境(AGP-100)

MCP 工具 phantom_register 和 phantom_authorize_budget 仅从环境变量读取签名密钥(绝不从命令行标志读取——argv 会泄露到 shell 历史记录和进程列表中):

变量用途说明
PHANTOM_PAYER_PRIVATE_KEYphantom_register(自动模式)支付 2 美元的 USDC 注册费;在本地签名,绝不离开进程。
PHANTOM_FUNDER_PRIVATE_KEYphantom_authorize_budget人类出资方的密钥,用于签署 EIP-712 AgentWalletAuthorization。
PHANTOM_ROUTER_ADDRESS两者EIP-712 域的 PhantomRouter 验证合约。
PHANTOM_FUNNEL_SOURCE漏斗dogfood/QA 流量使用 internal(单独报告——禁止虚增交易量);默认为 external。

如果未设置 PHANTOM_PAYER_PRIVATE_KEY,phantom_register 会以手动模式运行: 传入 payer_wallet,它会返回注册挑战和逐步签名说明。

漏斗事件(AGP-100 F1.4)

服务会在 stderr 上为每个事件输出一行 JSON,行首带有 [funnel] 前缀:

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

事件依次为:install → register_start → register_complete → first_pay → repeat。抓取这些行以构建引导漏斗 (安装 → 注册 → 首次支付 → 重复支付)。标记为 PHANTOM_FUNNEL_SOURCE=internal 的流量必须与外部 交易量分开汇总。

5 分钟内连接你的 Agent

注册可自助完成,在 Base 主网上费用为 2 美元 USDC。CLI 会在本地签名,绝不会打印私钥。

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

初始化流程会调用:

  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

成功后会打印账户 ID 和 API 密钥,该密钥只显示一次。请将返回的密钥保存为 PHANTOM_API_KEY。

非敏感选项支持使用标志。付款方密钥只能通过环境变量传入 (绝不能作为标志——命令行会泄露到 shell 历史记录和进程列表中):

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

工具

此服务通过 stdio 支持以换行符分隔的 JSON-RPC。

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_..."
    }
  }
}

限额

生产环境的默认策略限额如下:

  • 每笔支付最高 50 美元
  • 每天最高 500 美元

超过这些限额的支付会被 PHANTOM ID API 拒绝。

发布

npm publish --access public

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。