clutter-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CLUTTER_API_KEY | Yes | Your Clutter API key (clt_live_...). Required. | |
| CLUTTER_API_URL | No | Override the base API URL. Defaults to https://clutter.run/api. | https://clutter.run/api |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| clutter_whoamiA | Return the authenticated Clutter user for the configured API key. |
| get_usageC | Your Clutter API usage (request counts by route) over a rolling window + the daily quota. |
| list_projectsA | List all of your Clutter projects (top-level tenant containers). |
| create_projectB | Create a new Clutter project. Returns the project (with its id). |
| list_orgsB | List the synthetic organisations in a project. |
| build_orgA | 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. |
| get_orgB | Get an organisation including its full org.json structure. Check |
| wait_for_orgB | Poll an org until its build reaches a terminal state (ready/failed) or the timeout. Returns the final org summary. |
| query_orgC | Ask a grounded natural-language question about an organisation (synchronous answer). |
| delete_orgA | Delete an organisation and ALL its runs/artefacts (S3 + DB). Irreversible. |
| list_runsC | List the generation runs under an organisation. |
| create_runA | 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? } |
| get_runA | Get a run's status + progress counts. Poll this until status is terminal. |
| wait_for_runA | Poll a run until it reaches a terminal state (complete/partial/failed) or the timeout. Returns the final run status. |
| list_run_documentsA | List the documents generated by a run (title, format, folderPath, status). |
| get_document_urlC | Get a short-lived presigned download URL for a single generated document. |
| build_zipA | Start building a single ZIP of all of a run's documents. Poll get_zip_url after. |
| get_zip_urlB | Get a presigned download URL for a run's ZIP (409 until the build is ready). |
| delete_runA | Delete a run and its artefacts (S3 + DB). Leaves the parent org intact. Irreversible. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 19 tools
Each tool has a clearly distinct purpose: building orgs, building zips, user info, project/run CRUD, document retrieval, polling, and querying. No two tools share overlapping functionality.
Most tools follow verb_noun pattern (e.g., build_org, create_project, list_runs). The exception is clutter_whoami, which breaks the pattern by using a noun_verb style and including the service name.
19 tools cover all necessary operations for the domain: org and run lifecycle, document management, project listing, user info, usage, and polling. The scope is well-balanced without being overwhelming.
The surface covers core CRUD for orgs, runs, documents, and projects. A minor gap is the lack of a get_project tool (only list_projects exists), but agents can work around it.