mcpField
X
x402ai-mcp

x402ai-mcp

ローカル
github.com/ukenalAI・エージェント03 日前に更新

x402ai-mcp について

x402ai-mcpは、AIクライアント向けにテキストの埋め込み、要約、回答を有料で提供するローカルMCPサーバーです。x402によるBase上のUSDC決済に対応し、セッション上限とdry-runモードも備えています。

主な機能

  1. 01テキスト埋め込みの生成
  2. 02入力テキストの要約
  3. 03テキストに関する質問への回答
  4. 04サービス状態と支出の確認
  5. 05x402エンドポイントの検査
  6. 06セッション上限とdry-runの設定

活用シーン

  1. 01テキストの埋め込みベクトル作成
  2. 02テキストの簡潔な要約
  3. 03質問への短い回答の取得
  4. 04エンドポイントの402支払いチャレンジの確認

MCP 対応

ローカルサーバーとしてstdio経由でMCPクライアントにツールを提供します。有料ツールはBase上のUSDCをx402で決済し、healthとinspectはキー不要です。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"ukenal-x402ai": {
"command": "npx",
"args": [
"-y",
"x402ai-mcp"
],
"env": {
"X402AI_BUYER_PRIVATE_KEY": "<X402AI_BUYER_PRIVATE_KEY>",
"X402AI_MAX_SESSION_USD": "<X402AI_MAX_SESSION_USD>",
"X402AI_DRY_RUN": "<X402AI_DRY_RUN>"
}
}
}
}
起動コマンドnpx -y x402ai-mcp
設定が必要な環境変数
X402AI_BUYER_PRIVATE_KEYシークレットBuyer wallet private key (hex), used only to sign payments locally. Needed only for the paid tools. Use a wallet holding only what you are willing to lose.
X402AI_MAX_SESSION_USDSpending cap per server process in USD (default 0.25).
X402AI_DRY_RUNSet to 1 to quote prices without signing or paying.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmx402ai-mcp0.1.1

ツール

5

掲載時のツール一覧 · 3 日前に更新

パラメーター型必須説明
inputstringはい処理するテキストを "input" として渡します。埋め込みまたは要約するテキスト、あるいは ask の場合は質問を指定します。1~3000 文字。

詳細

x402ai-mcp

AI クライアント(Claude Desktop、Claude Code、Cursor など)が有料の x402ai エンドポイントを呼び出し、x402 プロトコルを通じて Base 上で USDC による従量課金を行えるローカル MCP サーバーです。また、あらゆる x402 エンドポイントを無料で検査できます。

stdio 経由でお使いのマシン上で動作します。購入者キーを渡すと、HTTP 402 の支払いチャレンジごとに USDC の承認に署名し、結果を返します。こちらでホスティングすることはなく、アカウントも不要です。

ツール

ツール料金内容
embed$0.01768 次元のテキスト埋め込み(nomic-embed-text)
summarize$0.02入力テキストの要約(小型のローカル LLM)
ask$0.042~3 文の短い回答。ウェブアクセスや記憶機能はなく、誤ることがあります
health無料x402ai サービスの状態に加え、このセッションの利用額と残りの上限
inspect無料URL を受け取り、402 チャレンジをデコードして、Coinbase の x402 バリデーターと Bazaar の加盟店検索を実行

有料ツールには、最大 3,000 文字の input 文字列を 1 つ渡します。health と inspect にキーは不要です。

始める前に:専用ウォレットを使用してください

このサーバーは、資金を使える秘密鍵を保持します。この用途専用の新しいウォレットを用意し、Base 上で数ドル分を上限として USDC を入金してください。支払う側のガス代は不要(EIP-3009)なため、ウォレットに必要なのは USDC のみで、ETH は不要です。失っても構わないものだけを保有するウォレットを使用してください。ウォレットの残高が、実際の利用上限です。

このパッケージは信頼できますか?

このサーバーでは、金銭を使えるキーが必要です。キーを盗む偽の「x402 MCP」パッケージが報告されています。 この README の記述を鵜呑みにしないでください。以下の主張は確認できるようになっています。

  • このパッケージがキーを送信したり、ログに記録したりすることはありません。 X402AI_BUYER_PRIVATE_KEY から一度だけ読み取られ、支払い承認の署名をローカルで行う目的にのみ使用されます。また、エラーメッセージからは除去されます。サーバーの実行中は、このプロセスの環境とメモリに保持されるため、それらを読み取れるもの(同じプロセス内の他のコード、あなたのユーザーとして実行されている他のプログラム、クライアントの設定ファイル)はキーを読み取れます。プロセス内で変数を消去しても状況は変わりません。Linux では、プロセスの起動時の環境が /proc から読み取れるためです。
  • 接続先のホストはすべて以下のとおりです。 リダイレクトに従ったリクエストは行いません。リダイレクトは拒否され、呼び出しは失敗します。
    • https://api.x402ai.dev:有料ツールと health。署名付き承認を送るのはこのホストだけで、呼び出されたツール固有のルートと価格に限られ、有効期限は300秒以内です。
    • https://api.cdp.coinbase.com:inspect を実行した場合のみ(Coinbase のバリデーターと加盟店の検索)。
    • inspect に渡す URL:1回の無料リクエスト(POST の場合は固定のボディ)。署名は行いません。
  • テレメトリー、分析、更新確認はありません。
  • 小規模で読みやすい構成です。 src/ 内のソースファイルは5つ(約600行)で、tsc によって dist/ にビルドされます。公開パッケージに含まれるのは dist/、この README、LICENSE、package.json のみです。
  • 依存関係のバージョンは固定されています。 直接の依存関係は正確なバージョンに固定されています。インストール時に npm は、それらの依存関係が宣言する範囲内で、依存関係の依存先を新たに解決するため、そちらは固定されていません。リポジトリの package-lock.json には、テスト済みの正確な組み合わせが記録されています。依存関係でインストールスクリプトが実行されることはありません。すべての依存関係について、npm レジストリの署名が検証済みです(npm audit signatures)。x402 クライアントは @x402/fetch 2.28.0 で、コード内に支払いごとの上限が設定されています。
  • 支出保護機能は、正常なコードによる使いすぎを防ぐものであり、悪意のあるパッケージには効果がありません。 そのため、上記の項目を確認できるようにしています。

確認方法: 公開ファイルとソースを比較してください(npm pack x402ai-mcp@<version> で、調査用の正確な tarball をダウンロードできます)。パッケージ名が正確に x402ai-mcp であることを確認し、src/ を読んでください。

資金のあるキーを使うクライアントで、精査されていない MCP サーバーを実行しないでください。 別の MCP サーバーを含め、あなたのユーザーとして実行される他のプログラムは通常、このプロセスの環境や、キーが平文で保存されているクライアントの設定ファイルを読み取れます。

インストール

Node.js 20 以降が必要です。たとえば、MCP クライアントの設定に追加します。

{
  "mcpServers": {
    "x402ai": {
      "command": "npx",
      "args": ["-y", "x402ai-mcp"],
      "env": {
        "X402AI_BUYER_PRIVATE_KEY": "0x...",
        "X402AI_MAX_SESSION_USD": "0.25"
      }
    }
  }
}

ほとんどのクライアントでは、このファイルは平文で保存されるため、キーは暗号化されずにディスク上に置かれます。残高の少ない専用ウォレットを使うべき理由が、もう1つ増えることになります。

キーを使わず、支出もせずに試すには、X402AI_DRY_RUN=1 を設定します。この場合、有料ツールは支払う予定の価格を返すだけで、署名は一切行いません。

設定

変数デフォルト意味
X402AI_BUYER_PRIVATE_KEYなし購入者キー(16進数)。有料ツールにのみ必要です。ログには記録されず、エラーメッセージから除去されます。
X402AI_MAX_SESSION_USD0.251つのプロセスでサーバーが支出できる合計額です。無効な値の場合、起動時に停止します。
X402AI_DRY_RUNオフ1 = 見積もりのみ。署名は行いません。キーは不要です。

サーバーは stderr にのみログを出力します(stdout には MCP プロトコルが出力されます)。起動時には、キーが設定されているかどうか、購入者のアドレス、セッション上限が表示されます。

支出の安全対策

  • 決済ごと: 署名する前に、各有料ツールはチャレンジが Base のメインネット、USDC、x402ai の決済アドレス、および そのツール専用のルート を対象としており、そのルートの価格以下であることを確認します。それ以外はすべて拒否されます。二段階目の確認として、決済ごとの上限額 $0.04 が適用されます。
  • 有効期間の短い認証: 有効期間が 300 秒を超える認証を要求するチャレンジは、署名前に拒否されます。そのため、漏えいした認証が長時間使われ続けることはありません。
  • セッションごと: 各決済試行の金額は、署名前に X402AI_MAX_SESSION_USD に対して予約されます。上限に達すると、サーバーを再起動するまで有料ツールは拒否されます。
  • セッション上限はプロセスごとです。 メモリ上でカウントされ、サーバーの再起動時にリセットされます。また、同じウォレットを使っていても、サーバーの実行中の各コピーにはそれぞれ独自の上限が適用されます。唯一の確実な上限はウォレット残高です。失ってもよい金額だけを入金してください。
  • 上限額に上限はありません。 250 のような入力ミスは、$250 を意味します。常に有効な最後の防衛線となるのは、ウォレット残高です。

知っておくべきこと

  • 呼び出しに失敗しても、カウントされる場合があります。 決済に署名した後にサーバーがエラーを返した場合、署名済みの認証は決済に使われる可能性があるため、予約額は保持されます。x402ai のハンドラーが失敗した場合、請求は発生しませんが、セッション上限では試行分を使用済みとして扱います。
  • inspect は指定された URL を Coinbase の CDP(バリデーターおよび販売者の検索)に送信します。 非公開にしておきたい URL は検査しないでください。
  • inspect はローカルアドレスとプライベートアドレスを拒否します(ループバック、プライベート範囲、リンクローカル、CGNAT、IPv6 ULA、および IPv6 形式にラップされた IPv4 アドレス)。DNS 解決後に確認します。https のみ許可されます。 確認からリクエストまでの間に DNS が変更される可能性(DNS リバインディング)は残ります。
  • ツールの出力は信頼できないデータとして扱ってください。 回答や要約は小規模なモデルによるもので、誤っている場合があります。また、検査対象のエンドポイントからの応答はサードパーティーのコンテンツです。これらをエージェントへの指示として実行させないでください。
  • レイテンシ: embed は通常 1 秒未満です。summarize と ask は約 5~15 秒かかります(CPU 推論)。
  • Claude Code ではツールスキーマの読み込みが遅れることがあります。 Claude Code はデフォルトで MCP ツールスキーマの読み込みを遅らせるため、ツールの最初の呼び出しで、誤った引数や空の引数が送信される場合があります。Claude Code を ENABLE_TOOL_SEARCH=false を指定して起動すると、スキーマが起動時に読み込まれます。

ライセンス

MIT。Coinbase または x402 Foundation とは提携していません。

コメント

MCP は初めてですか?

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

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