three.ws 3D Agent Tools について
three.ws 3D Agent Toolsは、AIエージェント向けに3D生成・モデル操作と暗号資産市場情報を提供するMCPサーバーです。無料ツールと、Solana上のUSDCで都度決済する機能があります。
主な機能
- 01テキストからの3D GLB生成
- 02画像からの3D生成と自動リギング
- 03モデルの調整とマテリアル変更
- 04暗号資産ニュースと市場分析
- 05Solanaトークンとエージェント向けツール
活用シーン
- 01プロンプトから3Dモデルを生成してプレビュー
- 02静的なGLBをアニメーション対応モデルに変換
- 03暗号資産ニュースとトークン市場データの追跡
MCP 対応
3D生成・編集、暗号資産ニュース、オンチェーン市場情報のツールをMCPクライアントに公開します。一部は無料で、その他はSolana上のUSDCによる都度決済です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @three-ws/mcp-serverMCP_SVM_PAYMENT_ADDRESSSolana address that receives USDC when a client pays for a tool call (falls back to X402_PAY_TO_SOLANA / X402_PAY_TO). Required to settle paid tools.SOLANA_RPC_URLSolana mainnet RPC endpoint. Defaults to the public cluster — bring your own (Helius / Quicknode / Triton) for production traffic.HELIUS_API_KEYシークレットOptional Helius API key — enables exact supply and richer DAS data in pump.fun snapshots.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
@three-ws/mcp-server
three.ws の MCP ツール — 無料のテキスト→3D生成に加え、有料のテキスト/画像→3D生成、アバター、リギング、エージェントの評判などに対応します。有料の呼び出しは、1回ごとに USDC で決済されます。
クイックスタート · ツール · 設定 · プログラムからの利用 · 支払い · three.ws
three.ws の MCP ツールです。最初に使う際、6つのツールは支払い、ウォレット、API キーが不要です:
forge_free(無料の NVIDIA NIM/Microsoft TRELLIS 経由のテキストプロンプト→3D GLB)、vanity_premium(事前に生成されたプレミアム vanity インベントリの閲覧)、および暗号資産ニュース関連(crypto_news、crypto_news_digest、news_resolve、crypto_news_archive。アーカイブ検索は1日の上限までは無料で、以降は x402 経由で検索ごとに $0.001 USDC)。その他は有料です。テキスト/画像からの3Dメッシュ生成、3D アバター、テキストからリギング済みアバターを1回の呼び出しで生成、GLB の自動リギング、会話によるモデルの調整、マテリアルのスタイル変更、ポーズシード、pump.fun のスナップショット、ERC-8004 エージェントの評判、ENS/SNS の解決、エージェント間の委任とエージェントのエンドツーエンド採用、トークンのセンチメント、AgenC の連携情報の読み取り、aixbt の市場情報、Solana vanity グラインダーに対応します。有料の呼び出しは、Solana メインネット上の x402 決済プロトコル(exactスキーム)を通じて USDC で決済されます。サブスクリプションも API キーも不要で、呼び出しごとに支払い、失敗した呼び出しに料金が請求されることはありません。
クイックスタート(30秒)
Claude Code
claude mcp add 3d-agent -- npx -y @three-ws/mcp-server
支払いの受け取りも有効にする場合(サーバー運用者向け)、環境変数として受取先アドレスを渡します:claude mcp add 3d-agent -e MCP_SVM_PAYMENT_ADDRESS=YourSolanaWallet -- npx -y @three-ws/mcp-server。
Claude Desktop
Claude Desktop の設定ファイル(macOS では ~/Library/Application Support/Claude/claude_desktop_config.json、Windows では %APPDATA%\Claude\claude_desktop_config.json)に、以下を貼り付けます。
{
"mcpServers": {
"3d-agent": {
"command": "npx",
"args": ["-y", "@three-ws/mcp-server"],
"env": {
"MCP_SVM_PAYMENT_ADDRESS": "YourSolanaWallet"
}
}
}
}
Claude Desktop を再起動します。インストール手順なしですぐにすべてのツールが表示されます。
ツール
以下に26個すべてのツールを一覧表示します。ほとんどのツールは固定の USDC 価格を提示し、Solana メインネット上で exact により決済されます(以下の価格は各ツールのソースから直接取得したものです)。forge_free、vanity_premium、crypto_news、crypto_news_digest、news_resolve は無料で、支払い、ウォレット、API キーは不要です。また、crypto_news_archive の検索は1日の上限までは無料です(統計/トレンドは常に無料)。すべてのツールは MCP ツールのアノテーション(readOnlyHint、destructiveHint、idempotentHint、openWorldHint)も宣言するため、クライアントは確認プロンプトを適切に設定できます。これらのツールに破壊的なものはありません。
3D 生成
| ツール | 価格 | 返される内容 |
|---|---|---|
forge_free | 無料 | テキストプロンプトから無料でテクスチャ付きの 3D GLB を生成します。無料の NVIDIA NIM(Microsoft TRELLIS)テキスト→3D レーンで、three.ws の /api/forge パイプラインを実行します。プロンプトの下書きに使われる、/forge Web ページと同じエンジンです。x402 決済、ウォレット、API キーは不要です。draft(高速、デフォルト)、standard、high のいずれかのティアを選択できます。すべて無料です。永続的な glbUrl、three.ws ビューアーの preview リンク、tier、実際に実行された backend を返します。テキスト入力のみです。画像/マルチビュー入力や Granite が指示するチェーンには mesh_forge を使用してください。アニメーション化するには、glbUrl を rig_mesh に渡します。 |
mesh_forge | $0.25 | テキストプロンプトまたは参照画像からテクスチャ付きの 3D GLB を生成します。テキストモードでは、専門モデルのチェーンを実行します。IBM Granite の「プロンプトディレクター」がプロンプトを最適化された単一オブジェクトの 3D 仕様に書き換え、FLUX が参照画像を生成し、Microsoft TRELLIS/Tencent Hunyuan3D がメッシュを再構築します。画像モード(image_url)では、画像から直接再構築します。永続的な glbUrl、three.ws ビューアーの preview、directedPrompt、処理時間を返します。 |
rig_mesh | $0.20 | 静的な GLB に自動でリギングを施し、アニメーション対応モデルにします。Make-It-Animatable を介して、ヒューマノイド骨格と頂点ごとのスキンウェイトを付与します。glb_url(例:mesh_forge の出力)を受け取り、riggedGlbUrl と three.ws のポーズスタジオへのリンクを返します。 |
forge_avatar | $0.45 | テキスト/画像から、リギング済みのアニメーション対応アバターを 1 回の呼び出しで生成します。 パイプライン全体を連結します。Granite プロンプトディレクター → FLUX + TRELLIS/Hunyuan3D による再構築 → Make-It-Animatable によるリギングを実行するため、生成結果はポーズスタジオにそのまま読み込まれ、標準のアイドル/歩行アニメーションライブラリを再生できます。prompt、単一の image_url、またはより高精細なマルチビュー用の 1~4 個の image_urls(正面/背面/左/右)を受け取ります。ヒューマノイド判定により、明らかにヒューマノイドではない対象は課金せずに拒否されます(その場合は mesh_forge/forge_free を使用するか、allow_non_humanoid を設定してください)。リギング済み GLB、中間メッシュ、ポーズスタジオへのリンク、指示済みプロンプト、ステージごとの処理時間を返します。 |
text_to_avatar | $0.15 | テキストプロンプトまたは参照画像 URL から、テクスチャ付きの 3D GLB アバターを生成します。デフォルトでは Replicate(Hunyuan-3D 3.1)を実行します。GLB URL、モデルのバージョン、予測 ID、処理時間を返します。 |
refine_model | $0.25 | 変更内容を平易な言葉(「金属製にする」「ヘルメットを大きくする」など)で記述して、モデルを改良します。前のモデルを基準にした新しいバージョンを再生成します(以前のプロンプトに変更内容を組み合わせます。任意の参照画像を指定すると、画像→3D の生成でそれを基準にできます)。実際に生成を行い、差分を偽装することはありません。各改良は不変の親→子バージョンの系譜に追加されるため、以前のバージョン(parent_index)から分岐したり、元に戻したりできます。スレッドを延長するには parent_lineage を渡してください。新しい GLB、ビューアーへのリンク、合成済みプロンプト、系譜、アクティブなバージョンのインデックスを返します。 |
restyle_material | $0.05 | メッシュを再生成せずに既存の GLB のスキンを変更します(ジオメトリと UV は完全に保持されます)。モードは 2 つあります。AI が PBR マテリアルを提案する instruction(「クロームにする」「サイバーパンク風のネオン」など)と、再現可能な N 種類のカラーバリエーションを生成する preset(+ seed/count)です。同じプリセットとシードを指定すると、常に同じセットが生成されます。refine_model の系譜を共有するため、スタイル変更も 1 つのバージョンとして追加されます。ソース GLB が変更されることはありません。永続的な GLB URL(複数の場合あり)、適用された PBR ファクター、系譜を返します。 |
get_pose_seed | $0.001 | リポジトリ内のプリセットライブラリから一致するものを選び、three.ws ポーズスタジオのマネキン向けに、決定論的なシードと完全なオイラー回転のポーズマップ(ラジアン)を返します。https://three.ws/pose?seed=…&preset=… にある previewUrl も含まれます。 |
Solana & markets
| ツール | 価格 | 返される内容 |
|---|---|---|
pump_snapshot | $0.005 | トークンのライブスナップショット — USD価格(Jupiter)、24時間の取引高とペア(Dexscreener)、ミントのメタデータと画像(pump.fun frontend-api-v3)、オンチェーンの上位保有者の分布(Solana RPC)。HELIUS_API_KEY が設定されている場合は、Helius DAS のデータも追加されます。 |
sentiment_pulse | $0.003 | Solanaトークンのセンチメント:three.wsの決定論的な語彙データを使い、最近のpump.funでの言及(および任意でユーザーが提供したスニペット)からコインのスコアを算出します。全体の内訳とソースごとの内訳を、例とともに返します。pump_snapshot と組み合わせて利用できます。 |
vanity_grinder | $0.05 | base58アドレスが prefix で始まる(任意で suffix で終わる)Solanaキーペア。完全なbase58秘密鍵を返します — 秘密情報として扱ってください。定額料金(MCP_VANITY_PRICE_USD で上書き可能)です。難易度ガードにより、反復上限内に生成できない長さのプレフィックスは拒否されます。 |
vanity_premium | 無料 | プレミアムなバニティアドレスの在庫を閲覧できます。長い(4~5文字以上)ブランド向けのSolanaアドレスを事前にバッチ処理でCPU生成して在庫として販売するもので、ライブグラインダーでは生成できません。読み取り専用で無料です。各アドレス、レア度、難易度に応じた価格(1~50ドル)、すぐに支払いに使えるx402の buyUrl を返します。このURLで支払う(BaseまたはSolana上のUSDC)と、秘密鍵が一度だけ開示され、配信時に暗号文は破棄されます。プレフィックスまたはレア度で絞り込み、レア度・価格・新着順で並べ替えられます。鍵はプラットフォームが生成したものです。トークンのミントとして使うか、自分で生成したカストディ用アドレスにスイープしてください。トレジャリーには使用しないでください。 |
aixbt_intel | $0.01 | aixbtのナラティブ・インテリジェンスフィード — カテゴリ、説明、観測件数、公式ソースのフラグ、対象プロジェクト/ティッカーを含む、暗号資産全体の最新インテリジェンス項目です。カテゴリ/チェーンで絞り込めます。ライブのaixbt REST APIを使用します。 |
aixbt_projects | $0.01 | aixbtのモメンタムスキャン — 急上昇/上昇中/アクティブのスコア順にランク付けされたプロジェクトと、ティッカー、チェーン、市場指標(価格、時価総額、24時間の取引高と変化率)、最新インテリジェンスを返します。名前またはチェーンで絞り込めます。ライブのaixbt REST APIを使用します。 |
crypto_news | 無料 | 17言語、197の発行元のRSS/Atomフィードからthree.wsが独自に集約した、暗号資産の最新見出し。カテゴリ、ソース、言語で絞り込むか、全文検索できます。各記事には発行元へのリンク、公開時刻、検出されたティッカー、語彙データによるセンチメントが含まれます。支払いもキーも不要です。 |
crypto_news_digest | 無料 | 過去1~72時間のニュースを個別のナラティブに分類し、タイトル、平易な言葉での要約、強気/弱気の見解、ティッカー、記事数、各ストーリーの元となったすべての実際の記事を返します。エンジンを正確に明示します(llm による意味的なグループ化、または heuristic によるJaccardクラスタリング)。支払いもキーも不要です。 |
news_resolve | 無料 | 記事URLを1つ指定すると、範囲を限定したリード抜粋、要約、要点、ティッカー、構造化されたトレード分析(影響を受ける資産とそのエクスポージャーおよび方向性、priced_in、horizon、必須の反論)を返します。発行元が取得をブロックしている場合は、Internet Archive、見出しで言及されているSEC EDGARの提出書類、または記事を扱う他のメディアからストーリーを復元し、その取得経路を extraction で報告します。発行元の記事本文全体は返しません。full_text_url には元記事のURLが設定されます。 |
crypto_news_archive | 無料枠 | 2017年9月まで遡る66万件以上のアーカイブ記事を、キーワード、ティッカー、ソース、日付範囲、センチメント、言語で検索できます(1時間ごとに更新)。取得済みの場合は、公開時点の市場コンテキストも含まれます。コーパス統計と最も多く取り上げられたティッカーを確認できる mode: stats と mode: trending は、常に無料でキーも不要です。検索には1日あたりの無料枠(IPごとに60回)があり、枠を使い切るとHTTP APIでx402を通じて検索1回につき0.001 USDCが必要になります。無料枠を使い切った場合は、価格とネットワークを示す payment_required エンベロープが返されます。 |
エージェントとアイデンティティ
| ツール | 価格 | 返される内容 |
|---|---|---|
agent_reputation | $0.01 | ERC-8004 の評判情報:要求されたチェーン(デフォルトは Base)の正規 ReputationRegistry から、getReputation、getTotalStake、最新の ReputationSubmitted / ReputationStaked イベントを取得します。ウォレットアドレスから agentId を自動的に解決します。 |
agent_delegate_action | $0.01 | three.ws に登録されたエージェントにメッセージを送信し、その応答を受け取ります(設定済みの Claude モデルとシステムプロンプトを使用します)。MCP 委任をオプトアウトしたエージェントへの委任は拒否されます。エージェント間の連携とツールの組み合わせに使用します。 |
agent_hire_discover | $0.01 | コマースループのステップ 1。 タスクへの適合度、最新の ERC-8004 オンチェーン評判、実際のエンゲージメントに基づいて順位付けした、タスクを依頼する three.ws エージェントの候補を 3 件提示します。各候補には、評判の根拠、能力・タスク適合スコア、agent_hire で決済する正確な USDC 価格が含まれます。任意で最小評判を条件にできます。 |
agent_hire | $0.05 | ステップ 2。 エージェントへの依頼を最初から最後まで実行します。事前に価格を提示し、x402 経由で実際の USDC を決済してリモートエージェントを実行し、結果に加えて、出所証明レシート(エージェント、評判、支払額、オンチェーン決済参照情報、レイテンシー)をインライン MCP Apps レシートカードとして返します。支出上限(呼び出しごとの MCP_AGENT_HIRE_MAX_PER_CALL_USD、セッションごとの ..._PER_SESSION_USD)、confirm のしきい値、任意の最低評判基準を適用します。依頼がブロックされた場合や失敗した場合、呼び出し元に請求されることはありません。MCP_AGENT_TALK_TOKEN が必要です。 |
ens_sns_resolve | $0.0005 | ENS(.eth → ethers 経由で Ethereum アドレス)と SNS(.sol → Bonfida 経由で Solana の所有者ウォレット、およびそのウォレットが所有するほかの .sol ドメイン)を対象に、人が読める名前を解決します。サフィックスのない名前は、両方で検索されます。 |
agenc_list_tasks | $0.001 | Solana ウォレットが作成したすべての公開 AgenC タスクを一覧表示します。タスク PDA、状態、報酬、期限、ワーカー数、報酬ミントが含まれます。AgenC(agenc.tech、Tetsuo Corp)は Solana のタスク調整プロトコルです。cluster のデフォルトは mainnet です。 |
agenc_get_task | $0.001 | 単一の AgenC タスクのオンチェーン状態とライフサイクルのタイムラインです。taskPda または {creator, taskId}(16 進数または任意の UTF-8 ラベル)を指定します。状態、報酬、期限、ワーカー数、ライフサイクルイベント、報酬ミントを返します。 |
agenc_get_agent | $0.001 | AgenC エージェントのオンチェーン登録情報です。agentPda または agentId(16 進数または UTF-8 ラベル)を指定します。権限ウォレット、機能ビットマスク、エンドポイント URL、ステータス、評判、ステーク、アクティブなタスク数を返します。 |
インストール
サーバーはお使いのマシン上でローカルに実行され、stdio JSON-RPC で通信します。上記の npx コマンドを使って、MCP クライアントが自動的にサーバーを起動します。npm install をグローバルに実行する必要はありません。
グローバルにインストールする場合:
npm install -g @three-ws/mcp-server
その後、設定の "command": "npx", "args": ["-y", "@three-ws/mcp-server"] を "command": "3d-agent-mcp" に置き換えます。
環境変数
支払い(支払いを自分で受け取る場合は設定してください)
| 変数 | 説明 |
|---|---|
MCP_SVM_PAYMENT_ADDRESS | ツールが支払いを受け取る Solana USDC の支払い先アドレス(base58)です。X402_PAY_TO_SOLANA / X402_PAY_TO にフォールバックします。未設定の場合もサーバーは起動し、有料呼び出しの USDC は three.ws プラットフォームの支払い先に送られます — 支払いを自分で受け取るには、32〜44 文字の base58 ウォレットを設定してください。設定されたアドレスの形式が不正な場合は、起動時にエラーになります。 |
任意
| 変数 | デフォルト | 説明 |
|---|---|---|
HELIUS_API_KEY | unset | pump_snapshot に Helius DAS のエンリッチメントを追加します |
SOLANA_RPC_URL | https://api.mainnet-beta.solana.com | pump_snapshot / AgenC の読み取りに使用するプライマリ Solana RPC |
SOLANA_RPC_URLS | built-in public set | フェイルオーバー — 順番に試行する、カンマ区切りの Solana RPC。一番目に正常応答したものが応答します |
MCP_EVM_RPC_<chainId> | built-in public set | フェイルオーバー — 対象チェーンのカンマ区切りの EVM RPC(agent_reputation、ENS はチェーン 1 を使用) |
X402_FACILITATOR_URL_SOLANA | https://facilitator.payai.network | 支払いを検証して決済する、プライマリ PayAI Solana ファシリテーター |
X402_FACILITATOR_URLS_SOLANA | unset | フェイルオーバー — カンマ区切りのファシリテーター。初期化時は先に記載されたものが優先され、後続のものが障害時をカバーします |
X402_FACILITATOR_TOKEN_SOLANA | unset | 必要な場合に使用する、Solana ファシリテーターのベアラートークン |
X402_FEE_PAYER_SOLANA | three.ws default | 決済トランザクションの手数料支払者 |
MCP_VANITY_PRICE_USD | $0.05 | vanity_grinder の固定価格 |
FORGE_FREE_API_BASE | https://three.ws | 無料の forge_free ツールが呼び出す three.ws のオリジン(/api/forge) |
FORGE_FREE_TIMEOUT_MS | 180000 | 再開可能な timeout を返すまでの、forge_free のポーリング時間上限 |
FORGE_FREE_POLL_MS | 3000 | キューに入ったジョブの実行中における forge_free のポーリング間隔 |
FORGE_FREE_ATTEMPTS | 2 | NVIDIA のレーンが劣化した場合に、永続的な結果を優先するための forge_free の最大生成回数(1~4)。デッドと確定した URL を成功として返すことはありません |
MCP_REVIEW_SECRET | unset | レビュー利用資格。 設定すると、一致する MCP_REVIEW_MODE を提示した呼び出し元は、実際の有料ツールを課金なしで実行できます(コネクターのレビューアクセス)。設定されていない限り無効で、通常のインストールでは決して回避できません |
MCP_REVIEW_MODE | unset | 上記のレビュー利用資格を有効にするには、サーバーの MCP_REVIEW_SECRET と一致する必要があるクライアント側の値 |
MCP_POSE_PREVIEW_BASE | https://three.ws/pose | get_pose_seed のプレビューリンクのベース URL |
MCP_AGENT_TALK_TOKEN | unset | /api/agents/talk に提示するプラットフォームサービスの認証情報(api_keys ベアラー、スコープ agents:delegate)。agent_hire / agent_delegate_action ツールが使用します。このエンドポイントはプラットフォームの LLM クレジットを消費し、プリンシパルが必要です — このトークンがない場合、有料の雇用による委任は 401 となり、x402 の支払いはキャンセルされます(雇用したエージェントは成果を届けられません)。 THREE_WS_MCP_TOKEN / MCP_SERVICE_TOKEN にフォールバックします |
MCP_AGENT_HIRE_PRICE_USD | $0.05 | agent_hire が雇用ごとに決済するプラットフォームの委任手数料 |
MCP_AGENT_HIRE_MAX_PER_CALL_USD | $1 | 1 回の呼び出しあたりの厳格な支出上限 — これを超える雇用は、支払いの前に拒否されます |
MCP_AGENT_HIRE_MAX_PER_SESSION_USD | $5 | 1 つの接続における、セッションごとの累積支出上限 |
MCP_AGENT_HIRE_CONFIRM_THRESHOLD_USD | $0.50 | この金額以上の雇用には、明示的な confirm: true が必要です |
MCP_AGENT_HIRE_MIN_REPUTATION | 0 | 雇用に対するデフォルトの ERC-8004 評判の下限(0 = 制限なし。呼び出し元は呼び出しごとに引き上げられます) |
MCP_AGENT_REP_RPC_<chainId> | public RPC | agent_reputation 用のチェーンごとの RPC オーバーライド(フェイルオーバーセットより先に試行されます) |
MCP_AGENT_REP_LOG_WINDOW | 200000 | agent_reputation のイベントスキャンに使用するブロック範囲 |
X402_ASSET_MINT_SOLANA | USDC (EPjFW…Dt1v) | 支払い資産として決済される SPL ミント(デフォルトは Solana USDC) |
SOLANA_DEVNET_RPC_URL | public devnet | cluster: "devnet" の場合に AgenC ツールが使用する Devnet RPC |
AGENC_RPC_URL | unset | すべての AgenC 読み取りに対する単一エンドポイントのオーバーライド(クラスターのデフォルトより優先) |
MCP_ENS_RPC_URL / MAINNET_RPC_URL | failover set | ens_sns_resolve 用の Ethereum メインネット RPC オーバーライド |
MESH_FORGE_TIMEOUT_MS / MESH_FORGE_POLL_MS | 180000 / 3000 | mesh_forge の再構築におけるポーリング時間上限/間隔 |
MESH_FORGE_DIRECTOR | 1 (on) | 0 に設定すると、mesh_forge の IBM Granite プロンプトディレクター段階をスキップします |
RIG_MESH_TIMEOUT_MS / RIG_MESH_POLL_MS | 180000 / 3000 | rig_mesh のポーリング時間上限/間隔 |
text_to_avatar (Replicate)
text_to_avatar ツールは Replicate を使用します。以下の 2 つの変数が設定されていない場合、生成を行う代わりに not_configured エラーを返します。それ以外のすべてのツールは、これらの変数がなくても動作します。
| 変数 | デフォルト値 | 説明 |
|---|---|---|
REPLICATE_API_TOKEN | 未設定(必須) | 予測の送信に使用する Replicate API トークン |
REPLICATE_TEXT_TO_AVATAR_MODEL | 未設定(必須) | 商用利用可能な画像/テキストから 3D への固定バージョンハッシュ(例:Hunyuan-3D 3.1) |
MCP_TEXT_TO_AVATAR_TIMEOUT_MS / MCP_TEXT_TO_AVATAR_POLL_MS | 110000 / 2000 | 予測のポーリング時間枠/間隔 |
MCP_TEXT_TO_AVATAR_REHOST | 0 | 1 に設定すると、MCP_REHOST_ENDPOINT と MCP_REHOST_KEY を介して Replicate の GLB を three.ws R2 に再ホストします |
プログラムからのクライアント利用
別の Node サービスからこれらのツールを呼び出すには、@x402/mcp の wrapMCPClientWithPayment を使用します。このラッパーが 402 の再試行を自動的に処理します。
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
import { StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js';
import { wrapMCPClientWithPayment } from '@x402/mcp';
import { x402Client } from '@x402/core/client';
import { registerExactSvmScheme } from '@x402/svm/exact/client';
import { Keypair } from '@solana/web3.js';
import bs58 from 'bs58';
const transport = new StdioClientTransport({
command: 'npx',
args: ['-y', '@three-ws/mcp-server'],
env: {
// Where the server receives USDC. Your client funds payments from the
// Solana keypair below.
MCP_SVM_PAYMENT_ADDRESS: process.env.MCP_SVM_PAYMENT_ADDRESS,
},
});
const mcp = new Client({ name: 'agent', version: '1.0.0' });
await mcp.connect(transport);
// Solana mainnet, `exact` scheme — the only network/scheme these tools accept.
const payer = Keypair.fromSecretKey(bs58.decode(process.env.AGENT_SOLANA_SECRET_KEY));
const x402 = new x402Client();
registerExactSvmScheme(x402, { signer: payer });
const paid = wrapMCPClientWithPayment(mcp, x402, { autoPayment: true });
const result = await paid.callTool('get_pose_seed', { prompt: 'warrior stance' });
// Prefer MCP structured output; fall back to the text mirror for older servers.
console.log(result.structuredContent ?? JSON.parse(result.content[0].text));
forge_free は 402 を返さないため、支払い元は不要です。そのため、wrapMCPClientWithPayment を適用する前の ベア MCP クライアントから呼び出せます。
// Free text → 3D — no wallet, no payment, no API key.
const free = await mcp.callTool('forge_free', { prompt: 'a glossy white robot mascot', tier: 'draft' });
const out = free.structuredContent ?? JSON.parse(free.content[0].text);
console.log(out.glbUrl, out.preview); // durable GLB + in-browser viewer link
Cursor
Cursor の MCP 設定(Cursor > Settings > Features > MCP)で設定します。
{
"mcpServers": {
"3d-agent": {
"command": "npx",
"args": ["-y", "@three-ws/mcp-server"],
"env": {
"MCP_SVM_PAYMENT_ADDRESS": "YourSolanaWallet"
}
}
}
}
ソースから実行
モノレポのルートから実行します。
npm install
node mcp-server/src/index.js
ツールを対話的に確認します。
npm run inspect --prefix mcp-server
使用例
稼働中の three.ws サーバーに対する MCP Streamable HTTP のライフサイクルを、curl と依存関係なしのプレーンな fetch を使う Node で実行できる手順は、examples/ にあります。
支払いフロー
このサーバーは x402 の リソースサーバー です。各ツール呼び出しでは、次の処理が行われます。
- クライアントが
tools/callリクエストを送信します(まだ支払いは行われません)。 - サーバーが、USDC の金額と支払い先アドレスを含む
PaymentRequired(v2 MCP トランスポート仕様)を返します。 - 支払い対応クライアント(または
wrapMCPClientWithPayment)が、オンチェーン支払いに署名して送信します。 - クライアントが
_meta["x402/payment"]を付けてtools/callを再試行します。 - サーバーが設定済みのファシリテーターを通じて検証と決済を行い、ツールを実行して、結果を
_meta["x402/payment-response"]とともに返します。
すべてのツールは、exact スキームで Solana mainnet 上の USDC による決済を行います(@x402/svm は upto/従量課金スキームを提供していません)。各ツールの価格は固定で、事後の従量課金はありません。
成功した結果には、ツールの JSON が 2 つの形式で含まれます。テキストのみのクライアント向けの content[0].text と、そのまま使えるオブジェクトである structuredContent(MCP 2025-06-18 の構造化出力)です。ツールレベルのエラーが発生すると isError: true が設定され、x402 ラッパーは支払いを決済せず キャンセル するため、呼び出しに失敗しても呼び出し元に請求されません。
信頼性とフェイルオーバー
すべての外部依存関係にはバックアップ経路があるため、プロバイダーが一時的に停止してもツール全体が停止することはありません。また、有料リクエストが無期限にハングすることもありません。
- すべてのアウトバウンド HTTP 呼び出しは、共通の堅牢化レイヤー(
src/lib/resilient-fetch.js)を経由します。試行ごとの厳格なタイムアウトに加え、一時的な429/5xx/ネットワークエラーに対してジッター付きの指数バックオフで再試行し、Retry-Afterに従います。デフォルトでは、再試行は冪等な読み取りに限定されます。agent_delegate_actionのような非冪等なアクションにはタイムアウトが適用されますが、暗黙に再実行されることはありません。 - Solana RPC(
src/lib/solana-rpc.js)は、順序付きのエンドポイントリスト(SOLANA_RPC_URLS、未設定の場合はプライマリ、さらに未設定の場合は組み込みのパブリックセット)に対してフェイルオーバーします。スロットリング中または停止中のエンドポイントはリストの末尾に移動し、次のエンドポイントが応答します。 - EVM RPC(
src/lib/evm-rpc.js)は、各チェーンの複数のエンドポイント(MCP_EVM_RPC_<chainId>または組み込みの冗長構成)を対象とする ethers のFallbackProvider(クォーラム 1)を使用し、各リクエストにタイムアウトを設けます。 - x402 ファシリテーターは、カンマ区切りの
X402_FACILITATOR_URLS_SOLANAを受け付けます。初期化時は先に記載されたエントリーが優先され、プライマリの/supportedに到達できない場合は、後続のファシリテーターが Solana のexact種別を処理します。 - データのフォールバック:
pump_snapshotは、Jupiter を利用できない場合に Dexscreener から USD 価格を補完します。また、各アップストリームの障害は全体のスナップショットを失敗させず、null/{ error }フィールドとして処理されます。
冗長性を最大限に高めるには、パブリックのデフォルトに頼らず、専用のエンドポイントを設定してください。
SOLANA_RPC_URLS="https://your-primary-rpc,https://your-secondary-rpc"
MCP_EVM_RPC_8453="https://your-base-rpc,https://base-rpc.publicnode.com"
X402_FACILITATOR_URLS_SOLANA="https://facilitator.payai.network,https://your-backup-facilitator"
アーキテクチャ
┌─────────────────┐ ┌─────────────────────┐ ┌──────────────────────┐
│ Claude Desktop │────▶│ @three-ws/mcp-server │────▶│ x402 facilitator │
│ / Cursor / │ │ (stdio transport) │ │ (PayAI — Solana │
│ your agent │ │ │ │ USDC, exact) │
└─────────────────┘ └─────────────────────┘ └──────────────────────┘
ソース:mcp-server/
要件
- Node.js >= 20(
enginesの指定による)。 - 有料呼び出しの決済に使用する Solana USDC の支払い先アドレスを
MCP_SVM_PAYMENT_ADDRESS(またはX402_PAY_TO_SOLANA/X402_PAY_TO)に設定してください。環境変数を参照してください。ツールの登録(名前/スキーマ)には環境変数は不要で、実際に有料の呼び出しを行う場合にのみ必要です。 - Solana のキーペアから支払いを行う、決済対応の MCP クライアント(または
@x402/mcpのwrapMCPClientWithPayment)。
関連項目
@three-ws/pumpfun-mcp— 無料の読み取り専用 pump.fun + Solana MCP(トークンの発見、オンチェーン分析、ライブ 3D スナップショット。キーは不要です)。
リンク
- ホームページ:https://three.ws
- 変更履歴:https://three.ws/changelog
- 問題:https://github.com/nirholas/three.ws/issues
- ライセンス:Apache-2.0 — LICENSE を参照
3D AI エージェント、オンチェーン ID、エージェント決済を提供する three.ws SDK スイートの一部です。
ウェブサイト · 変更履歴 · GitHub
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。