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 分