@shipclub/plan-mcp
v0.0.7
Published
MCP server that helps an LLM plan and stay on track by saving and injecting context.
Readme
plan-mcp
MCP server that helps an LLM plan and stay on track by saving and injecting context.
Tools
get-plangets the current planadd-tasks-to-planadds tasks to the end of the current planget-next-taskwill mark the current task as done, and mark the next task as in progress
Get started
Add this as an MCP tool with npx for example in Cursor .cursor/mcp.json:
{
"mcpServers": {
"plan": {
"command": "npx",
"args": [
"-y",
"@shipclub/plan-mcp@latest"
],
"env": {
"SHIPCLUB_PROJECT_PATH": "/Users/your-user/code/your-project"
}
}
}
}Project path
SHIPCLUB_PROJECT_PATH will specify where a .shipclub directory should be created.
This is used to store a markdown representation of the tasks that can be edited in .shipclub/tasks.
Triggers
Optionally a trigger can be added in .shipclub/triggers/task-completed
This will run when next task is called and needs to pass before the LLM is given the next task. e.g. to run typechecks before moving on.
Make sure to chmod +x the task-completed trigger.
Analytics
plan-mcp collects anonymised usage and meta data with Posthog -- this doesn't include your plan or task information.
This is used to inform what is working (and not) to try and make it better in future.
For example, this includes:
- Add tasks and the number of tasks added
- The current status of tasks
- Calls to next task, and if a trigger run fails
This MCP server won't send us code or task text.
You can opt out by setting SHIPCLUB_NO_ANONYMISED_ANALYTICS to 1.
TODO
- [X] Add tasks
- [X] Get plan
- [X] Get next task (updating the current task to done)
- [X] Add lifecycle hooks
- [ ] Add subtasks
- [ ] Add dependencies
- [ ] Edit tasks
