# Clutter (npm · clutter-mcp)

Generate synthetic companies, documents & data via the Clutter API (e.g. to fill SharePoint).

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

## Components

- npm · `clutter-mcp`: 64/100 (this document), [markdown](https://verifymcp.io/servers/michaelhologram-clutter-mcp/clutter-mcp.md), [page](https://verifymcp.io/servers/michaelhologram-clutter-mcp/clutter-mcp)

## Channel facts

- Registry: `npm`
- Package: `clutter-mcp`
- Version: `0.1.4`
- 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 (MIT).
  - Actively maintained (last published 30 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 66/100
  - AI-judged instruction clarity (good).
  - Tool/resource definitions use about 970 tokens (~48/item across 20 items; 20 tools + 0 resources), lean.
  - 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**: 74/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 23% 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 michaelhologram-clutter-mcp -- npx -y clutter-mcp
```

### Codex

```bash
codex mcp add michaelhologram-clutter-mcp -- npx -y clutter-mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "michaelhologram-clutter-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "clutter-mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add michaelhologram-clutter-mcp --command npx --arg -y --arg clutter-mcp
```

### Hermes

```yaml
mcp_servers:
  michaelhologram-clutter-mcp:
    command: "npx"
    args: ["-y", "clutter-mcp"]
```

### Other

```json
{
  "mcpServers": {
    "michaelhologram-clutter-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "clutter-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-02 (score 64, +46)

- [security regression] Provenance: unverified → fail
- [security improvement] Install scripts: unverified → pass
- [security improvement] Known CVEs: unverified → partial
- [security improvement] Malware scan: unverified → pass
- [functional improvement] Dependency health: unverified → partial
- [functional improvement] Stability: unverified → 0.20
- [functional improvement] Maintenance: unverified → pass
- [functional improvement] MCP protocol: unverified → pass
- [functional improvement] Schema quality: unverified → good
- [functional improvement] License: unverified → pass
- [functional] Licence: MIT

### 2026-07-31 (score 18, −7)

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

### 2026-07-30 (score 25, −18)

- [security regression] Malware scan: pass → unverified

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

First indexed and scored.

## MCP tools (20)

### `clutter_whoami` (~22 tokens)

Who am I

Return the authenticated Clutter user for the configured API key.

### `get_usage` (~36 tokens)

Get API usage

Your Clutter API usage (request counts by route) over a rolling window + the daily quota.

Input parameters:

- `windowHours` (integer)

### `list_projects` (~21 tokens)

List projects

List all of your Clutter projects (top-level tenant containers).

### `create_project` (~30 tokens)

Create project

Create a new Clutter project. Returns the project (with its id).

Input parameters:

- `name` (string, required)

### `delete_project` (~46 tokens)

Delete project

Delete a project and EVERYTHING under it — all its organisations, runs, datasets, metadata and artefacts (S3 + DB). Irreversible.

Input parameters:

- `projectId` (string, required)

### `list_orgs` (~25 tokens)

List organisations

List the synthetic organisations in a project.

Input parameters:

- `projectId` (string, required)

### `build_org` (~179 tokens)

Build organisation (async)

Start building a synthetic organisation from a prompt. Returns 202 with an orgId. The build runs in the background (minutes) — then poll get_org, or call wait_for_org to block until ready. Omit projectId to auto-create a project (named after the generated company) — the simplest path.

Input parameters:

- `locale_language` (string): BCP-47, e.g. en-US
- `projectId` (string): Existing project to build into; OMIT to auto-create one
- `projectName` (string): Name for the auto-created project (optional)
- `prompt` (string, required)
- `ref_org_id` (string): Build a variant FROM an existing org
- `target_systems` (array)
- `web_search` (boolean): Use web search for real-world grounding (default true; set false to disable)

### `get_org` (~31 tokens)

Get organisation

Get an organisation including its full org.json structure. Check `org.status`.

Input parameters:

- `orgId` (string, required)

### `wait_for_org` (~53 tokens)

Wait for organisation build

Poll an org until its build reaches a terminal state (ready/failed) or the timeout. Returns the final org summary.

Input parameters:

- `orgId` (string, required)
- `timeoutSeconds` (integer): default 600

### `query_org` (~48 tokens)

Query organisation

Ask a grounded natural-language question about an organisation (synchronous, one-shot answer).

Input parameters:

- `locale_language` (string)
- `message` (string, required)
- `orgId` (string, required)

### `delete_org` (~36 tokens)

Delete organisation

Delete an organisation and ALL its runs/artefacts (S3 + DB). Irreversible.

Input parameters:

- `orgId` (string, required)

### `list_runs` (~24 tokens)

List runs

List the generation runs under an organisation.

Input parameters:

- `orgId` (string, required)

### `create_run` (~158 tokens)

Create generation run (async)

Launch a generation run. Returns 202 with a runId — poll get_run or call wait_for_run.
kind + params:
• doc_generator → { prompt, doc_number (≤300), file_types:[docx|pdf|xlsx|eml|jpg], structure:'flat'|'nested', target_system?, allow_underscores? }
• data_generator → { prompt, row_count (≤2000), data_format:'xlsx'|'csv'|'json', data_fields?, target_system? }
• doc_metadata_gen → { sourceRunId (a completed doc_generator run), data_format, data_fields?, target_system? }

Input parameters:

- `kind` (string, required)
- `orgId` (string, required)
- `params` (object)

### `get_run` (~32 tokens)

Get run status

Get a run's status + progress counts. Poll this until status is terminal.

Input parameters:

- `runId` (string, required)

### `wait_for_run` (~54 tokens)

Wait for run

Poll a run until it reaches a terminal state (complete/partial/failed) or the timeout. Returns the final run status.

Input parameters:

- `runId` (string, required)
- `timeoutSeconds` (integer): default 600

### `list_run_documents` (~34 tokens)

List run documents

List the documents generated by a run (title, format, folderPath, status).

Input parameters:

- `runId` (string, required)

### `get_document_url` (~31 tokens)

Get document download URL

Get a short-lived presigned download URL for a single generated document.

Input parameters:

- `documentId` (string, required)

### `build_zip` (~35 tokens)

Build run ZIP (async)

Start building a single ZIP of all of a run's documents. Poll get_zip_url after.

Input parameters:

- `runId` (string, required)

### `get_zip_url` (~36 tokens)

Get run ZIP URL

Get a presigned download URL for a run's ZIP (409 until the build is ready).

Input parameters:

- `runId` (string, required)

### `delete_run` (~39 tokens)

Delete run

Delete a run and its artefacts (S3 + DB). Leaves the parent org intact. Irreversible.

Input parameters:

- `runId` (string, required)

## Diagnostics

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

## Score history

- 2026-08-03: 64
- 2026-08-02: 64
- 2026-08-01: 18
- 2026-07-31: 18
- 2026-07-30: 25
- 2026-07-28: 43
- 2026-07-27: 43

## Links

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