manifestation-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@manifestation-mcpI want to add a dark mode toggle to my Flask app. Walk me through it."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
manifestation-mcp
An MCP server that makes a coding agent design-first. The moment you want to build something, it doesn't lunge into code — it steps back and interviews you, teases out a spec and shows it back in digestible chunks, turns your sign-off into a bite-sized red/green TDD plan, and then runs a subagent-driven development loop (implementer → reviewer → quality gate) that can grind through the plan on its own.
It's a portable Python MCP server: the server is the brain (a five-phase state
machine + your spec/plan + a skills library) and it runs its own subagents
internally via the Claude Agent SDK — so one run call can work autonomously for
a long stretch without drifting from the plan.
The five phases
DISCOVERY → interview you; do NOT write code
SPEC → draft a spec; sign off chunk-by-chunk
PLAN → bite-sized red/green TDD task list (YAGNI, DRY)
EXECUTE → per task: implementer subagent → reviewer subagent → gate
DONE → artifacts left under .manifestation/ in your repoState lives as inspectable files in the target repo:
<repo>/.manifestation/<project-id>/{state.json, spec.md, plan.md}.
Related MCP server: Spec Guard
Requirements
Python 3.10+
uv(brew install uv)For live execution (
run): the Claude Code CLI on yourPATHand Claude credentials (ANTHROPIC_API_KEYor an existing Claude Code login). The Agent SDK drives it to run the implementer/reviewer subagents.gitin the target repo — the TDD gate usesgit worktreeto verify that a real failing test preceded the implementation.
Setup
cd manifestation-mcp
uv sync
uv run pytest # 96 tests, no network required (1 live smoke skipped)Run it
Recommended local launcher (robust against uv's editable-install quirk):
uv run python run_server.pyRegister it with Claude Code:
claude mcp add manifestation -- uv run --project /ABS/PATH/TO/manifestation-mcp python /ABS/PATH/TO/manifestation-mcp/run_server.py(For a packaged install via uvx/pipx, the manifestation-mcp console script
works directly.)
Auto-trigger (optional)
Copy skill-shim/SKILL.md into your Claude Code skills (e.g.
~/.claude/skills/manifestation/SKILL.md). Its description fires on "build /
implement / add a feature", so the workflow starts itself — you don't have to
invoke anything. Without it, kick off manually with the /manifestation prompt or
by calling the start_project tool.
The tools
Tool | What it does |
| Create a project (validates the repo path); returns interview questions. |
| Feed answers; asks more or advances to SPEC. |
| Next digestible spec chunk to review (bounded in size). |
|
|
| Generate the repo-aware TDD plan; returns full task bodies. Does not start execution. |
| Record the user's sign-off and advance to EXECUTE. |
| Subagent-driven loop with a server-verified TDD gate; checkpoints per step; streams progress; reports |
| Unblock a BLOCKED task so |
| Inspect progress (per-task attempts, findings, approval state). |
Prompt: /manifestation <brief>. Resources: skills://all, skill://<name>.
Model selection
Nothing is hard-coded to a dated model. By default the server inherits the
model the Claude Code CLI is configured with. Override globally with the
MANIFESTATION_MODEL env var (e.g. MANIFESTATION_MODEL=claude-opus-5), or
per-invocation in code via AgentSDKClient(model=...).
Safety model (read before using run)
run executes real subagents in your repo, so understand the trust boundary:
The implementer gets write +
Bash. That is arbitrary code execution in the target repo by design — run it only against repos you trust, and prefer a container/VM for untrusted work. There is no sandbox.The reviewer and planner are read-only two ways: mutating tools are in the SDK's
disallowed_tools, and acan_use_toolpermission callback denies every tool not on their allowlist — covering tools we didn't enumerate (WebFetch, Task, MCP tools). Safe even in an untrusted repo.TDD is verified server-side, not trusted from prose. After the implementer runs, the server runs the task's declared test command itself: it must pass at
HEAD(real GREEN), and it must fail when re-run against the implementer's test-only commit (HEAD~1) in a throwaway git worktree (real RED). Fabricated or reordered evidence is caught; fail-closed if git/test can't confirm it.A PASS verdict with any trailing findings is treated as a contradiction and fails the task.
runrequires an approved plan, checkpoints after every step (and resumes a crashed attempt at the review step rather than re-running the implementer, so edits aren't duplicated), keeps a full audit trail, and is always bounded —max_agent_calls/max_budget_usd(both exposed via MCP), or a built-in default cap.Mutating tool calls are serialized per project by an in-process lock and a cross-process file lock.
Prompt injection via the brief/answers/spec still flows into subagent prompts — treat project inputs as untrusted.
How it stays honest (and testable)
Every LLM interaction goes through one injectable seam (LLMClient). Unit tests
inject a FakeLLMClient, so the whole state machine — discovery, spec chunking,
plan generation, and the execute loop with its retries and review gates — is
verified with zero network calls. The real AgentSDKClient sits behind that
seam and is only exercised by the opt-in live smoke test.
Architecture
src/manifestation_mcp/
server.py # MCP tools/prompts/resources (thin wiring)
state.py # Project/Phase/Task model + file persistence + registry
llm.py # LLMClient seam: FakeLLMClient (tests) + AgentSDKClient (real)
agents.py # implementer / reviewer / planner subagent presets
runner.py # CommandRunner seam: SubprocessRunner (real) + FakeCommandRunner
phases/ # discovery, spec, plan, execute, verify (server-side TDD check)
skills/ # bundled Markdown skills, injected into subagent prompts
run_server.py # bulletproof local launcher
skill-shim/ # optional Claude Code auto-trigger skillMaintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceA methodology and MCP server for agent-driven software development where humans write specs and agents implement code, enforced by six mechanical gates to ensure spec validity, contracts, tests, and review.9MIT
- AlicenseNot gradedqualityCmaintenanceAn autonomous task decomposition and execution agent that plans, executes, verifies, and commits code changes for engineering goals.MIT
- FlicenseNot gradedqualityCmaintenanceEnables AI coding agents to plan, build, and review websites and product interfaces with a persistent, user-led process, including design direction, component contracts, and implementation review.
Related MCP Connectors
Design intelligence for coding agents: audits, design systems, and a taste profile agents consult.
Adaptive plan/build/review cycles for AI coding assistants, persisted across sessions.
Design spec + milestones AI coding agents read before building; drift flagged, changes reviewed.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/aiarghya1/manifestation-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server