About Dynamo MCP
Dynamo MCP is an MCP server published by ruvnet in the Developer Tools category: a dyamic MCP Registry using Cookiecutter templates.
The repository has 54 stars and 15 forks, with the last commit a month ago. Recent commit activity is the strongest signal that reported issues will get attention.
Install
git clone https://github.com/ruvnet/dynamo-mcpThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about Dynamo MCP
Powered by Claude · Grounded in docs
Security checks
Static checks derived from the repository 11 hours ago. Heuristics on the source, not an audit.
- ✓README presentThe repository ships documentation.
- ✓License declaredUsable under a stated license.
- ✓Tests presentA test suite exists in the repository.
- ✓Dependencies pinnedA lockfile pins dependency versions.
- ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
- !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.
README
Dynamo MCP v2
Create a small, tested software project from an approved template. Dynamo shows the exact files first, verifies the template fingerprint, then writes a new project without running template scripts or downloading code.
This is a security focused alpha release. The old Python Cookiecutter service is retired because it allowed executable templates and unrestricted output paths. Its historical documentation remains in the migration archive.
Capabilities
| Capability | Available behavior |
|---|---|
| Project types | Node CLI, Node library, Python CLI |
| Preview | Complete rendered files and deterministic SHA256 digest |
| Template integrity | Bundled JSON templates pinned by digest in a reviewed manifest |
| Generation | Private operator directory, exclusive reservation, staged atomic source publication |
| Security | No hooks, no remote downloads, no arbitrary paths, no overwrite, file and project quotas |
| Agent tools | Official MCP SDK 2 stdio server, six tools, policy resource |
| Evaluation | Generated project tests, hostile fixtures, SDK integration tests, local benchmark |
| MetaHarness | Maintainer/security/release/benchmark profiles, sessions, field memory adapter, host configs |
| Autogenous | Actual upstream fitness gates, automatic promotion disabled |
Install and try
Requires Node 22 or 24, npm, and Python 3.11+ for Python template tests. Linux is the validated generation platform.
git clone https://github.com/ruvnet/dynamo-mcp.git
cd dynamo-mcp
npm ci --ignore-scripts
npm test
node src/cli.mjs list
node src/cli.mjs preview '{"template":"node-cli","name":"my-project"}'
Create an operator owned output directory with private permissions. Existing project names are never overwritten.
mkdir -m 700 "$HOME/dynamo-projects"
export DYNAMO_OUTPUT_ROOT="$HOME/dynamo-projects"
export DYNAMO_ALLOW_GENERATE=1
node src/cli.mjs generate '{"template":"node-cli","name":"my-project"}'
cd "$DYNAMO_OUTPUT_ROOT/my-project/source"
npm test
npm start
A generated harness.json declares validation and ecosystem links; it is not an installed full MetaHarness. The full working MetaHarness belongs to this repository and is installed separately using the linked guide.
MCP and CLI
Start node /absolute/path/dynamo-mcp/src/cli.mjs mcp from your MCP host. Stdio access inherits the launching operator's authority. No HTTP server is exposed. Generation additionally requires both environment variables above. Validation requires DYNAMO_ALLOW_VALIDATION=1; no tool accepts a shell command, environment map, or output directory.
| CLI command | MCP tool |
|---|---|
list |
templates_list |
preview JSON |
template_preview |
generate JSON |
project_generate |
status |
project_status |
test |
project_validate |
benchmark |
project_benchmark |
Resource: ruv://dynamo-mcp/policy. CLI test is explicit local authorization to run the fixed core suite. npm test runs the complete suite, including the MCP client. MCP validation runs the core suite without recursive MCP invocation. Benchmarks measure local template verification and rendering only.
Operations and limits
Inputs are capped at 32 KiB, MCP frames at 64 KiB, templates at 256 KiB, files at 64 KiB and 64 per bundle, generated projects at 100 per output root. One generation holds a root lock; two tool calls may be active. Validation is one fixed subprocess with a 30 second deadline and 64 KiB output cap; environment secrets are not forwarded.
A crash leaves a lock and potentially a private staging directory. Stop all Dynamo instances, inspect the incomplete project, and remove the stale lock and incomplete reservation manually before retrying. Dynamo never guesses that a lock is stale. Atomic visibility of the source directory does not guarantee power loss durability. Protect the root and its parents from other writers; this is not isolation from another process running under your own account. Hash receipts prove content consistency, not trusted authorship.
Development and delivery
npm test
npm run benchmark
npm audit
CI runs Node 22 and 24, all project and SDK tests, audit, and benchmark artifact upload. Tagged releases create a source archive as a CI artifact; no registry or live deployment occurs automatically. ADR, security review, and validation evidence document scope and limitations.
RuV ecosystem
RuFlo coordinates work. MetaHarness evaluates changes. Autogenous supplies fitness gates. Guardrail evaluates policy. Federated MCP provides bounded federation reads. x.ruv.io MCP is a separate federation service; Dynamo does not publish federation messages or acquire credentials.
README fetched from the repository 11 hours ago. The original is authoritative.