关于 three.ws 3D Agent Tools
three.ws 3D Agent Tools 是面向 AI Agent 的 MCP 服务,提供 3D 生成、模型处理及加密市场信息工具。它包含免付费与按次付费功能,付费调用通过 Solana 上的 USDC 结算。
主要功能
- 01文本生成 3D GLB
- 02图像生成及自动绑定骨骼
- 03模型迭代与材质重塑
- 04加密新闻与市场分析
- 05Solana 代币及 Agent 工具
适用场景
- 01从提示词生成并预览 3D 模型
- 02将静态 GLB 转为可动画模型
- 03跟踪加密新闻与代币市场数据
MCP 相关
向 MCP 客户端提供 3D 生成、模型编辑、加密新闻和链上市场等工具。部分调用免费,其余按次通过 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、虚拟形象、绑定骨骼、Agent 声誉等。付费调用按次以 USDC 结算。
快速开始 · 工具 · 配置 · 编程接入 · 支付 · three.ws
来自 three.ws 的 MCP 工具,其中六项无需付款、钱包或 API 密钥即可开始使用:
forge_free(通过免费的 NVIDIA NIM / Microsoft TRELLIS 通道,将文本提示词生成 3D GLB)、vanity_premium(浏览预生成的高级靓号库存),以及加密新闻工具集(crypto_news、crypto_news_digest、news_resolve和crypto_news_archive;归档搜索在每日配额内免费,之后通过 x402 每次搜索收费 $0.001 USDC)。其余工具均为付费工具:文本/图像→3D 网格生成、3D 虚拟形象、一次调用即可从文本生成绑定骨骼的虚拟形象、GLB 自动绑定骨骼、对话式模型优化、材质重塑、姿势种子、pump.fun 快照、ERC-8004 Agent 声誉、ENS/SNS 解析、Agent 间委派和端到端 Agent 聘用、代币情绪分析、AgenC 协调读取、aixbt 市场情报,以及 Solana 靓号生成器。付费调用通过 x402 支付协议在 Solana 主网上以 USDC 结算(exact方案)。无需订阅或 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 搜索在每日配额内免费(统计数据/趋势始终免费)。每个工具还声明了 MCP 工具注解(readOnlyHint、destructiveHint、idempotentHint、openWorldHint),以便客户端恰当设置确认提示;这些工具均不会造成破坏。
3D 生成
| 工具 | 价格 | 返回内容 |
|---|---|---|
forge_free | 免费 | 根据文本提示词免费生成带纹理的 3D GLB。通过免费的 NVIDIA NIM(Microsoft TRELLIS)文本转 3D 通道运行 three.ws /api/forge 流程——与 /forge 网页用于生成提示词草稿的引擎相同。无需 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 | **一次调用即可将文本/图像转换为绑定完成、可用于动画的 Avatar。**串联完整流程: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 Avatar,使用 Replicate(默认采用 Hunyuan-3D 3.1)。返回 GLB URL、模型版本、预测 ID 和耗时。 |
refine_model | $0.25 | 用通俗语言描述改动(“改成金属质感”“头盔更大”)来迭代模型。基于先前版本生成新版本(将之前的提示词与改动合并;也可使用可选参考图像进行图像转 3D 锚定):进行真实生成,而非伪造差异。每次优化都会追加到不可变的父级→子级版本沿袭中,因此你可以从较早的版本分支(parent_index)或还原版本。传入 parent_lineage 可延续版本链。返回新的 GLB、查看器链接、合成后的提示词、版本沿袭以及当前版本索引。 |
restyle_material | $0.05 | 为现有 GLB 重新赋予材质,不重新生成网格(几何体和 UV 坐标保持不变)。支持两种模式:instruction(“改成铬色”“赛博朋克霓虹”),用于生成 AI 提议的 PBR 材质;或 preset(加上 seed/count),用于生成 N 个可复现的配色变体:相同预设 + 种子始终会生成相同结果。与 refine_model 共用版本沿袭,因此重新赋予材质只是另一个版本;源 GLB 不会被修改。返回持久的 GLB URL(一个或多个)、已应用的 PBR 系数和版本沿袭。 |
get_pose_seed | $0.001 | 为 three.ws 姿势工作室的人台提供确定性种子和完整的欧拉旋转姿势映射(弧度),从仓库内的预设库中匹配。包含 previewUrl:https://three.ws/pose?seed=…&preset=…。 |
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 | Solana 密钥对,其 base58 地址以 prefix 开头(也可选择以 suffix 结尾)。返回完整的 base58 私钥 — 请将其视为机密。固定价格(可用 MCP_VANITY_PRICE_USD 覆盖);难度保护机制会拒绝在迭代次数上限内无法挖出的过长前缀。 |
vanity_premium | 免费 | 浏览高级靓号库存:提前通过批量 CPU 挖出的较长(4-5 个或更多字符)、适合打造品牌的 Solana 地址,现货出售,实时挖矿器无法挖出这些地址。只读且免费:返回每个地址、稀有度等级、按难度缩放的价格($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 | 免费 | three.ws 原生聚合的实时加密新闻头条,来源为 17 种语言的 197 个出版商 RSS/Atom 订阅源。可按类别、来源或语言筛选,也可进行全文搜索。每篇文章都包含出版商链接、发布时间、检测到的代码和词典情绪。无需付款,无需密钥。 |
crypto_news_digest | 免费 | 将过去 1–72 小时的报道聚类为不同叙事 — 包含标题、通俗易懂的摘要、看涨/看跌立场、代码、报道数量,以及每个故事背后的全部真实文章。会如实标注所用引擎(llm 语义分组或 heuristic Jaccard 聚类)。无需付款,无需密钥。 |
news_resolve | 免费 | 将一篇文章 URL 解析为有限长度的导语摘录、摘要、要点、代码和结构化交易解读(受影响资产及其风险敞口和方向、priced_in、horizon,以及必需的反方观点)。如果出版商阻止抓取,则会从 Internet Archive、标题中提及的 SEC EDGAR 文件或报道该事件的其他媒体恢复内容,并在 extraction 中报告所用途径。绝不返回出版商的完整正文;full_text_url 指向原文。 |
crypto_news_archive | 免费层 | 按关键词、代码、来源、日期范围、情绪或语言搜索自 2017 年 9 月以来存档的 660,000+ 篇文章(每小时刷新),并在有记录时提供发布时的市场背景。mode: stats 和 mode: trending 可查看语料统计数据和报道最多的代码(始终免费,无需密钥)。搜索有每日免费额度(每个 IP 每天 60 次),之后通过 HTTP API 使用 x402 支付,每次搜索 $0.001 USDC;额度用尽时会返回包含价格和网络信息的 payment_required 信封。 |
Agent 与身份
| 工具 | 价格 | 返回内容 |
|---|---|---|
agent_reputation | $0.01 | ERC-8004 声誉:从请求链(默认为 Base)的规范 ReputationRegistry 获取 getReputation、getTotalStake,以及最新的 ReputationSubmitted / ReputationStaked 事件。会自动根据钱包地址解析 agentId。 |
agent_delegate_action | $0.01 | 向已在 three.ws 注册的 Agent 发送消息并接收其回复(使用其配置的 Claude 模型和系统提示词)。选择退出 MCP 委托的 Agent 将被拒绝。用于 Agent 间协作和工具组合。 |
agent_hire_discover | $0.01 | 商业闭环的第一步。 为任务筛选 three.ws 上可雇用的 Agent,并根据任务匹配度、实时 ERC-8004 链上声誉和实际参与度排名。每位候选 Agent 都会附带声誉证据、能力/任务匹配分数,以及 agent_hire 将结算的准确 USDC 价格。可选择按最低声誉进行筛选。 |
agent_hire | $0.05 | 第二步。 端到端雇用 Agent:提前报价,通过 x402 结算真实 USDC,运行远程 Agent,并返回结果以及来源凭证(Agent、声誉、支付金额、链上结算参考信息、延迟),以 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、状态、奖励、截止时间、工作者数量和奖励 mint。AgenC(agenc.tech,Tetsuo Corp)是一种 Solana 任务协调协议。cluster 默认为主网。 |
agenc_get_task | $0.001 | 单个 AgenC 任务的链上状态和生命周期时间线。传入 taskPda 或 {creator, taskId}(十六进制或任意 UTF-8 标签)。返回状态、奖励、截止时间、工作者数量、生命周期事件和奖励 mint。 |
agenc_get_agent | $0.001 | AgenC Agent 的链上注册信息。传入 agentPda 或 agentId(十六进制或 UTF-8 标签)。返回权限钱包、能力位掩码、端点 URL、状态、声誉、质押金额和活跃任务数量。 |
安装
服务在本机运行,并通过 stdio JSON-RPC 通信——MCP 客户端会通过上面的 npx 命令自动启动它。你无需全局运行 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 | 内置公共集合 | 故障转移 — 按顺序尝试逗号分隔的 Solana RPC;由第一个健康的 RPC 响应 |
MCP_EVM_RPC_<chainId> | 内置公共集合 | 故障转移 — 该链的逗号分隔 EVM RPC(agent_reputation、ENS 使用链 1) |
X402_FACILITATOR_URL_SOLANA | https://facilitator.payai.network | 用于验证并结算付款的主 PayAI Solana facilitator |
X402_FACILITATOR_URLS_SOLANA | unset | 故障转移 — 逗号分隔的 facilitator;初始化时优先使用靠前的条目,后续条目可在发生故障时接替 |
X402_FACILITATOR_TOKEN_SOLANA | unset | Solana facilitator 所需的 Bearer 令牌(如有) |
X402_FEE_PAYER_SOLANA | three.ws 默认值 | 结算交易的费用支付方 |
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 | forge_free 返回可恢复的 timeout 前的轮询时限 |
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_keys Bearer,范围为 agents:delegate),由 agent_hire / agent_delegate_action 工具提供给 /api/agents/talk。该端点会消耗平台 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 | 单次调用的硬性支出上限 — 超出此上限的雇用会在付款前被拒绝 |
MCP_AGENT_HIRE_MAX_PER_SESSION_USD | $5 | 单个连接内每个会话的累计支出上限 |
MCP_AGENT_HIRE_CONFIRM_THRESHOLD_USD | $0.50 | 费用达到或超过此阈值的雇用需要明确设置 confirm: true |
MCP_AGENT_HIRE_MIN_REPUTATION | 0 | 雇用所需的默认 ERC-8004 声誉下限(0 = 不设门槛;调用方可在每次调用时提高) |
MCP_AGENT_REP_RPC_<chainId> | 公共 RPC | agent_reputation 的逐链 RPC 覆盖项(优先于故障转移集合尝试) |
MCP_AGENT_REP_LOG_WINDOW | 200000 | agent_reputation 事件扫描的区块窗口 |
X402_ASSET_MINT_SOLANA | USDC(EPjFW…Dt1v) | 作为付款资产结算的 SPL mint(默认为 Solana USDC) |
SOLANA_DEVNET_RPC_URL | 公共 devnet | 当 cluster: "devnet" 时 AgenC 工具使用的 Devnet RPC |
AGENC_RPC_URL | unset | 所有 AgenC 读取的单端点覆盖项(优先于集群默认值) |
MCP_ENS_RPC_URL / MAINNET_RPC_URL | 故障转移集合 | ens_sns_resolve 的 Ethereum 主网 RPC 覆盖项 |
MESH_FORGE_TIMEOUT_MS / MESH_FORGE_POLL_MS | 180000 / 3000 | mesh_forge 重建的轮询时限 / 间隔 |
MESH_FORGE_DIRECTOR | 1(开启) | 设置为 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。如果下面两个变量未设置,它会返回 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 |
程序化客户端
使用 @x402/mcp 的 wrapMCPClientWithPayment,从另一个 Node 服务调用这些工具。该封装会自动处理 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——因此你可以直接在未封装的 MCP 客户端上调用它(即调用 wrapMCPClientWithPayment 之前的客户端):
// 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"
}
}
}
}
从源代码运行
在 monorepo 根目录中:
npm install
node mcp-server/src/index.js
交互式检查工具:
npm run inspect --prefix mcp-server
示例
examples/ 中提供了针对在线 three.ws 服务的 MCP Streamable HTTP 生命周期可运行演练(使用 curl 和纯 fetch 的 Node 实现,无依赖项)。
付款流程
该服务是 x402 资源服务端。每次工具调用时:
- 客户端发送
tools/call请求(尚未付款)。 - 服务端返回
PaymentRequired(v2 MCP 传输规范),其中包含 USDC 金额和付款地址。 - 支持付款的客户端(或
wrapMCPClientWithPayment)签署并提交链上付款。 - 客户端重试
tools/call,并附上_meta["x402/payment"]。 - 服务端通过已配置的协调器验证并结算付款,运行工具,然后在
_meta["x402/payment-response"]中返回结果。
每个工具都使用 exact 方案在 Solana 主网上以 USDC 结算(@x402/svm 不提供 upto/计量方案)。每个工具都按固定价格报价;不会事后计量。
成功结果以两种形式包含工具的 JSON: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)使用 ethers 的FallbackProvider(quorum 为 1),在每条链的多个端点之间切换(MCP_EVM_RPC_<chainId>或内置冗余端点),并为每个请求设置超时限制。 - x402 facilitator 接受逗号分隔的
X402_FACILITATOR_URLS_SOLANA:初始化时优先使用靠前的条目;如果主 facilitator 的/supported无法访问,后续 facilitator 会为 Solanaexact类型提供支持。 - **数据回退:**当 Jupiter 不可用时,
pump_snapshot会从 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)中——请参阅环境变量。注册工具(名称/架构)无需环境变量;只有实际发起付费调用时才需要。 - 支持支付的 MCP 客户端(或
@x402/mcp的wrapMCPClientWithPayment),通过 Solana 密钥对为支付提供资金。
相关内容
@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
属于 three.ws SDK 套件 — 3D AI Agent、链上身份与 Agent 支付。
网站 · 更新日志 · GitHub
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。