# three.ws Loom (npm · @three-ws/loom-mcp)

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

- Trust score: 66/100 (medium)
- Change this week: +42
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- npm · `@three-ws/loom-mcp`: 66/100 (this document), [markdown](https://verifymcp.io/servers/nirholas-loom-mcp/three-ws-loom-mcp.md), [page](https://verifymcp.io/servers/nirholas-loom-mcp/three-ws-loom-mcp)

## Channel facts

- Registry: `npm`
- Package: `@three-ws/loom-mcp`
- Version: `0.1.1`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Supply Chain Security**: 87/100
  - No malware found by supply-chain analysis.
  - Only part of the dependency tree could be resolved (95 of 99), so this covers what we could see, not the whole tree.
  - No install/post-install scripts declared.
  - Only part of the dependency tree could be resolved (95 of 99), so this covers what we could see, not the whole tree.
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (Apache-2.0).
  - Actively maintained (last published 29 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 61/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 918 tokens (~306/item across 3 items; 3 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 23/100
  - Stability observed for 7 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

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

### Codex

```bash
codex mcp add nirholas-loom-mcp -- npx -y @three-ws/loom-mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "nirholas-loom-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@three-ws/loom-mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add nirholas-loom-mcp --command npx --arg -y --arg @three-ws/loom-mcp
```

### Hermes

```yaml
mcp_servers:
  nirholas-loom-mcp:
    command: "npx"
    args: ["-y", "@three-ws/loom-mcp"]
```

### Other

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

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 66, +4)

- [functional improvement] Stability: unverified → 0.23

### 2026-08-02 (score 62, +44)

- [security regression] Provenance: unverified → fail
- [security improvement] Known CVEs: unverified → partial
- [security improvement] Install scripts: unverified → pass
- [security improvement] Malware scan: unverified → pass
- [security] Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window).
- [functional regression] Tool coverage: 100 → unverified
- [functional improvement] Schema quality: unverified → excellent
- [functional improvement] License: unverified → pass
- [functional improvement] Dependency health: unverified → partial
- [functional improvement] Maintenance: unverified → pass
- [functional improvement] MCP protocol: unverified → pass
- [functional] Licence: Apache-2.0

### 2026-08-01 (score 18, −5)

- [security] Stability: Stability not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet.
- [functional regression] Capabilities: pass → unverified

### 2026-07-31 (score 23, −1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-27 (score 24)

First indexed and scored.

## MCP tools (3)

### `get_loom_feed` (~198 tokens)

Browse the Loom 3D-creation gallery

Browse Loom — the public, world-readable gallery of community-forged 3D creations (a forged GLB plus the prompt that made it and a bit of attribution), returned newest-first. Each creation includes its id, prompt, glbUrl, previewImageUrl, author, tier, backend, createdAt (ms epoch), plus a ready-to-use `viewer_url` (the /forge/embed orbit+AR viewer), `og_image_url`, and a paste-ready `iframe_snippet`. Paginate backwards with `before`: pass the `nextBefore` cursor from the previous page to load older items; a null `nextBefore` means you reached the end. Read-only, no key required.

Input parameters:

- `before` (integer): Pagination cursor (ms epoch): return only creations older than this. Pass the prior page's nextBefore.
- `limit` (integer): How many creations to return (1–120, default 60).

### `get_creation` (~128 tokens)

Fetch one Loom creation by id

Fetch a single Loom creation by its id. Returns the full record — prompt, glbUrl, previewImageUrl, author, tier, backend, createdAt — together with a `viewer_url` (the /forge/embed orbit+AR viewer for the GLB), an `og_image_url`, and a paste-ready `iframe_snippet` so the model can be previewed inline. Returns a not_found error if no creation has that id. Read-only, no key required.

Input parameters:

- `id` (string, required): The creation id (a UUID) from the feed or from a prior submit_creation.

### `submit_creation` (~383 tokens)

Submit a creation to the Loom gallery

Contribute a forged 3D creation to Loom, the PUBLIC, world-readable community gallery. ⚠️ Anything you submit becomes visible to everyone on the platform, so only post models you intend to share. Requires `prompt` (the text that forged it, ≤1000 chars) and `glbUrl` (an https URL to the GLB, hosted on an allowed domain: three.ws, r2.dev, cloudflarestorage.com, replicate.delivery, githubusercontent.com). Optional: `author` attribution (free text, ≤40 chars — NOT an authenticated identity; defaults to "anon"), `previewImageUrl`, `tier`, and `backend`. No key or account is needed; the endpoint is rate-limited to ~20 submissions per hour per IP. Re-submitting the exact same glbUrl returns the existing creation instead of duplicating it. Returns the stored creation with its id and a ready-to-use viewer_url + iframe_snippet. The only coin this platform references is $THREE — never put any other token in a prompt.

Input parameters:

- `author` (string): Attribution shown on the creation (free text, ≤40 chars). Not an authenticated identity. Defaults to "anon".
- `backend` (string): Optional name of the forge backend that produced the GLB.
- `glbUrl` (string, required): https URL to the GLB. Must be hosted on an allowed domain: three.ws, r2.dev, cloudflarestorage.com, replicate.delivery, githubusercontent.com.
- `previewImageUrl` (string): Optional URL of a preview/thumbnail image for the feed.
- `prompt` (string, required): The prompt that forged the model. Required, 1–1000 chars. Shown publicly under the creation.
- `tier` (string): Optional forge tier/quality label (e.g. the model preset used).

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/nirholas-loom-mcp/three-ws-loom-mcp#diagnostics

## Score history

- 2026-08-03: 66
- 2026-08-02: 62
- 2026-08-01: 18
- 2026-07-31: 23
- 2026-07-30: 24
- 2026-07-28: 24
- 2026-07-27: 24

## Links

- npm package: https://www.npmjs.com/package/@three-ws/loom-mcp
- Socket report: https://socket.dev/npm/package/@three-ws/loom-mcp
- Repository: https://github.com/nirholas/three.ws
- Website: https://three.ws/
- Changelog RSS feed: https://verifymcp.io/servers/nirholas-loom-mcp/three-ws-loom-mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/nirholas-loom-mcp/three-ws-loom-mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/nirholas-loom-mcp/three-ws-loom-mcp
