mcpField
P
phantom-mcp-server

phantom-mcp-server

ローカル
github.com/Arbromagency-Sato金融データ02 週間前に更新

phantom-mcp-server について

phantom-mcp-server は、Base 上でエージェント間の USDC 決済を扱うため、IDPHANTOM の決済機能を MCP ツールとして提供します。決済の見積もり、承認、送信、検証に対応します。

主な機能

  1. 01決済見積もりの取得
  2. 02決済インテントの承認
  3. 03決済の送信
  4. 04決済状況の検証

活用シーン

  1. 01承認前に決済内容を確認
  2. 02エージェント間決済を承認
  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 エージェントカード ID。
idempotency_keystringはいクライアントが生成する一意のキーです。安全に再試行でき、重複して作成されず同じ見積もりが返されます。
recipient_walletstringはい受取人ウォレットの EVM アドレス(0x...)。
recipient_agent_idstringいいえ受信者の A2A エージェントカード ID(任意)。

詳細

IDPHANTOM MCP サーバー

@phantomid/mcp-server は IDPHANTOM の決済機能を標準的な MCP ツールとして公開するため、AI エージェントは IDPHANTOM を通じてエージェント間決済の見積もり、承認、送信、検証を行えます。

本番環境では、次の設定がデフォルトで使用されます。

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 はシェル履歴やプロセス一覧に漏れるためです)。

変数使用元目的
PHANTOM_PAYER_PRIVATE_KEYphantom_register(自動モード)2 USDC の登録費用を支払います。署名はローカルで行われ、プロセスの外に出ることはありません。
PHANTOM_FUNDER_PRIVATE_KEYphantom_authorize_budgetEIP-712 の AgentWalletAuthorization に使用する、人間の資金提供者の鍵です。
PHANTOM_ROUTER_ADDRESS両方EIP-712 ドメインの検証コントラクトである PhantomRouter です。
PHANTOM_FUNNEL_SOURCEファネルドッグフーディング/QA トラフィックには internal を指定します(別途報告されます。自社間での取引量は許可されません)。デフォルトは external です。

PHANTOM_PAYER_PRIVATE_KEY が設定されていない場合、phantom_register は手動モードで実行されます。payer_wallet を渡すと、登録チャレンジと署名手順が返されます。

ファネルイベント(AGP-100 F1.4)

サーバーは、stderr に [funnel] をプレフィックスとして付けた JSON 形式のイベントを1行ずつ出力します。

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

イベントは install → register_start → register_complete → first_pay → repeat の順です。これらの行を収集して、オンボーディングファネル(インストール → 登録 → 初回決済 → リピート)を構築できます。PHANTOM_FUNNEL_SOURCE=internal のタグが付いたトラフィックは、外部の取引量とは分けて集計する必要があります。

5分でエージェントを接続

登録はセルフサービスで、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 として保存してください。

機密情報以外のオプションにはフラグを使用できます。支払者の鍵は環境変数でのみ指定できます(フラグでは指定できません。コマンドラインはシェル履歴やプロセス一覧に漏れるためです)。

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

上限

本番環境のデフォルトのポリシー上限は次のとおりです。

  • 決済1件あたり最大50 USD
  • 1日あたり最大500 USD

これらの上限を超える決済は、PHANTOM ID API によって拒否されます。

公開

npm publish --access public

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。