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 分