PlanExeBLOCK
Create a plan from a description in minutes
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
<source media="(prefers-color-scheme: dark)" srcset="docs/hero/planexe-hero-v1-grid-dark.svg"> <img src="docs/hero/planexe-hero-v1-grid-light.svg" alt="The PlanExe icon is the P character and E character" width="100%">
Planning complex projects should not require a consulting-firm budget.
Turn a complex project brief into an editable planning baseline in about 15 minutes.
Create an account | See example plans | Getting started guide
Why PlanExe exists
Good ideas are not limited to people and organizations that can afford a large consulting engagement. Turning an ambitious idea into a coherent project, however, normally requires substantial time, specialist knowledge, stakeholder interviews, and repeated synthesis.
PlanExe is open-source software for people and AI agents that need to plan complex projects. Describe a project in plain language and PlanExe creates a structured first-pass plan: the assumptions to challenge, decisions to make, work to coordinate, risks to investigate, and questions that must be answered before execution.
The result is not a substitute for stakeholder participation or professional sign-off. It is a way to begin with a broad, inspectable planning baseline instead of a blank page.
What PlanExe does
PlanExe examines a project
1857824dd70aOBSERVED · 2026-10-01Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.
claude mcp add PlanExe --env ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY} --env ANTHROPIC_OAUTHTOKEN=${ANTHROPIC_OAUTHTOKEN} --env OPENROUTER_API_KEY=${OPENROUTER_API_KEY} --env PLANEXE_API_KEY_SECRET=${PLANEXE_API_KEY_SECRET} -- uvx PlanExe{
"mcpServers": {
"PlanExe": {
"command": "uvx",
"args": [
"PlanExe"
],
"env": {
"ANTHROPIC_API_KEY": "${ANTHROPIC_API_KEY}",
"ANTHROPIC_OAUTHTOKEN": "${ANTHROPIC_OAUTHTOKEN}",
"OPENROUTER_API_KEY": "${OPENROUTER_API_KEY}",
"PLANEXE_API_KEY_SECRET": "${PLANEXE_API_KEY_SECRET}"
}
}
}
}Trust audit
BLOCKgrade D · trust 63/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | WARN |
| L2 | Instruction surface (what it tells the agent) | FAIL |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (4 observation(s))
- Network
- declared (10 observation(s))
- Shell
- none-observed
- Dependencies
- pinned
- Secrets in source
- found
Findings (25)
- Not a jailbreak mechanism
3. **Read the report file.** For large HTML reports, read the whole file; the system prompt's hard limits (≤8 key_values, ≤5 of each list, ≤25-word comments) keep output bounded regardless of input si
## Output Shape (re-stated for emphasis — see system prompt for full detail)
# Plan: "Smart On The Fly" Agent Routing (Business vs Software)
# PLANEXE_MCP_PUBLIC_BASE_URL='http://192.168.1.40:8001'
# PLANEXE_MCP_CORS_ORIGINS='http://localhost,http://127.0.0.1'
# PLANEXE_MCP_PUBLIC_BASE_URL='http://192.168.1.40:8001'
# PLANEXE_MCP_CORS_ORIGINS='http://localhost,http://127.0.0.1'
rows.append("\n## Missing Information 🧩🤷♂️🤷♀️")DATABASE_URL: postgres://planexe:planexe@postgres:5432/orchestration
DATABASE_URL=postgres://planexe:planexe@localhost:5432/orchestration
.env.developer-example
.env.docker-example
3. Run `python serve.py` to serve `site/` at `http://127.0.0.1:18525/`.
- Shared host files: `.env` and `./llm_config/` mounted read-only; `.env` is also loaded via `env_file`.
Open the `.env` file in a text editor and insert your OpenRouter API key. Like this:
Update `OPENROUTER_API_KEY` with your open router api key.
resolved at load time from `.env` via `PlanExeDotEnv`.
| `dotenv_utils.py` | Load `.env` from mcp_cloud/ or repo root | `load_planexe_dotenv` |
- Env defaults: derives `SQLALCHEMY_DATABASE_URI` from `PLANEXE_POSTGRES_HOST|PORT|DB|USER|PASSWORD` (fallbacks to `database_postgres` + `planexe/planexe` on 5432); `PLANEXE_CONFIG_PATH=/app`; `PLANEX
<iframe width="560" height="315" src="https://www.youtube.com/embed/dhrgwW-8rl4?si=Hkc_e5onS6xD1Aca" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encry
<iframe width="560" height="315" src="https://www.youtube.com/embed/rVsH_iUZayA?si=VJz4uYnxyob4zYp_" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encry
| Token endpoint | `POST /oauth/token` – exchange `code` for access token (JWT) | Medium |
When the app runs on `localhost` (e.g. `http://localhost:5001`), Stripe’s servers cannot reach your machine. They need to POST to your webhook URL; `localhost` is only reachable from your own computer
Gates applied: instruction_override, no_behavioural_pass.
1857824dd70afull audit observations/trust-audit/mcp-server/planexeorg__planexe.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-01 | 1857824dd70a | BLOCK | D | 63 | first audit |
Questions
What is the PlanExe MCP server?
Create a plan from a description in minutes
Is PlanExe safe to connect to an agent?
No — not without reading the findings first. The audit graded it D (63/100) and found 4 critical or high issues in the source. Each one is listed on this page with the file and line it is on.
What credentials does PlanExe need?
It reads ANTHROPIC_API_KEY, ANTHROPIC_OAUTHTOKEN, OPENROUTER_API_KEY, PLANEXE_API_KEY_SECRET, PLANEXE_API_KEY_SHOW_ONCE, PLANEXE_AUTH_REQUIRED, PLANEXE_DATABASE_WORKER_API_KEY, PLANEXE_DOWNLOAD_TOKEN_TTL, PLANEXE_FRONTEND_MULTIUSER_SECRET_KEY, PLANEXE_MCP_API_KEY, PLANEXE_MCP_REQUIRE_USER_KEY and PLANEXE_OAUTH_DISCORD_CLIENT_ID from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.
How does PlanExe run?
It speaks streamable-http, so it runs as a service you connect to over the network. It is published on PyPI as PlanExe.
How current is this page?
The grade is for one exact copy of the source (1857824dd70a), read on 2026-10-01. The repository is watched and re-audited when it changes.