three.ws Loom

io.github.nirholas由 GitHub 帳號 nirholas 發布v0.1.3更新於 Oct 24, 2026

Browse the community 3D-creation gallery, fetch a creation with its viewer URL, and submit it.

已驗證STDIO僅桌面檔案與儲存媒體與設計

概覽

AI 產生的概覽

面向 three.ws Loom 藝廊的本地 stdio MCP 伺服器:瀏覽社群 3D 作品、取得含檢視器連結的單件作品,並提交自己的 GLB。

可以做什麼
瀏覽 Loom 公開社群 3D 作品流,依最新優先排序,以游標分頁,單頁數量可設定,最多 120 筆(get_loom_feed)。依 UUID 取得單件作品,回傳中繼資料以及檢視器連結、社群卡片圖片和可直接貼上的 iframe 片段,方便內嵌預覽(get_creation)。向公開藝廊提交 GLB 作品,需提供提示詞與允許網域下的 https glbUrl,可選作者署名、預覽圖、tier 與 backend 欄位(submit_creation)。
適用情境
適合讓助理瀏覽 three.ws 社群 3D 藝廊、取出模型及其可嵌入的檢視器連結,或把用其他 three.ws 工具產生的 GLB 發佈到公開作品流時使用。
執行需求
透過 npx 從 npm 套件 @three-ws/loom-mcp 以 stdio 在本機執行;需要 Node.js 20 或更新版本,並能連線到 THREE_WS_BASE(API 基礎位址)與 THREE_WS_TIMEOUT_MS(單次請求逾時,預設 20000)。不需帳號、API 金鑰或簽章器。
安裝前請注意
submit_creation 會寫入公開、所有人可讀的藝廊,只應提交你願意公開分享的模型;author 欄位是自由文字署名,並非經過驗證的身分。提交僅受約每小時 20 次的 IP 限流限制,去重為盡力而為,重新提交較早的 GLB 可能產生第二筆紀錄。glbUrl 必須是允許網域(three.ws、r2.dev、cloudflarestorage.com、replicate.delivery、githubusercontent.com)下的 https 位址。讀取與提交都會傳送到 three.ws 服務。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 three.ws Loom,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

[three.ws]

@three-ws/loom-mcp

Loom — the three.ws community 3D-creation gallery, from any AI agent. Browse the public feed of community-forged GLB creations, fetch one with its viewer URL, and submit your own.

[npm] [license] [node] [MCP Registry] [three.ws]


A Model Context Protocol server that exposes Loom, the three.ws community 3D-creation gallery, over stdio. Browse what others have forged, pull any creation with a ready-to-embed viewer URL, and contribute your own GLB to the public feed.

Loom closes the loop with the rest of the three.ws 3D suite: forge a model with @three-ws/avatar-agent or compose a world with @three-ws/scene-mcp, then publish it here for the whole platform to see. Every read is live and public; submitting needs no key or account — it is gated server-side only by an IP rate limit.

Install

bash
npm install @three-ws/loom-mcp

Or run with npx (no install):

bash
npx @three-ws/loom-mcp

Quick start

Claude Code, one line:

bash
claude mcp add loom -- npx -y @three-ws/loom-mcp

Claude Desktop / Cursor (claude_desktop_config.json or mcp.json):

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

Inspect the surface with the MCP Inspector:

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

Tools

ToolTypeWhat it does
get_loom_feedread-onlyBrowse the public gallery of community-forged 3D creations, newest-first, paginated via a nextBefore cursor.
get_creationread-onlyFetch one creation by id, with its full metadata and an inline-previewable viewer URL + iframe.
submit_creationwriteContribute a forged GLB to the public gallery. No key required; rate-limited (~20/hour per IP).

Each read returns the creation's glbUrl plus a viewer_url (the /forge/embed orbit + AR viewer), an og_image_url (social card), and a paste-ready iframe_snippet, so any MCP client can preview the model inline.

Input parameters

get_loom_feed — limit (1–120, default 60), before (ms-epoch cursor; pass the prior page's nextBefore to page backwards).

get_creation — id (required — the creation UUID).

submit_creation — prompt (required, ≤1000 chars), glbUrl (required — see allowed hosts below), author (optional attribution, ≤40 chars, defaults to anon), previewImageUrl, tier, backend (all optional).

Submitting a creation

submit_creation posts to the public, world-readable gallery — only submit models you intend to share. There is no account, key, or signer: the endpoint is open and gated server-side by an IP rate limit (~20 submissions/hour) plus strict input sanitization. author is free-text attribution, not an authenticated identity.

The glbUrl must be an https URL hosted on one of these domains (enforced both client-side here and server-side):

three.ws · r2.dev · cloudflarestorage.com · replicate.delivery · githubusercontent.com

Re-submitting the exact same glbUrl returns the existing creation instead of duplicating it. The dedupe is best-effort by design: it scans only the newest few entries, which is where an accidental re-POST lands. Re-submitting a GLB that has since scrolled down the feed creates a second record.

get_creation answers an id that no longer exists with a typed not_found error rather than an empty creation, so a stale id in a saved reference is unambiguous.

Example

jsonc
// submit_creation> {    "prompt": "a cowboy hat, low-poly",    "glbUrl": "https://three.ws/accessories/hat-cowboy.glb",    "author": "nova",    "backend": "hunyuan"  }{  "ok": true,  "creation": {    "id": "f295398e-2d25-410d-a82f-c8725295a1b3",    "prompt": "a cowboy hat, low-poly",    "glbUrl": "https://three.ws/accessories/hat-cowboy.glb",    "author": "nova",    "createdAt": 1750000000000,    "viewer_url": "https://three.ws/forge/embed?src=https%3A%2F%2Fthree.ws%2Faccessories%2Fhat-cowboy.glb&title=a+cowboy+hat%2C+low-poly",    "og_image_url": "https://three.ws/api/avatar-og?src=https%3A%2F%2Fthree.ws%2Faccessories%2Fhat-cowboy.glb",    "iframe_snippet": "<iframe src=\"https://three.ws/forge/embed?src=…\" width=\"640\" height=\"360\" …></iframe>"  }}
jsonc
// get_loom_feed> { "limit": 2 }{ "ok": true, "count": 2, "nextBefore": 1749999000000, "has_more": true,  "creations": [ { "id": "…", "prompt": "…", "glbUrl": "…", "viewer_url": "…", "iframe_snippet": "…" } ] }

Drop a creation's iframe_snippet onto any web page, or open its viewer_url to orbit the model (with AR on supported devices).

Examples

Runnable examples live in examples/:

bash
node examples/list-tools.mjs     # every tool with its full input schemanode examples/browse-loom.mjs    # a page of the gallery + one creation's embed, live

Both spawn this server over stdio and read the live public gallery. They are deliberately read-only: submit_creation posts to a world-readable feed, so no example writes on your behalf. See examples/README.md for expected output.

Requirements

  • Node.js >= 20.
  • Network access to https://three.ws (or your own THREE_WS_BASE).

Environment variables

VariableRequiredDefault
THREE_WS_BASEnohttps://three.ws
THREE_WS_TIMEOUT_MSno20000

No API key, signer, or account is needed for any tool.

Links


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

來源:packages/loom-mcp/README.md,提交 0e68f46

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

2
  1. v0.1.3最新Oct 10, 2026
  2. v0.1.2Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分