3D AI Agent Avatar
io.github.nirholas由 GitHub 账号 nirholas 发布v1.2.3更新于 Oct 24, 2026
3D AI Agent Avatar — render any GLB, give it a Solana wallet, a voice, and pump.fun powers.
概览
本地 MCP 服务器:检查、校验与优化 GLB 模型,生成带语音的 3D 虚拟形象,并执行 Solana 钱包与 pump.fun 操作。
- 可以做什么
- 检查、校验、优化任意 GLB 模型并生成缩略图,构建 three.ws 查看器链接或 iframe
- 列出、生成、装扮并渲染虚拟形象,并通过 Replicate 由文字或图片生成 3D 形象
- 用 NVIDIA 或 OpenAI TTS 以形象的声音合成语音
- 创建 Solana 钱包(可选靓号前缀)、查询余额、预览并发送 SOL
- 获取 pump.fun 行情快照,报价并执行 Jupiter 买入、发行代币、收取创作者费用
- 将 .eth 与 .sol 域名解析为地址
- 适用场景
- 适合让助手检查或压缩 3D 素材、产出形象渲染图与语音,或在对话中管理 Solana 钱包和 pump.fun 交易。3D 工具与行情快照无需任何密钥即可使用,因此仅为 GLB 检查也值得安装。
- 运行要求
- 需要 Node.js 20 或更高版本,通过 npx 以 stdio 在本地运行。3D 工具与 pump_snapshot 无需密钥。可选密钥:语音需 NVIDIA_API_KEY 与 OPENAI_API_KEY,形象生成需 REPLICATE_API_TOKEN,增强快照需 HELIUS_API_KEY,签名需 SOLANA_SECRET_KEY,.eth 解析需 ETH_RPC_URL。SOLANA_RPC_URL 默认使用公共主网端点。
安装
在 SourceWeft 中
- 打开 控制台中的 3D AI Agent Avatar,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
@three-ws/avatar-agent
An MCP server that turns any GLB into a 3D AI agent — inspect/validate/optimize models, then give one a Solana wallet, a voice, and pump.fun powers.
[npm] [downloads] [license] [node] [mcp] [MCP Registry]
Install · Setup · Quick start · Tools · Requirements · three.ws
A single Model Context Protocol server that is two things at once. It is a general-purpose 3D toolkit —
inspect_glb,validate_glb,optimize_glb,thumbnail_glb, andviewer_urlwork on any GLB/glTF model, no avatar required, powered by@gltf-transform/coreand Khronos's officialgltf-validator. It is also a 3D AI agent in a box — spawn a textured GLB avatar, give it a voice (OpenAI TTS), hand it a Solana wallet, and run pump.fun operations (Jupiter swaps, atomic Jito-bundled launches, creator-fee collection). Built and maintained by three.ws. Registry name:io.github.nirholas/3D-AI-Agent-Avatar.
For a lightweight, read-only avatar viewer (no wallet, no signing), see the sibling package @three-ws/avatar-mcp, which renders a live, rotatable on-chain avatar inline in the chat.
Install
Run it directly with npx (no install needed) or install globally for the CLI:
Setup
Add the server to your MCP client. Claude Code, one line:
Claude Desktop / Cursor (JSON config):
The 3D tools (inspect_glb, validate_glb, optimize_glb, thumbnail_glb, viewer_url) and pump_snapshot work with no environment variables. Voice, generation, and signing tools need the keys in Requirements. Restart your client after editing the config.
Inspect the full tool surface in a GUI:
Quick start
Once connected, ask your client in plain language:
Inspect
https://three.ws/avatars/cz.glb— how many triangles? Then validate it against the Khronos spec and optimize it with Draco.
Runs inspect_glb → validate_glb → optimize_glb({ draco: true }), returning the rewritten GLB inline with honest before/after sizes. Note that cz.glb already ships EXT_meshopt_compression + WebP textures, so re-encoding it with Draco reports a negative savedBytes: the pipeline never hides that, and an uncompressed source is where the wins actually are.
Spawn the
czavatar, give him shades, mint him athree-prefixed Solana wallet, pull a snapshot of $THREE, and have him say "we're so back."
Runs spawn_avatar → dress_avatar → wallet_create({ vanityPrefix: "three" }) → pump_snapshot → speak.
Tools
All 24 tools are free MCP tools: there is no per-call x402 charge. Tools marked execution sign and broadcast real Solana transactions that move real funds; configure your client's tool-approval flow for them.
Every tool ships MCP tool annotations: reads advertise readOnlyHint: true, and the four execution tools (wallet_send, pump_buy, pump_launch, pump_collect_fees) are flagged destructiveHint: true, so annotation-aware MCP clients prompt for confirmation before running them. The hints are advisory — the server-side REQUIRE_CONFIRM gate and spend caps (see Safety) apply regardless of client.
3D toolkit — works on any GLB, no avatar required
Avatar
Voice
Wallet
pump.fun
Identity
How atomic pump.fun works
The pump_launch and pump_collect_fees tools wrap two patterns:
- Launch — the create tx's
payerKeyis the creator wallet, so the on-chaincreatorfield (which receives pump.fun creator fees forever) is the creator wallet. The creator does not need to hold SOL: the funder transfers rent + tip in Tx1 of the same Jito bundle. Either both txs land or neither does. - Collect — even if a creator key is shared or leaked, collect-and-drain runs as a single tx inside a Jito bundle, so no competing collector can interleave a tx between
collectCoinCreatorFeeand the drain.
If you start hitting Bundles must write lock at least one tip account, the Jito tip-account list has rotated.
These tools accept an arbitrary mint supplied at runtime — generic plumbing for launching and managing your own coin. $THREE (FeMbDoX7R1Psc4GEcvJdsbNbZA3bfztcyDCatJVJpump) is the only coin three.ws promotes.
Requirements
- Node
>=20.
Per-tool environment variables (all optional — set only what you use):
Safety
wallet_send, pump_buy, pump_launch, and pump_collect_fees execute real on-chain transactions. The server makes no judgment about inputs — with a valid signer it does exactly what it is told. Secrets are never logged or persisted; the secret from wallet_create is returned once.
Four layers keep that power in check:
- Tool annotations — the four execution tools are flagged
destructiveHint: true, so annotation-aware MCP clients (Claude Code, Claude Desktop, Cursor) surface a confirmation prompt before running them. Read-only tools are flaggedreadOnlyHint: trueand can be safely auto-approved. - Confirmation gate — with
REQUIRE_CONFIRMon (the default), every execution call returnsconfirmation_requireduntil re-issued withconfirm: true, independent of the client. - Spend caps —
MAX_SOL_PER_TX(default 0.5 SOL) bounds every send, buy, tip, and drain server-side. Enforced in the signing libs themselves, so every path — direct, bundled, atomic — is covered. - Recipient allowlist — set
RECIPIENT_ALLOWLISTand any SOL destination outside the list is refused before a transaction is built.
Errors
A failed tool call returns an MCP error result (isError: true) whose text is a single JSON object — { "ok": false, "error": "<code>", "message": "…" }, plus status or the on-chain signature when available:
Execution errors that occur after broadcast include the transaction signature so you can verify the final on-chain state before retrying — never assume a failed response means no funds moved.
Links
- Homepage: https://three.ws
- Sibling package:
@three-ws/avatar-mcp— live, read-only avatar viewer for MCP - Changelog: https://three.ws/changelog
- Issues: https://github.com/nirholas/three.ws/issues
- License: Apache-2.0, see LICENSE
Part of the three.ws SDK suite — 3D AI agents, on-chain identity, and agent payments.
Website · Changelog · GitHub
来源:packages/avatar-agent-mcp/README.md,提交 0e68f46
工具
0版本历史
2- v1.2.3最新Oct 10, 2026
- v1.2.2Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分