Cpm Planner logo

Cpm Planner

Plans agent task graphs with CPM schedules, lock-aware parallel cohorts, resource leveling, risk simulation, and earned-value tracking.

Install Cpm Planner

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "cpm-planner": {
      "command": "npx",
      "args": [
        "-y",
        "@matthew-cochran/cpm"
      ],
      "env": {
        "CPM_PLANNER_DB": "YOUR_VALUE_HERE"
      }
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Values are written into the snippet above so you can paste it as is. They never leave your browser.

Automated check passed— started and listed 25 tools correctly (Today).

Overview

cpm-planner MCP server turns task graphs into CPM schedules with critical paths, slack, bottlenecks, and dependency-aware execution state. Its lease system assigns ready deliverables in file-disjoint cohorts, allowing workers to run concurrently while tracking locks, heartbeats, status, and failures. Repository-based plans support linting, synchronization, revisions, forks, comparisons, selection, and archiving, while scheduling, Monte Carlo, baseline, and earned-value tools support planning and control. Reach for it when an agent workflow needs coordinated parallel file work rather than a simple task list.

Use cases

  • Coordinate parallel agent work across non-overlapping files
  • Calculate critical paths and resource-constrained project schedules
  • Simulate schedule risk with Monte Carlo estimates
  • Track earned value against frozen delivery baselines
  • Compare and promote alternative plan variants

Key features

  • Critical Path Method scheduling
  • Lock-aware parallel cohorts
  • File-overlap linting and lease management
  • Resource leveling and Monte Carlo simulation
  • Plan-as-code variants and workflow compilation
  • Earned-value baselines and reporting

Tools25

What Cpm Planner lets your agent do. Expand a tool for its parameters.

Verified live~19.2k tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked Today

Recent health check succeeded.

6/6 checks healthy over the last 21d

What it can do

From the 25 tools this server returned when we ran it.

Runs commands · 1Read-only tools · 24
Network at startup3 connections
Files written at startup4
Install scriptspostinstall
npm provenanceSigned build
Package age26 days
Maintainers1

Observed 2026-11-06 in an isolated sandbox. A description of reach, not a security audit.

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 12h ago via OSV.dev · @matthew-cochran/cpm (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

npm downloads1.5kPackage downloads in the last 30 days.
Last commit5d agoMost recent push to the default branch.
Availability100%Our rolling endpoint + install checks that succeeded.
Install checkPassedOur sandbox started it and listed its tools.
Tools exposed25Callable tools this server registers over MCP.

How Cpm Planner works

What cpm-planner does

cpm-planner exposes project planning and execution controls through MCP over standard input and output. An agent submits a directed task graph, and the server calculates earliest and latest dates, slack, the critical path, bottleneck tasks, and ready deliverables. Plans can also be represented as JSON files under .cpm-planner/plans/<name>/<variant>.json, allowing plan definitions to be tracked and registered from a repository.

The execution model is designed for multiple workers. plan.acquire_cohort leases up to a requested number of ready deliverables whose file claims do not conflict. Append claims can be co-leased on a shared path, and prerequisite ordering can permit otherwise repeated ownership. Heartbeats extend leases, status updates complete or fail work, and force-release provides an operator recovery path. Lockless manual progress and acceptance are audited.

How it works

Use plan.submit for an in-memory task graph, or plan.sync to register a named file-backed plan variant. plan.status reports schedule, critical-path, ready-set, and lock information; plan.get reads the stored graph. A plan can be revised in place while carrying forward compatible progress, forked into a draft variant, selected as the executable variant, compared with alternatives, or archived.

Read-only analysis includes graph linting, resource-capacity leveling, schedule simulation, and Monte Carlo risk calculations. Release workflow metadata can be compiled into ordinary plans and compared for policy or estimate drift. Baselines freeze schedule and budget values for earned-value reporting, and plan.ev and plan.snapshot calculate measures including PV, EV, AC, SPI, CPI, schedule variance, and cost variance. Optional review can inspect a graph, stored plan, or plan file after linting.

Setup and configuration

Prebuilt binaries are available for Linux, macOS, and Windows on x86_64 and ARM64. The latest-release installer verifies SHA-256 checksums before installation. Other supported routes include the npm launcher, a tagged Cargo build, and a Docker image. Node.js 18 or later is required for the npm route; building from source requires Rust 1.99 or newer.

Register the installed executable as an MCP server using its stdio transport. Docker requires an interactive stdin (-i) and can persist state in a mounted /data volume. The Docker image uses CPM_PLANNER_DB=/data/cpm-planner.db; set CPM_PLANNER_DB to override the database location. Restart the MCP client after upgrading the executable.

Tools and capabilities

  • Submit, read, revise, synchronize, export, fork, select, archive, compare, and list plans and variants.
  • Compute CPM schedules, critical paths, slack, ready sets, resource loads, driving chains, and buffers.
  • Acquire lock-aware cohorts with file ownership, append sharing, TTL heartbeats, and release controls.
  • Lint graphs for cycles, redundant or unsupported edges, unproductive deliverables, and unordered file overlaps.
  • Simulate schedules with capacities and Monte Carlo iterations, including what-if analysis without persistence.
  • Freeze baselines and produce earned-value reports, snapshots, alerts, and per-deliverable progress data.

Limitations and notes

The server uses stdio rather than a network transport in the documented setup. It is standalone and does not require praxec, although praxec workflows can drive it. A lockless in_progress status has no lease and is not automatically available for cohort acquisition; it must be handed back through a lockless status update. Archived variants remain readable but reject synchronization, selection, and execution. Plan files are tracked by content hash, so changes can be surfaced as definition drift.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Cpm Planner

cpm-planner is an MCP server that connects AI agents to task-graph planning and repository-based plan files through stdio. Its main tools calculate CPM schedules, acquire lock-aware cohorts of ready deliverables, manage execution status, lint and simulate plans, compare variants, and report earned value against baselines.

Install the latest prebuilt binary with the Linux/macOS or Windows installer, or use the npm launcher, Cargo, or Docker. The npm path requires Node.js 18 or later, while source builds require Rust 1.99 or newer. Register the resulting executable with your MCP client over stdio.

Yes, cpm-planner works with Cursor over stdio. The server is also named for use with Claude Code, VS Code, and Codex, and it can be driven by a custom orchestrator or praxec workflow.

It acquires cohorts of ready deliverables whose claimed file sets are mutually disjoint. Append claims may be co-leased on one path, while prerequisite ordering can permit shared ownership in specific cases. Leases have TTLs that workers can refresh with heartbeats.

Create a baseline with `plan.baseline`, record progress and actual effort through `plan.mark_status`, then call `plan.ev` or `plan.snapshot`. Reports include PV, EV, AC, SV, CV, SPI, CPI, EAC, ETC, VAC, and TCPI, along with per-deliverable data.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewCpm Planner AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/cpm-planner?style=directory)](https://allmcps.com/mcp/cpm-planner)
HTML Embed
<a href="https://allmcps.com/mcp/cpm-planner"><img src="https://allmcps.com/api/badge/cpm-planner?style=directory" alt="Cpm Planner on AllMCPs" /></a>