callx402 MCP server について
callx402は、MCPサーバーによる読み取り専用のx402決済診断を提供し、CLIとSDKからも利用できます。開発者が障害や決済証拠を調べる用途に向き、MCPツールは課金、再試行、決済実行を行いません。
主な機能
- 01x402とMCPの障害診断
- 02証拠に基づく決済状態の評価
- 03操作状態の説明
- 04安全な復旧判断の提示
- 05サブシステムの到達性確認
活用シーン
- 01失敗したx402決済の調査
- 02決済証拠から状況を評価
- 03復旧を決める前の操作記録の確認
- 04障害調査時のサービス到達性確認
MCP 対応
stdioのMCPサーバーは、読み取り専用の `x402_*` 診断ツールを6つ公開します。提供された証拠をローカルで評価し、取引の実行、再試行、再決済は行いません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Payload — x402、エージェント決済、プログラム可能な収益のための開発者向けインフラストラクチャ。 PAYLOAD → VEYLINE(主力製品)→ CALLX402(アクションレイヤー)→ REVRULE(独立)→ 開発者向け製品 → 無料ユーティリティ。 このリポジトリ:Payload の callx402 — Veyline の x402 インフラストラクチャにつながるユニバーサルアクションレイヤー。

Veyline を基盤としています。x402 に問題が起きたら、callx402 にお任せください。
callx402 は、Veyline の x402 インフラストラクチャにつながるユニバーサルアクションレイヤーです。自然な言葉で必要な作業を伝える(または HTTP エンドポイントを呼び出す)と、callx402 が実際の処理を行う本番システムへルーティングします。壊れた x402 決済の診断、失敗したトランザクションの復旧、エージェントのジョブを実行可能な最安ルートへルーティング、オンチェーンの証拠に基づく決済状態の解決、またはフェイルクローズの安全ルールを適用した明示的な予算内での実行が可能です。
開発の背景: x402 の障害は高コストで不透明です。決済の試行が settlement_pending で終わり、資金が移動したのか誰にも分からない。ウォレットが誤って解釈する 402 レスポンス。同じインテントに対して2つ目の認証に署名し、二重払いを起こすリトライ。callx402 は、まさにこうした状況に対応するためにあります。diagnose は障害が発生した段階を特定し、rescue はインシデントをトリアージし、resolve は証拠に基づいて問題を解決し、route は実行可能な最安ルートを見つけ、execute は厳格な予算内で実行します。
お試しください(2分、セットアップ不要、アカウント不要):
npm install -g callx402
callx402 status
callx402 'complete this job for under $1'
status は、サブシステムごとの到達可能性を正直に報告します。認証情報は不要です。インテントの行はリクエストを解析して実行計画を立てた後、実行前に停止します。接続済みのライブツールエンドポイントがない場合、「実行可能なルートがありません」と報告されるため、資金は移動しません。(シングルクォートを使用してください。ダブルクォートでは、シェルによって $1 が解釈されます。)
ライブ Payload レールに対する、無料の読み取り専用チェック:
curl https://payload-rail.fly.dev/v1/callx402/actions
curl 'https://payload-rail.fly.dev/v1/callx402/quote?action=diagnose'
1つ目は有料アクションカタログを価格付きで返し、2つ目は1つのアクションの無料価格見積もりを返します。レールアクションの呼び出しはチェックアウト経由でアクションごとに有料です(https://payloadhq.github.io/agents.json を参照)。これらのコマンドで料金が発生することはありません。
デバッグ作業が1回でも減ったら、リポジトリにスターを付けて続きをお読みください。
MCP サーバー:60秒で接続
このリポジトリには、依存関係ゼロの読み取り専用 MCP サーバー(mcp/index.js、Node の標準ライブラリのみ、stdio トランスポート)が含まれており、6つの x402_* 診断ツールを提供します。ここでは課金、実行、リトライ、再決済は行いません。
git clone https://github.com/Payloadhq/callx402
# no npm install needed for the MCP server
このブロックを MCP クライアントの設定に追加し(パスを置き換えてください)、クライアントを再起動します。
| クライアント | 設定ファイル |
|---|---|
| Claude Desktop | claude_desktop_config.json(macOS では ~/Library/Application Support/Claude/、Windows では %APPDATA%\Claude\) |
| Cursor | ~/.cursor/mcp.json(ユーザースコープ)または .cursor/mcp.json(プロジェクトスコープ) |
| Windsurf | ~/.codeium/windsurf/mcp_config.json |
{
"mcpServers": {
"callx402": {
"command": "node",
"args": ["/absolute/path/to/callx402/mcp/index.js"]
}
}
}
クライアントに MCP ツールの一覧表示を依頼してください。6つの x402_* ツールが表示されるはずです。クライアントごとの説明と、stdio の生のテストハンドシェイクについては、integrations/mcp-clients/ を参照してください。
注:6つの無料 MCP ツールはすべて、npm をクリーンインストールすれば、提供された証拠を保守的にローカルで読み取り専用評価して応答します。信頼できる情報源がない場合、決済の確定を検証したり、非公開の台帳にアクセスしたり、復旧を実行したりすることはありません。すでに設定されているローカル/リモートのサブシステム連携は引き続き利用できます。
関係性
- PAYLOAD = 親会社です。
- VEYLINE = x402 + MCP の本番インフラです。旗艦ブランドです。
- CALLX402 BY PAYLOAD = Veyline を基盤とする、x402 の応答/アクションレイヤーです。 Veyline の本番インフラへの入口となるアクションであり、旗艦の 名称ではありません。ここで Veyline の名称が変更されることはありません。
発見までの流れ:x402 を検索した開発者が callx402 を見つけて使い、 Veyline を知ります。Payload は x402 Foundation とは提携していません。
機能
- x402 または MCP の障害を診断します
- 失敗したトランザクションを救済します(認証が必要)
- 有料のエージェントジョブを、実行可能な最安の経路にルーティングします
- オンチェーンの証拠から決済状態を解決します
- 明示的な予算の範囲内で、フェイルクローズの安全規則に従って実行します
行動を表す使用表現(商標に関する主張ではありません):
- 「x402 の診断が必要ですか? callx402。」
- 「トランザクションの救済が必要ですか? callx402。」
- 「有料のエージェントジョブをルーティングしたいですか? callx402。」
- 「決済の確実性が必要ですか? callx402。」
- 「予算内で実行したいですか? callx402。」
クイックスタート
1. インストール
npm install -g callx402
またはプロジェクトにローカルインストールする場合:npm install callx402(バイナリは
node_modules/.bin/callx402 に配置されます)。
代替方法として、GitHub から直接インストールします。
npm install Payloadhq/callx402
ローカル開発:
git clone https://github.com/Payloadhq/callx402
cd callx402
npm install
npm link # exposes the `callx402` command
2. 初回実行:セットアップなしで動作するもの
callx402 status
callx402 'complete this job for under $1'
status は、正直な出発点となるサブシステムごとの到達可能性レポートです。
npm をインストールしただけの状態では 0/15 subsystems reachable と表示されますが、
これは想定どおりです(手順 3 を参照)。意図の行は平易な言葉で計画を立て、
実行前に停止するため、いつでも安全に実行できます。シェルが $1 を
展開しないよう、シングルクォートを使用してください。
稼働中の Payload レールに対する無料の読み取り専用チェック(アカウントやキーは不要):
curl https://payload-rail.fly.dev/v1/callx402/actions
curl 'https://payload-rail.fly.dev/v1/callx402/quote?action=diagnose'
これらは、価格付きの有料アクションカタログと、1 つのアクションに対する無料の価格見積もりを返します。 レールのアクションを呼び出す場合、チェックアウトを通じてアクションごとに料金が発生します(マシン向け入口:https://payloadhq.github.io/agents.json)。ここで料金が発生することはありません。
3. セルフホスト可能なランタイム(上級者向け、任意)
デフォルトでは、すべてのサブシステムコマンドはホスト型レールにルーティングされるため、セットアップは不要です。
すべてを自分のマシンで実行する場合は、CALLX402_LOCAL=1 を設定し、
CALLX402_V2_ROOT を v2.0.0 ツリー(x402 Paid API Starter Kit という別製品)に指定します。
export CALLX402_LOCAL=1
export CALLX402_V2_ROOT=/path/to/x402-paid-api-starter-kit/v2.0.0
callx402 status # now: 15/15 reachable, 0/15 enabled
CALLX402_LOCAL=1 を設定しない場合、これらのコマンドは代わりにホスト型レールを使用します。
これが標準の方法であり、npm パッケージ以外にインストールするものはありません。
(デフォルトでは、callx402 のチェックアウト先と同じ階層に x402-paid-api-starter-kit/v2.0.0 ディレクトリがあるものとします。)
サブシステムはデフォルトで無効になっています。status には各サブシステムを有効にするフラグが表示されます。
フラグを設定してから、対応するコマンドを実行してください。
export PAYLOAD_MCP_DOCTOR=1
callx402 diagnose --target 'https://api.example.com/x402/pay'
その他の例(それぞれサブシステムのフラグを有効にする必要があります。フラグ名を確認するには callx402 status
を実行してください):
callx402 rescue --incident inc_123
callx402 route --goal 'fetch 100 product prices for under 0.50 USD'
callx402 resolve --evidence '{"txHash":"0xabc..."}'
シングルクォートを使用してください。目標のテキストに含まれる $ 形式の金額は、
ダブルクォート内ではシェルによって展開されます。
ローカルツリーの代わりに、自分の callx402 サーバー(server/index.js)を使って
リモートモードで実行できます。
export CALLX402_MODE=remote
export CALLX402_REMOTE_URL=http://127.0.0.1:8787
JavaScript SDK
const { callx402 } = require('callx402');
const result = await callx402({
intent: 'complete this job for under $1',
maxBudget: 1.00,
networks: ['base'],
assets: ['USDC'],
approvalThreshold: 5.00,
idempotencyKey: 'job-42',
});
Python SDK
import callx402
result = callx402.callx402(
intent="complete this job for under $1",
max_budget=1.00,
networks=["base"],
assets=["USDC"],
approval_threshold=5.00,
idempotency_key="job-42",
)
HTTP サーバー
CALLX402_PORT=8787 node server/index.js
curl -X POST http://127.0.0.1:8787/call \
-H 'Content-Type: application/json' \
-d '{"intent":"complete this job for under $1","maxBudget":1.00,"dryRun":true}'
HTTP の全仕様:server/openapi.yaml(GET /openapi.json でライブ配信されます)。
コマンド
| コマンド | 内容 |
|---|---|
callx402 "natural language intent" | インテントモード:解析、計画、予算確認、ルーティング、実行 |
callx402 status [--json] | サブシステムの到達可能性とフラグの状態 |
callx402 diagnose [--target ...] | x402 / MCP の障害を診断 |
callx402 rescue --incident <id> | トランザクションを復旧(認証が必要) |
callx402 route --goal <text> | 有料ジョブを、実行可能な最安の経路にルーティング |
callx402 resolve --evidence <json|@file> | 証拠から決済状態を解決 |
callx402 doctor | MCP の診断チェックを実行 |
callx402 execute --intent <text> [--max-budget N] [--dry-run] | 明示した予算の範囲で実行 |
callx402 monitor [--once|--watch] | サブシステム/インシデントの状態を監視 |
callx402 preflight | 有料実行前の事前チェック |
callx402 inspect [--query <text>] | 機能グラフ/状態を確認 |
callx402 evidence <operationId> [--dir <path>] | 操作に記録された証拠を表示(読み取り専用)— 1.0.1 では MCP/レールのみ。公開 CLI コマンドではありません |
callx402 explain <operationId> [--dir <path>] | 操作の状態を平易な言葉で評価(読み取り専用)— 1.0.1 では MCP/レールのみ。公開 CLI コマンドではありません |
callx402 recover <operationId> [--identity <id> | --evidence <json>] | 安全な復旧判断:RECOVERABLE / SAFE_RETRY / HUMAN_REVIEW(読み取り専用)— 1.0.1 では MCP/レールのみ。公開 CLI コマンドではありません |
callx402 config list | get <k> | set <k> <v> | ローカル設定を管理 |
サブシステムコマンド(diagnose、rescue、route、resolve、doctor、
monitor、preflight、inspect)には、v2.0.0 ツリーと対応する
機能フラグが必要です(上記の「フルサブシステムコマンド」を参照)。これらがない場合、
終了コード 3 で終了し、何も実行しません。status、インテントモード、config はセットアップ不要で動作します。
実行モード
callx402 はすぐに使えます。モードは 2 つあります。
| モード | 内容 | 費用 | セットアップ | 利用できる機能 |
|---|---|---|---|---|
| callx402 CLI — ホステッド(デフォルト) | ホステッド Payload Rail を利用する軽量クライアントとしての npm パッケージ | 無料の見積もり後、アクションごとに支払い(例:x402 経由で diagnose は $0.10、resolve は $0.25) | npm install callx402 — セットアップ不要 | diagnose、resolve、recover、preflight、evidence、explain などをサーバー側で実行します。最初に無料見積もりを取得し、オンチェーンで支払いを厳密に一度だけ検証。呼び出しは計測・監査可能で、結果が返されます。 |
| callx402 Runtime — セルフホスト(上級者向け) | CLI と v2.0.0 ランタイムツリー(CALLX402_LOCAL=1、CALLX402_V2_ROOT を設定) | 無料 | CALLX402_V2_ROOT を x402 Paid API Starter Kit v2.0.0 ツリーに設定し、機能フラグを有効化 | 提供した証拠に基づき、マシン上で完全にローカル実行します。読み取り専用の分析であり、署名、再試行、資金移動は行いません。 |
npm install callx402 だけでホステッドモードを利用できます。別のツリーも、
設定も、キーも必要ありません。通常の利用に v2 ツリーは不要です。
支払いの仕組み
ホステッドの有料アクションは、汎用 x402 ファシリテーターではなく、Payload の署名付き償還フローを通じて決済されます。
- アクションの無料見積もりを取得します。支払い前に正確な価格が提示されます。
- アクションを呼び出し、x402 v2 の
402チャレンジを確認します。USDC on Base、金額、payToアドレスが含まれます。 - 自分のウォレットから
payToに見積もり金額を支払います。 - 支払いトランザクションのハッシュと、支払い元ウォレットによる EIP-191 署名済み認証を添えて、元の見積もりを償還します。公開トランザクションハッシュだけではアクションを認証できません。
- レールがオンチェーンで支払いを厳密に一度だけ検証し、結果を返します。
償還コントラクトの全容は docs/signed-redemption.md に記載されています。上記の無料ローカルティアでは、料金は一切請求されず、資金も移動しません。
有料の単発診断(サブスクリプション不要)
上記の CLI および MCP ツールは無料のローカルプランです。課金も実行も送金も行わない、読み取り専用の診断です。無料の診断では不十分な場合、つまり、見積もりを支払い前に確認でき、支払いが厳密に一度だけ処理される、有料の従量課金制で監査可能な呼び出しが必要な場合は、各アクションを有料の単発レールアクションとしても利用できます。サブスクリプションもアカウントも不要です。まず見積もりを取得し、その後、明示的に支払います。
支払いによって得られるもの:レールがアクションを承認し、オンチェーンで支払いを一度だけ検証し、組織に対する呼び出し回数を計測して監査用に記録します。サブスクライバーにはガバナー/クォータのルールを適用し、その後、サーバー側で読み取り専用の診断を実行して結果を返します。ローカルでのセットアップも、別のツリーも、キーも不要です。レールが実行を偽装することはありません。すべての結果は、提供された証拠に基づき診断モジュールが生成します。
ホスト型の見積もり・支払いフロー:
# 1. Obtain a free quote. No money moves.
curl "https://payload-rail.fly.dev/v1/callx402/quote?action=resolve&path=x402"
# 2. Run the interactive client. Pay explicitly by card or with USDC.
# For USDC redemption, the paying wallet must EIP-191-sign the exact
# authorization message displayed by the CLI.
callx402 resolve --evidence '{"txHash":"0x..."}'
# 3. Agents with an external wallet-produced signature can redeem the
# ORIGINAL canonical quote with a signed authorization file:
callx402 resolve --evidence '{"txHash":"0x..."}' \
--tx-hash 0xYOUR_SETTLED_PAYMENT_HASH \
--payer-auth @signed-auth.json --approve
公開トランザクションハッシュだけでアクションが承認されることはありません。署名済みの承認情報には、支払い元のウォレット、アクション、トランザクションハッシュ、見積もり、受取人、ネットワーク、リクエスト入力が紐付けられています。署名済みの承認情報と一緒に、元の quote_inputs を保管してください。新しい見積もりをリクエストしても、以前の支払いが承認されるわけではありません。Payload に秘密鍵、シードフレーズ、またはウォレットのリカバリーフレーズを絶対に渡さないでください。 EIP-1271 コントラクトウォレットの引き換えには、現在対応していません。Stripe クレジットには、別の引き換え手順が用意されています。
最新の料金表:GET https://payload-rail.fly.dev/v1/callx402/actions
("model":"paid on-demand per action; no subscription required" を返します)。
アクションごとに 2 種類の価格があり、互換性はありません。カード価格は Stripe の料金で、x402 パスの USDC 価格は、その料金を正確に 20 で割った額です(USDC の価格は無料の見積もりエンドポイントを正とします)。両方を並べて示します。
| アクション | カード(Stripe) | USDC(x402 パス) |
|---|---|---|
diagnose | $2.00 | $0.10 |
explain | $1.00 | $0.05 |
evidence | $2.00 | $0.10 |
recover | $10.00 | $0.50 |
resolve | $5.00 | $0.25 |
preflight | $3.00 | $0.15 |
settlement_interpretation | $3.00 | $0.15 |
failure_classification | $2.00 | $0.10 |
duplicate_payment_risk | $5.00 | $0.25 |
レールの evidence と explain は、以前に有料で実行した呼び出しの結果を読み取ります(リクエストには、その呼び出しの invocation_id を指定します)。そのため、事前の呼び出しなしでは利用できません。無料のローカル版は、ローカルの操作台帳を読み取ります。
レールで販売されないアクション: safe_retry、rescue、monitor、execute はローカル専用です。セルフホスト可能なランタイム(v2.0.0 ツリー)で実行され、上記のレールカタログには含まれていません。レールではこれらのアクションに対して 422 HOSTED_ACTION_UNAVAILABLE が返されます。Stripe または x402 で購入する方法はありません。「この再試行は安全か」という質問には、無料のローカル recover による判定が、利用可能な読み取り専用の回答です。
有料アクションを利用するために、支払いを確認せずに再試行しないでください。まず見積もりを取得してください。
問題とアクションの対応表(どの有料アクションがどの障害に対応するか、および各アクションの無料 CLI/MCP パス):docs/problem-map.md。
Public RevRule evaluation(0.01 USDC)
このレールでは、公開されている RevRule 評価エンドポイントも 1 つ提供しています。これは RevRule のデモであり、callx402 の診断アクションではありません。
POST https://payload-rail.fly.dev/v1/x402/public/evaluate は、固定された透明性の高い公開デモグラフ(総額の 5% をプラットフォームに配分し、残額の 70% をクリエイターに配分し、イベントでリファラーが指定されている場合は残額の 25% をリファラーに配分)に対して、1 件の経済イベントを Base 上で 0.01 USDC で評価します。
完全かつ正しいリクエストボディは次のとおりです。
{
"event": {
"eventId": "my-event-001",
"type": "SALE_COMPLETED",
"rail": "stripe",
"amountMicros": 100000000,
"currency": "USD",
"occurredAt": "2026-10-13T00:00:00.000Z"
},
"txHash": "0x<your settled 0.01 USDC payment on Base>"
}
event.eventId(一意で空でない任意の文字列)とevent.railは、402 で告知される bazaar スキーマではどちらも省略されていますが、必須です。有効なrailの値:stripe、ach、x402、manual、stablecoin。event.typeは次のいずれかである必要があります:SALE_COMPLETED、API_PAYMENT、LICENSE_PAID、SUBSCRIPTION_PAYMENT、REFERRAL_CONVERTED、ROYALTY_RECEIVED、CAMPAIGN_MILESTONE、MARKETPLACE_TRANSACTION、TOUCH。- イベントは支払い前に検証されます。不正なボディには 402 ではなく
400 INVALID_EVENTが返されます(実環境で検証済み:上記のボディからtxHashを除くと 402 が返されます)。残りはエンドポイントが補完します。graphIdは公開デモグラフに固定され、currencyを省略すると"USD"、occurredAtを省略すると現在時刻がデフォルトで設定されます。 - x402 v2 の
402チャレンジを受け取るにはtxHashを省略します。0.01 USDC を支払った後、ハッシュを付けて同じボディを再試行してください。各 txHash は 1 回のみ使用できます。
インテグレーション
エージェントフレームワーク、自動化、MCP クライアント、x402 ファシリテーター向けの動作するエントリーポイントです。すべて integrations/ にあり、実環境のレールでテスト済みです。
- LangChain — 9 つのツール(
integrations/langchain/):診断、復旧、解決、証拠、説明、安全な再試行、重複支払いリスク、事前チェックに加え、無料のライブ手数料スケジュール - CrewAI — CrewAI Tools として同じアクションを提供(
integrations/crewai/) - n8n — インポート可能なインシデントガードワークフロー(
integrations/n8n/):インシデントを callx402 アクションに対応付け、無料のライブ見積もりを取得し、認証情報がある場合は呼び出し、ない場合は支払い手順を提示します。自動支払いは行いません - MCP クライアント — 無料の読み取り専用 MCP サーバー向け Claude Desktop/Cursor/Windsurf のセットアップ(
integrations/mcp-clients/) - x402 ファシリテーター —
settle-guard.js(integrations/facilitator/):支払いを再ブロードキャストする前に、証拠から決済状態を解決します
問題とアクションの対応表:docs/problem-map.md。
エージェント向けのマシン用エントリーポイント:https://payloadhq.github.io/agents.json。
資金安全性に関するルール
- 決済状態が UNKNOWN の場合、自動再試行も再支払いも決して行いません。
- 予算超過のインテントは、副作用を一切発生させずに拒否されます。
- 承認しきい値の確認に失敗した場合は、フェイルクローズします。
- 冪等性キーで重複を排除します — 繰り返しのリクエストには元の結果を返し、再実行はしません。
- 無効または到達不能なサブシステムはフェイルクローズします — 成功を偽装することはありません。
- 非カストディアル — callx402 は処理をディスパッチしますが、資金や秘密鍵を保有することはありません。
callx402 ではないもの
- 旗艦製品の名称ではありません。製品名は Veyline です。
- ブローカー、交渉役、カストディアンではありません。処理をディスパッチしますが、資金を保有することはありません。
- 上記の表現は利用方法を示すものであり、独占性を主張するものではありません。
リンク
- 正式なドキュメント:https://payloadhq.github.io/
- Payload の組織プロフィール:https://github.com/Payloadhq/Payloadhq
- Payload による RevRule(別製品):https://github.com/Payloadhq/revrule-console
サブシステムの全リファレンス:docs/README.md。動作に関する表現:docs/ACTION_LANGUAGE.md。
設計仕様:SPEC.md。
ライセンス
MIT。LICENSE を参照してください。
Payload のその他の情報 · payloadhq.github.io · Payload の全リポジトリ
関連項目:x402-manifest-check · x402-observatory · flow-agentic-demo
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。