ガイド
レシピ:有料 MCP サーバー
MCP サーバーのツールに、呼び出しごとにクレジットで課金。人がパックを一度購入し、各呼び出しはまず差し引いてから処理します。
エージェントが自分で支払う必要はありません。人がブラウザでクレジットパックを購入し、その後はツールの呼び出しごとに残高を確認し、冪等キー付きでクレジットを差し引いてから処理します。クレジットがなければ、ツールはチャージのリンクを返し、エージェントがそれを人に見せます。x402 なし、エージェントにウォレットなし、自動請求なし。
paid-mcp-tools スキルがあなたのプロジェクトで実行します。動くサンプルは、プラグインのリポジトリの examples/paid-mcp-server(MIT)です。仕組み
- 1
クレジットパック
API クレジットと同じ。各ツールに価格を付け、その説明に書きます。
- 2
呼び出し元
ホスティングしたサーバーが、各利用者の API キーを顧客の
external_idに対応付けます。PERLY_PAY_SECRET_KEYはあなたのサーバーにだけあります。 - 3
まず差し引き、それから処理
ツール名を
actionに、サーバーが呼び出しごとに作る新しいキーでcredits.consume、そして処理。 - 4
足りない?
プロトコルのエラーではなく、
isError: trueとチャージのリンク付きのツール結果を返してください:クライアントがそれを表示します。 - 5
無料のヘルパー
balanceとtop_upのツールで、エージェントが状況を説明できるように。
サンプルを動かす
- 1
インストール
examples/paid-mcp-serverでnpm install(Node 20.12+)。 - 2
キー
.env.exampleを.envにコピーし、PERLY_PAY_SECRET_KEYにテストキー(sk_test_…)を書きます。 - 3
準備
npm run setupがあなたのキーで商品と価格を作成し、.env用にその ID を表示します。 - 4
起動
README のとおり
npm start(またはnpm run dev)。 - 5
ウォレットなしで支払う
Claude Code に追加し(
claude mcp add paid-tools -- npx tsx "$PWD/src/server.ts")、word_statsを実行します:返答はチャージページです。パックを選び、Simulate payment を押して、もう一度実行します。
落とし穴
- 他人がコピーする MCP の設定に
PERLY_PAY_SECRET_KEYを入れること。サーバーを自分でホスティングするか、あなたのバックエンドを呼ばせてください。 - 処理の後に差し引くこと:差し引きに失敗すると、無料で処理したことになります。
- JSON-RPC の ID を消費のキーにすること:ID はクライアントが選び、同じ ID は最初の消費を返すため、ツールが再び無料で動きます。