{"id":51104651,"url":"https://github.com/vncsleal/openplan","last_synced_at":"2026-06-24T13:30:22.914Z","repository":{"id":365753676,"uuid":"1271290735","full_name":"vncsleal/openplan","owner":"vncsleal","description":"Waze for AI agents planning — an MCP server that improves cost estimates by learning from every project.","archived":false,"fork":false,"pushed_at":"2026-06-18T19:02:32.000Z","size":601,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-18T19:18:36.209Z","etag":null,"topics":["ai-agent","ai-planning","cost-estimation","cost-tracking","developer-tools","mcp","model-context-protocol","open-source","opencode","planning","project-management","sqlite","typescript"],"latest_commit_sha":null,"homepage":"https://openplan.cc","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vncsleal.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-16T14:14:57.000Z","updated_at":"2026-06-18T15:41:08.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/vncsleal/openplan","commit_stats":null,"previous_names":["vncsleal/openplan"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/vncsleal/openplan","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vncsleal%2Fopenplan","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vncsleal%2Fopenplan/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vncsleal%2Fopenplan/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vncsleal%2Fopenplan/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vncsleal","download_url":"https://codeload.github.com/vncsleal/openplan/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vncsleal%2Fopenplan/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34735263,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-24T02:00:07.484Z","response_time":106,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-agent","ai-planning","cost-estimation","cost-tracking","developer-tools","mcp","model-context-protocol","open-source","opencode","planning","project-management","sqlite","typescript"],"created_at":"2026-06-24T13:30:21.832Z","updated_at":"2026-06-24T13:30:22.903Z","avatar_url":"https://github.com/vncsleal.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OpenPlan MCP Server\n\n**Waze for AI agents** — plan, track, and learn from software projects.\n\nAn [MCP](https://modelcontextprotocol.io) server that helps AI agents decompose goals into costed execution plans, checkpoint progress with deviation tracking, and learn from past project data.\n\n## Quick Start\n\n```bash\nnpx @openplan/mcp\n```\n\nThe server auto-creates its config and SQLite database on first run — no setup needed.\n\nAdd it to your MCP client:\n\n**opencode.json:**\n```json\n{\n  \"mcp\": {\n    \"openplan\": {\n      \"type\": \"local\",\n      \"command\": [\"npx\", \"-y\", \"@openplan/mcp\"]\n    }\n  }\n}\n```\n\n**claude_desktop_config.json:**\n```json\n{\n  \"mcpServers\": {\n    \"openplan\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@openplan/mcp\"]\n    }\n  }\n}\n```\n\nOr run `openplan install` to auto-detect and configure both.\n\n## Tools (3)\n\n| Tool | Description |\n|------|-------------|\n| `plan(goal, context?, replan?, project?)` | Decompose a goal into costed phases with estimates |\n| `checkpoint(phase?, actual_cost?, correct?, route_id?, project?)` | Record phase cost, correct data, or check status |\n| `review(route_id?, project?)` | Session retrospective with deviations, accuracy, learning |\n\n## Resources (3)\n\n| URI | Description |\n|-----|-------------|\n| `openplan://{project}/route` | Current route state and phase progress |\n| `openplan://profiles` | Personal bias and accuracy by action |\n| `openplan://sync-status` | Mesh sync health and pending checkpoints |\n\n## CLI\n\n```bash\nopenplan                 # Start MCP server (stdio mode)\nopenplan install         # Auto-detect and install in MCP clients\nopenplan auth            # Authenticate with Mesh via GitHub OAuth\nopenplan subscribe       # Subscribe to Pro (Stripe Checkout)\nopenplan portal          # Manage subscription (Stripe Customer Portal)\nopenplan account         # Show identity, API key, subscription\nopenplan config          # View current configuration\nopenplan mesh [on|off]   # Show or toggle Mesh sync\nopenplan status          # List routes for a project\nopenplan log             # Show checkpoint trail\nopenplan export          # Export calibration data (Pro)\nopenplan completion      # Generate shell completion script\nopenplan doctor          # Check system health and diagnose issues\n```\n\nUse `--json` on `account`, `config`, `status`, `log`, `mesh` for structured output. Auth supports `--no-browser`, `--clipboard`, `--with-token \u003ckey\u003e`, and `--debug`.\n\n## Architecture\n\n```\ncore/      Domain types, pure logic, typed ports\nhandlers/  MCP tool handlers — validation, wiring\nadapters/  Mesh sync, cost probes, config loaders\ndb/        Drizzle schema, SQLite, DataStore implementation\n```\n\n**One rule:** Core never imports adapters or handlers. The `DataStore` port insulates core from Drizzle.\n\n## Development\n\n```bash\nnpm install\nnpm run dev        # tsx watch\nnpm test           # vitest (config at vitest.config.ts)\nnpm run test:e2e   # end-to-end against compiled dist/\nnpm run build      # tsc\nnpm run lint       # biome check\n```\n\n### CI/CD\n\nGitHub Actions runs lint, test, build on every push/PR. Publish to npm happens automatically on version tags (`v*`).\n\n## Stack\n\n- **FastMCP** — MCP framework with Zod schemas for input validation\n- **SQLite** via `better-sqlite3` / Drizzle ORM — 7 tables, local-first\n- **Mesh API** (proprietary, at `github.com/vncsleal/openplan-api`) — cross-session cost learning\n- **Structured logging** — `createLogger(module)` with `[openplan:module]` prefix\n- **Coverage** — Vitest with 60% branch / 65% line thresholds\n\nLicense: MIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvncsleal%2Fopenplan","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvncsleal%2Fopenplan","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvncsleal%2Fopenplan/lists"}