three.ws Loom について
Loom は three.ws の MCP サーバーで、コミュニティの 3D 作品ギャラリーを扱います。エージェントから公開された GLB 作品を閲覧し、ビューアー URL 付きで個別に取得し、新しいモデルを投稿できます。エージェント内で 3D モデルを確認・共有したい利用者に適しています。
主な機能
- 01公開作品を新しい順に閲覧
- 02カーソルによるギャラリーのページ送り
- 03作品の詳細とビューアー URL の取得
- 04埋め込み用の iframe コードスニペットの提供
- 05公開ギャラリーへの GLB モデルの投稿
活用シーン
- 01エージェントからコミュニティの 3D モデル作品を閲覧する
- 02作品を Web ページに埋め込んでプレビューする
- 03ローカルで生成した GLB を公開ギャラリーに公開する
MCP 対応
本サーバーは get_loom_feed、get_creation、submit_creation を MCP ツールとして提供し、submit_creation のみが書き込み操作です。読み取りにはキーもアカウントも不要で、投稿はサーバー側の IP レート制限を受けます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @three-ws/loom-mcpTHREE_WS_BASEBase URL of the three.ws API that serves the Loom gallery (/api/loom). Override only when self-hosting or targeting a preview deployment.THREE_WS_TIMEOUT_MSPer-request timeout in milliseconds for the live Loom reads and submissions.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
3掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| limit | integer | いいえ | 返す作品数(1~120、デフォルトは 60)。 |
| before | integer | いいえ | ページネーションカーソル(ミリ秒単位の epoch):この時刻より古い作品のみを返します。前のページの nextBefore を渡します。 |
詳細
@three-ws/loom-mcp
Loom — どの AI エージェントからでも利用できる、three.ws コミュニティの 3D 作品ギャラリーです。コミュニティが制作した公開 GLB 作品を閲覧し、ビューワー URL とともに取得したり、自分の作品を投稿したりできます。
stdio 経由で three.ws コミュニティの 3D 作品ギャラリー Loom を公開する、Model Context Protocol サーバーです。他のユーザーが制作した作品を閲覧し、すぐに埋め込み可能なビューワー URL とともに取得して、自分の GLB を公開フィードに投稿できます。
Loom は three.ws の 3D スイートと連携します。まず @three-ws/avatar-agent でモデルを制作するか、@three-ws/scene-mcp でワールドを構成し、ここに公開してプラットフォーム全体に共有しましょう。読み取りはすべてリアルタイムで公開されます。投稿にキーやアカウントは不要で、サーバー側の IP レート制限のみが適用されます。
インストール
npm install @three-ws/loom-mcp
または npx で実行できます(インストール不要)。
npx @three-ws/loom-mcp
クイックスタート
Claude Code の場合は、次の 1 行を実行します。
claude mcp add loom -- npx -y @three-ws/loom-mcp
Claude Desktop / Cursor の場合(claude_desktop_config.json または mcp.json):
{
"mcpServers": {
"loom": {
"command": "npx",
"args": ["-y", "@three-ws/loom-mcp"]
}
}
}
MCP Inspector で機能を確認できます。
npx -y @modelcontextprotocol/inspector npx @three-ws/loom-mcp
ツール
| ツール | 種類 | 機能 |
|---|---|---|
get_loom_feed | 読み取り専用 | コミュニティが制作した 3D 作品の公開ギャラリーを新しい順に閲覧します。nextBefore カーソルを使ってページ分割できます。 |
get_creation | 読み取り専用 | ID で作品を 1 件取得します。すべてのメタデータと、インラインプレビュー可能なビューワー URL および iframe が含まれます。 |
submit_creation | 書き込み | 制作した GLB を公開ギャラリーに投稿します。キーは不要です。レート制限は IP あたり約 20 件/時間です。 |
読み取り結果には、作品の glbUrl に加えて、viewer_url(軌道表示と AR に対応した /forge/embed ビューワー)、og_image_url(ソーシャルカード)、貼り付けてすぐ使える iframe_snippet が含まれるため、どの MCP クライアントでもモデルをインラインでプレビューできます。
入力パラメーター
get_loom_feed — limit(1〜120、デフォルトは 60)、before(ミリ秒単位の Unix エポックカーソル。前のページの nextBefore を渡すと前のページへ移動できます)。
get_creation — id(必須 — 作品の UUID)。
submit_creation — prompt(必須、1000 文字以下)、glbUrl(必須 — 許可されるホストについては以下を参照)、author(任意のクレジット表記、40 文字以下。デフォルトは anon)、previewImageUrl、tier、backend(いずれも任意)。
作品の送信
submit_creation は一般公開され、誰でも閲覧できるギャラリーに投稿します。共有する予定のモデルのみ送信してください。アカウント、キー、署名者は不要です。このエンドポイントは公開されており、サーバー側で IP レート制限(約 20 件/時間)と厳格な入力サニタイズによって制御されています。author は自由記述のクレジットであり、認証済みの ID ではありません。
glbUrl は、次のドメインのいずれかでホストされている https URL である必要があります(ここでクライアント側、サーバー側の両方で適用されます)。
three.ws · r2.dev · cloudflarestorage.com · replicate.delivery · githubusercontent.com
まったく同じ glbUrl を再送信すると、重複して登録される代わりに既存の作品が返されます。この重複排除は、設計上ベストエフォートです。直近の数件のみを確認するため、誤って再 POST した場合はそこで検出されます。フィードを下にスクロールした後で GLB を再送信すると、2 件目のレコードが作成されます。
存在しなくなった ID に対して get_creation を呼び出すと、空の作品ではなく、型付きの not_found エラーが返されるため、保存済みの参照に古い ID が含まれていることを明確に判別できます。
例
// 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>"
}
}
// get_loom_feed
> { "limit": 2 }
{ "ok": true, "count": 2, "nextBefore": 1749999000000, "has_more": true,
"creations": [ { "id": "…", "prompt": "…", "glbUrl": "…", "viewer_url": "…", "iframe_snippet": "…" } ] }
作品の iframe_snippet を任意のウェブページに配置するか、viewer_url を開くとモデルを回転して表示できます(対応デバイスでは AR も利用できます)。
例
実行可能な例は examples/ にあります。
node examples/list-tools.mjs # every tool with its full input schema
node examples/browse-loom.mjs # a page of the gallery + one creation's embed, live
どちらの例も、このサーバーを stdio 経由で起動し、公開中のギャラリーを読み込みます。意図的に読み取り専用にしています。submit_creation は誰でも閲覧できるフィードに投稿するため、例がユーザーに代わって投稿することはありません。期待される出力については、examples/README.md を参照してください。
要件
- Node.js >= 20。
https://three.ws(または独自のTHREE_WS_BASE)へのネットワークアクセス。
環境変数
| 変数 | 必須 | デフォルト |
|---|---|---|
THREE_WS_BASE | いいえ | https://three.ws |
THREE_WS_TIMEOUT_MS | いいえ | 20000 |
どのツールを使用する場合も、API キー、署名者、アカウントは必要ありません。
リンク
- ホームページ: https://three.ws
- Forge ギャラリー: https://three.ws/forge
- 変更履歴: https://three.ws/changelog
- Issue: https://github.com/nirholas/three.ws/issues
- ライセンス: Apache-2.0。詳細は LICENSE を参照してください。
three.ws SDK スイートの一部 — 3D AI エージェント、オンチェーン ID、エージェント決済。
ウェブサイト · 変更履歴 · GitHub
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。