Waze for AI agents planning — MCP server that improves cost estimates by learning from every project
Project description
OpenPlan
AI-native state space planner. MCP server. Python. 4 tools.
OpenPlan is an MCP server that gives AI agents a structured planning and memory system. Instead of tasks and milestones, everything is a state in a directed graph with probabilistic edges, auto-calibrating costs, and A* pathfinding that tells the agent where to go next.
Tools (4)
init — Create a new project context (idempotent). Accepts project_type for cost baselines and goal for tracked achievement markers.
act — The only mutation tool. Traverses edges, creates branches (auto-sequenced by default, parallel=True for fan-out), sets status, attaches evidence (with filesystem verification), prunes subtrees, reverts, and verifies goal satisfaction.
recommend — Returns the best next target with an A* path, confidence intervals, effective costs, project health, goal progress, cross-project estimation by type, and self-tuning bandit state.
export — Export the full graph as JSON, GraphML, or adjacency matrix.
Quick Start
pip install -e ".[dev]"
# Start the MCP server
openplan-server
Configure MCP in your opencode.json / claude_desktop_config.json:
{
"mcp": {
"openplan": {
"type": "local",
"command": ["/path/to/.venv/bin/python", "-m", "openplan.server"],
"cwd": "/path/to/openplan"
}
}
}
Architecture
MCP transport (stdio)
│
server.py (dispatch)
┌──────┴──────┐
core/ db/
├─ state.py ├─ connection.py
├─ graph.py ├─ schema.py
├─ planner.py ├─ ...
├─ activation.py
├─ embedding.py
├─ export.py
├─ recommend.py
├─ telemetry.py
└─ maintenance.py
Shell imports core. Core never imports shell. SQLite with WAL mode, foreign keys, savepoints. RW lock for concurrency.
Data Model
nodes: id, label, activation, frontier, project, props, parent_id, status, project_type
edges: source_id, target_id, action, cost_tokens, cost_risk, prob, weight_history
events: id, project, node_id, event_type, payload, version, idempotency_key, session_id
goal_markers: project, criterion, achieved, achieved_by
evidence: id, project, state_id, evidence_type, uri, status, metadata (size, mtime)
Testing
pip install -e ".[dev]"
pytest tests/ -v
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file openplan_mcp-0.8.2.tar.gz.
File metadata
- Download URL: openplan_mcp-0.8.2.tar.gz
- Upload date:
- Size: 105.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7f24040d7adfe1d9397c5abe8daf6ce48dbaa9bf62d81a4c456017aac87394df
|
|
| MD5 |
667fdb081704dfa9cc5ce9b9572df0e9
|
|
| BLAKE2b-256 |
136634c87cac18f29980a6dea17da4c14c661edc3bc837a57a326f36b2b06425
|
File details
Details for the file openplan_mcp-0.8.2-py3-none-any.whl.
File metadata
- Download URL: openplan_mcp-0.8.2-py3-none-any.whl
- Upload date:
- Size: 95.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
17ffb015d3ab49f9e2f9324532656150491e455dd9651315424a9afde5b0dac2
|
|
| MD5 |
cc9046dd8081dc186c5af35484b9d14d
|
|
| BLAKE2b-256 |
53ff7955cb25bd9843ea228a58b198ea50850d4d271c43fc9f0085f2f9f5cc26
|