Skip to main content

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.6.1 — public package + registry listing (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.

  1. If tools fail with “no PLAN.md” → create_plan first.
  2. get_current_iteration — what to work on now (JSON).
  3. get_iteration(version) — one iteration’s tasks and progress.
  4. Mutate with add_task / complete_task / start_iteration / close_iteration.
  5. show_plan is 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 / … Surgical mutations
complete_task / reopen_task Checkbox updates; 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)

Versions live in pyproject.toml, powerplan/__init__.py, and server.json. Keep them equal.

PyPI uses GitHub Actions trusted publishing (no API token in the repo).

  1. One-time: on PyPI publishing add a pending publisher:
    • Project name: powerplan-mcp
    • Owner: CynaCons
    • Repository: powerplan
    • Workflow name: publish.yml
    • Environment: (leave empty)
  2. Tag and push: git tag v0.6.1 && git push origin v0.6.1
  3. .github/workflows/publish.yml builds, uploads to PyPI, then publishes server.json to the official MCP Registry via mcp-publisher login github-oidc.

Manual registry publish (after the wheel is on PyPI):

mcp-publisher login github
mcp-publisher publish

mcp-publisher verifies mcp-name: io.github.CynaCons/powerplan in the PyPI README, so that string must stay in this file.


License

MIT — see LICENSE.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

powerplan_mcp-0.6.1.tar.gz (35.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

powerplan_mcp-0.6.1-py3-none-any.whl (29.0 kB view details)

Uploaded Python 3

File details

Details for the file powerplan_mcp-0.6.1.tar.gz.

File metadata

  • Download URL: powerplan_mcp-0.6.1.tar.gz
  • Upload date:
  • Size: 35.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for powerplan_mcp-0.6.1.tar.gz
Algorithm Hash digest
SHA256 2dc7afaf227a4d5486d76742ed964a0be0c831cb2caa46bc8108abf23d8d4714
MD5 d95831281ad041524d1a4dc8f6854258
BLAKE2b-256 c6682ef6fa8d5435a6c83b6f2bc08904231abee390c75a8056635c1edeea6a90

See more details on using hashes here.

Provenance

The following attestation bundles were made for powerplan_mcp-0.6.1.tar.gz:

Publisher: publish.yml on CynaCons/powerplan

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file powerplan_mcp-0.6.1-py3-none-any.whl.

File metadata

  • Download URL: powerplan_mcp-0.6.1-py3-none-any.whl
  • Upload date:
  • Size: 29.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for powerplan_mcp-0.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e7689dfa3ba69568f66a6a87fe537078a9682313db59de656cbd379a8dd14a09
MD5 acf0c23fbf7c1d1dab3d8109c92dffe2
BLAKE2b-256 e6a23ecccf22bbf3258ffd8cd05bc1068e8ebc2dacd2e478262ff12a4402102b

See more details on using hashes here.

Provenance

The following attestation bundles were made for powerplan_mcp-0.6.1-py3-none-any.whl:

Publisher: publish.yml on CynaCons/powerplan

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.6.1 This release

2 files

0.6.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page