Most tools are built to keep the agent moving. This one exists to interrupt it: the plan is written, the editor opens, the turn ends, and nothing else happens until a human has looked. For work where the plan is the thing worth getting right, that is the correct shape, and it is rare to see it implemented as an explicit tool contract rather than a suggestion in a prompt. Search-and-replace updates are the other right decision — a plan rewritten wholesale on every edit loses the parts the model was not thinking about.
A plan-file manager: plans live in a .complex_plans directory in the project, with create, read, update, delete and list operations plus an editor handoff for human review.
- Plans as files in the project rather than in conversation state, so they survive the session and go into version control with the code.
- updatePlan uses SEARCH/REPLACE semantics rather than rewriting the file, so an edit is targeted and the rest of the plan is untouched.
- openInEditor opens the file for the user to review and, per its own description, terminates the current turn — deliberately handing control back to a person.
- listPlans and readPlan cover retrieval, and deletePlan removes one that is no longer relevant.
- CreatePlan's description carries a protocol the caller is expected to follow rather than being a bare write.
A project directory the server can write .complex_plans into, and a configured editor for the review handoff.
One command — npx -y @tuchsoft/mcp-complex-plans --disabled-tools=sequentialThinking
