three.ws Avatars

io.github.nirholas由 GitHub 账号 nirholas 发布v0.3.2更新于 Oct 24, 2026

three.ws 3D avatars in your agent: render a live, interactive 3D avatar inline, or get an embed.

已验证STDIO仅桌面开发者工具媒体与设计

概览

AI 生成的概览

一个本地 MCP 服务器,让助手在对话中渲染可旋转的 three.ws 3D 虚拟形象、生成嵌入 iframe,并获取形象元数据。

可以做什么
按 id、handle 或 GLB 链接在对话中渲染虚拟形象,可设置背景、场景、自动旋转和高度;支持 MCP Apps 的客户端显示可旋转缩放的 3D 模型,其他客户端得到预览图和嵌入链接。生成可直接粘贴的 iframe 嵌入代码,可设置宽度、高度、待机动画和覆盖层模式。获取形象元数据,如名称、模型链接、所有者和可见性。提供展示用提示词,一步完成渲染并给出嵌入代码。
适用场景
适合需要在聊天中展示 three.ws 虚拟形象、把实时 3D 形象嵌入网页,或让助手查询形象信息并生成嵌入代码的场景。
运行要求
通过 npx 从 npm 包 @three-ws/avatar-mcp 以 stdio 在本地运行,需要 Node.js 20 或更高版本。公开和未公开列出的形象无需 API 密钥或凭据。需要访问 three.ws 的网络;可选变量 THREEWS_BASE_URL 指定其他主机,THREEWS_TIMEOUT_MS 设置请求超时。
安装前请注意
工具均声明为只读且免费,没有付费环节。请求会发往 three.ws 的接口,因此你查询的形象 id、handle 和模型链接会发送给该服务。原始模型链接必须使用 https(本地开发可用 http)。若把 THREEWS_BASE_URL 指向不可信主机,请求会发往该主机。

安装

在 SourceWeft 中

  1. 打开 控制台中的 three.ws Avatars,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

[three.ws]

@three-ws/avatar-mcp

An MCP server that drops a live, rotatable 3D avatar into any chat — interactive in the conversation, embeddable anywhere. Free, no API key.

[npm] [downloads] [license] [node] [mcp] [MCP Registry]

Install · Setup · Quick start · Tools · Requirements · three.ws


A thin, zero-config, read-only Model Context Protocol server that brings three.ws 3D avatars into any MCP client — Claude Desktop, Claude Code, Cursor, or any other host. Render a live, rotatable avatar inline, get a paste-anywhere embed iframe, or fetch avatar metadata. Every tool reads live from the real three.ws endpoints — no mock data. Public and unlisted avatars need no API key. Registry name: io.github.nirholas/threews-avatar. Built by three.ws.

Need wallets, voice, generation, or pump.fun powers? See the sibling package @three-ws/avatar-agent, a full 3D AI agent in a box.

Install

bash
npm install @three-ws/avatar-mcp

Run it directly with npx (no install needed) or install globally for the avatar-mcp CLI:

bash
npx -y @three-ws/avatar-mcp           # MCP stdio servernpm install -g @three-ws/avatar-mcp   # exposes `avatar-mcp`

Setup

Claude Code, one line:

bash
claude mcp add threews-avatar -- npx -y @three-ws/avatar-mcp

Claude Desktop / Cursor (JSON config):

json
{	"mcpServers": {		"threews-avatar": {			"command": "npx",			"args": ["-y", "@three-ws/avatar-mcp"]		}	}}

No environment variables are required. To read avatars from a different host (e.g. a preview deployment), set THREEWS_BASE_URL. Restart your client after editing the config.

Inspect the tool surface in a GUI:

bash
npx -y @modelcontextprotocol/inspector npx -y @three-ws/avatar-mcp

Quick start

Once connected, ask your client in plain language:

Render avatar bf58f7fc-64b3-4a92-8c27-dd472fc04b58 in the chat, dark background, auto-rotating.

(That UUID is a real public avatar. Any avatar's id is the last path segment of its three.ws URL, and GET https://three.ws/api/avatars/public lists more. A @handle works too, for any three.ws user who has published a public avatar.)

render_avatar returns three things so it looks great in every client:

  1. a preview image that renders inline everywhere,
  2. an interactive text/html resource — a real <model-viewer> you can orbit and zoom, for hosts that render HTML resources, and
  3. the embed URL + iframe to drop the live avatar into any page.

Tools

All three tools are free, read-only, and annotated (readOnlyHint, idempotentHint, openWorldHint) so hosts can run them without confirmation prompts. There is no x402 charge. Identify an avatar by id (UUID), handle (a three.ws username, with or without the @, that has a public avatar), or a raw model GLB URL.

ToolSelectorsWhat it does
render_avatarid · handle · modelRenders the avatar inline. On MCP Apps-capable hosts it shows a live, rotatable 3D model right in the chat; other clients get a preview image + embed URL. Params: background (transparent/dark/light), scene (portrait/headshot/upper-body/full-body), auto_rotate, height (160–1080).
avatar_embed_codeid · handle · modelReturns a ready-to-paste <iframe> that embeds the live avatar anywhere — as easy as a YouTube embed. Params: background, width (CSS), height (160–1080), idle (loop the idle animation), overlay (chrome-free mode for OBS/overlays).
get_avatarid · handleFetches avatar metadata: name, GLB model_url, owner, visibility.

Interactive 3D in the chat — the differentiator

render_avatar is an MCP App (SEP-1865): it declares a ui:// resource that supporting hosts render in a sandboxed iframe — a real, orbit-and-zoom <model-viewer>, not a static image. The avatar is live in the conversation: rotate it, zoom it, watch it idle, without leaving the chat. Hosts without MCP Apps support still get a rendered preview image and a one-tap live embed, so the tool degrades gracefully everywhere.

Example calls

jsonc
// render_avatar — live, rotatable avatar in chat{ "id": "bf58f7fc-64b3-4a92-8c27-dd472fc04b58", "background": "dark", "auto_rotate": true }
// avatar_embed_code — paste into any website{ "id": "bf58f7fc-64b3-4a92-8c27-dd472fc04b58", "height": 560 }
// get_avatar: metadata, by @handle instead of id{ "handle": "@your-handle" }

get_avatar on that id returns, live:

json
{	"id": "bf58f7fc-64b3-4a92-8c27-dd472fc04b58",	"name": "Jade",	"slug": "jade-fe1a51",	"model_url": "https://pub-2534e921bf9c4314addcd4d8a6e98b7b.r2.dev/u/299bdfa7-d848-4865-bdb1-0db23fc3b431/jade-fe1a51.glb",	"thumbnail": null,	"visibility": "public"}

Every tool also advertises an outputSchema describing its structuredContent, so typed clients can consume results without re-parsing the text blocks.

Prompts

PromptArgumentsWhat it does
showcase-avataravatar — id (UUID) or @handleOne-step showcase: renders the live, rotatable avatar inline and produces the embed iframe, ending with a copy-paste summary (name, viewer URL, embed URL, <iframe> snippet).

How it works

Each selector maps to a real three.ws endpoint. Raw model URLs must be https:// (or http://localhost for dev); other schemes are rejected.

Selector / assetEndpoint
idGET https://three.ws/api/avatars/:id
handleGET https://three.ws/api/users/:handle/avatar
preview imageGET https://three.ws/api/avatar/render?avatar=:id
live embedhttps://three.ws/avatar-embed.html?...
viewerhttps://three.ws/viewer?src=:glb

Requirements

  • Node >=20.
  • No credentials. Public and unlisted avatars need no API key.
VariableRequiredNotes
THREEWS_BASE_URLOptionalthree.ws host to read from. Defaults to https://three.ws.
THREEWS_TIMEOUT_MSOptionalPer-request network timeout. Defaults to 30000.

Links


Part of the three.ws SDK suite — 3D AI agents, on-chain identity, and agent payments.
Website · Changelog · GitHub

来源:packages/threews-avatar-mcp/README.md,提交 c8f2cde

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

2
  1. v0.3.2最新Oct 10, 2026
  2. v0.3.1Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分