pypi powerplan-mcpstdioMITupdated 13d ago
PLAN.md as the operational backbone of agentic development.
¿Qué puedes hacer con powerplan?
powerplan
PLAN.md as the operational backbone of agentic development.
powerplan is an MCP server that gives
coordinators and worker agents a human-language API over your project’s
PLAN.md: show progress, create iterations, complete tasks, keep the header
truthful — without freeform file thrash.
mcp-name: io.github.CynaCons/powerplan
| MCP server name | powerplan |
| PyPI | powerplan-mcp (powerplan is a different, unrelated package) |
| Registry | io.github.CynaCons/powerplan |
| Status | v0.7.0 — batch mutations (PLAN.md) |
| Site | GitHub Pages |
| Pairs with | PowerSpawn (optional) |
Install
You need uv (provides uvx) or Python 3.10+.
uvx powerplan-mcp
That is the stdio MCP server. Point your client at it:
Claude Code / Cursor / .mcp.json
{
"mcpServers": {
"powerplan": {
"command": "uvx",
"args": ["powerplan-mcp"],
"env": {
"PYTHONIOENCODING": "utf-8",
"PYTHONUNBUFFERED": "1"
}
}
}
}
Claude Desktop
Same block in claude_desktop_config.json (mcpServers).
Grok (~/.grok/config.toml or project config)
[mcp_servers.powerplan]
command = "uvx"
args = ["powerplan-mcp"]
env = { PYTHONUNBUFFERED = "1", PYTHONIOENCODING = "utf-8" }
enabled = true
pip (no uv)
pip install powerplan-mcp
{
"mcpServers": {
"powerplan": {
"command": "python",
"args": ["-m", "powerplan"],
"env": {
"PYTHONIOENCODING": "utf-8",
"PYTHONUNBUFFERED": "1"
}
}
}
}
Agent guide
Prefer scoped tools. Do not read all of PLAN.md to figure out what to do.
- If tools fail with “no PLAN.md” →
create_planfirst. get_current_iteration— what to work on now (JSON).get_iteration(version)— one iteration’s tasks and progress.- Mutate with
add_task/add_tasks/complete_task(indexesfor several) /start_iteration/close_iteration. show_planis a human skim, not a dump.
Every tool accepts optional plan_path (relative or absolute). Default: walk up
from cwd to the nearest PLAN.md.
Optional agent on mutations writes a trailing [agent: id] tag on the touched line.
Why
Agents often edit PLAN.md by hand. Headers drift, “COMPLETE” gets stamped
without proof, and multi-agent swarms step on each other. powerplan is the
single writer: tolerant reader, surgical writer, optional [agent: …] tags.
Tools
| Tool | Behavior |
|---|---|
create_plan |
Bootstrap ./PLAN.md (or plan_path) when missing; force to overwrite |
get_current_iteration |
Preferred for agents — scoped JSON for current work |
get_iteration |
JSON for one version (tasks, progress) |
list_iterations / find_task / get_backlog |
Navigate without full-file reads |
create_major / create_iteration / add_task / add_tasks |
Surgical mutations (batch add in one write) |
complete_task / reopen_task / remove_task / defer_task |
One or many (indexes / tasks); optional [agent: id] |
start_iteration / close_iteration |
ACTIVE/current vs COMPLETE lifecycle |
check_plan |
Structure lint |
show_plan / show_current_iteration |
Compact human skim (not a full dump) |
Managed plan format
| Construct | Pattern |
|---|---|
| Major | ## vX.Y — Title |
| Iteration | ### vX.Y.Z — Title |
| Goal | **Goal:** … |
| Tasks | - [ ] / - [x] |
| Backlog | ## Backlog |
Phase-like headers and other prose are preserved as opaque blocks.
From source
Clone, editable install, or PowerSpawn submodule — for contributors.
git clone https://github.com/CynaCons/powerplan.git
cd powerplan
pip install -e ".[dev]"
python -m powerplan # same stdio server
# or: powerplan-mcp
PowerSpawn can vendor this repo as a git submodule. Register both MCP servers — they do not merge:
{
"mcpServers": {
"powerplan": {
"command": "uvx",
"args": ["powerplan-mcp"]
},
"powerspawn": {
"command": "python",
"args": ["-m", "powerspawn.mcp_server"]
}
}
}
Path-only (no install): python /path/to/powerplan/powerplan_server.py
Landing page: cd site && npm ci && npm run dev
Releasing (maintainers)
Full procedure, identities, and failure history: docs/RELEASING.md.
Agent checklist: project skill release-powerplan (/release-powerplan).
Short path: bump every version file listed in that guide → pytest -q → tag
vX.Y.Z → push the tag. .github/workflows/publish.yml uploads powerplan-mcp
to PyPI, then server.json to the MCP Registry as io.github.CynaCons/powerplan.
License
MIT — see LICENSE.
Instalación
Añade powerplan a tu cliente. Elige el que uses.
claude mcp add powerplan-mcp -- uvx powerplan-mcpcodex mcp add powerplan-mcp -- uvx powerplan-mcpamp mcp add powerplan-mcp -- uvx powerplan-mcp{
"mcpServers": {
"powerplan-mcp": {
"command": "uvx",
"args": [
"powerplan-mcp"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"powerplan-mcp": {
"command": "uvx",
"args": [
"powerplan-mcp"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
code --add-mcp '{"name":"powerplan-mcp","command":"uvx","args":["powerplan-mcp"]}'Or add the block manually to `.vscode/mcp.json` under `servers`.
{
"mcpServers": {
"powerplan-mcp": {
"command": "uvx",
"args": [
"powerplan-mcp"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"powerplan-mcp": {
"command": "uvx",
"args": [
"powerplan-mcp"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"powerplan-mcp": {
"command": "uvx",
"args": [
"powerplan-mcp"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"powerplan-mcp": {
"type": "local",
"command": "uvx",
"args": [
"powerplan-mcp"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"powerplan-mcp": {
"command": {
"path": "uvx",
"args": [
"powerplan-mcp"
]
}
}
}
}Add to your Zed `settings.json`.
uvx powerplan-mcpRun `goose configure`, choose **Add Extension → Command-line Extension**, and paste this command.
4 herramientas
powerplan expone 4 herramientas a un agente conectado.
- create_plan
- Bootstrap `./PLAN.md` (or `plan_path`) when missing; `force` to overwrite
- get_current_iteration
- **Preferred for agents** — scoped JSON for current work
- get_iteration
- JSON for one version (tasks, progress)
- check_plan
- Structure lint
Puntuación
75 / 100
Buena
- Documentación25/25
- Mantenimiento19/25
- Confianza13/20
- Capacidad6/15
- Instalación12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 5 days ago
- Has a release history
- Repository is not archived
- Licensed MIT
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 4 tool(s) documented
- Provides prompt templates
- Provides resources
- 12 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint — no local install
Historial de versiones
| Versiones | Publicada |
|---|---|
| 0.7.0Última | 26 ago 2026 |
| 0.6.1 | 22 ago 2026 |