PlanExe
PlanExe that used MCP has been replaced by PlanExe2 that uses skills, https://github.com/PlanExeOrg/PlanExe2
Server Details
MCP server for generating rough-draft project plans from natural-language prompts.
The last two health checks of this connector failed. If this server requires authentication, missing or expired test credentials may be the cause. A test profile lets Glama authenticate for health checks and discover tools; it is separate from your personal connections.
If you are the author, claim ownership, then add or update a test profile under Admin → Test Profile.
- Status
- Unhealthy
- Uptime
- 85.0% over 64 days
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- PlanExeOrg/PlanExe
- GitHub Stars
- 403
- Server Listing
- PlanExe
TDQS
Scored across 11 tools
Each tool targets a clearly distinct operation: create, status, stop, resume, retry, list, and file retrieval for plans, plus example/feedback helpers. The potentially confusing pair (plan_resume vs plan_retry) is explicitly differentiated in both descriptions by the skip-completed-steps vs full-restart distinction.
Almost all tools use snake_case with a consistent plan_ prefix for the lifecycle group, which is highly readable. Minor deviation: example_plans/example_prompts are noun_plural while the plan group is noun_verb, and model_profiles/send_feedback sit outside either pattern.
Eleven tools is well-scoped for an asynchronous plan-generation pipeline, with each tool covering a genuine lifecycle need. No redundant or filler tools are present.
The plan lifecycle is well covered (create, status, stop, resume, retry, list, file download), plus discovery (examples, model profiles) and feedback. Minor gaps: no delete/cleanup operation and no direct plan metadata get beyond list/status.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Added
send_feedback
1 tool update
- Changed
plan_create1 field changed- added
Input schema / properties / start_dateAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Optional plan start date in ISO 8601 format with timezone offset (e.g. '2025-06-15T09:00:00+02:00'). When omitted, the plan starts now. Use this to set a past or future start date for the plan.", + "title": "Start Date" +}
3 tool updates
- Changed
plan_create1 field changed- changed
Output schema / properties / sse_url / descriptionPrevious value: -"Optional completion detector. Run `curl -N <sse_url>` in a background shell — the stream auto-closes when the plan reaches a terminal state (completed/failed). For structured progress data, use plan_status instead."New value: +"Optional completion detector. Run `curl -N <sse_url>` in a background shell — the stream auto-closes when the plan reaches a terminal state (completed/failed/stopped). For structured progress data, use plan_status instead."
- Changed
plan_resume1 field changed- changed
Output schema / properties / sse_url / descriptionPrevious value: -"Optional completion detector. Run `curl -N <sse_url>` in a background shell — the stream auto-closes when the plan reaches a terminal state (completed/failed). For structured progress data, use plan_status instead."New value: +"Optional completion detector. Run `curl -N <sse_url>` in a background shell — the stream auto-closes when the plan reaches a terminal state (completed/failed/stopped). For structured progress data, use plan_status instead."
- Changed
plan_retry1 field changed- changed
Output schema / properties / sse_url / descriptionPrevious value: -"Optional completion detector. Run `curl -N <sse_url>` in a background shell — the stream auto-closes when the plan reaches a terminal state (completed/failed). For structured progress data, use plan_status instead."New value: +"Optional completion detector. Run `curl -N <sse_url>` in a background shell — the stream auto-closes when the plan reaches a terminal state (completed/failed/stopped). For structured progress data, use plan_status instead."
4 tool updates
- Changed
plan_list1 field changed- changed
Output schema / $defs / PlanListItem / properties / state / enumPrevious value: -[ - "pending", - "processing", - "completed", - "failed" -]New value: +[ + "pending", + "processing", + "completed", + "failed", + "stopped" +]
- Changed
plan_resume2 fields changed- changed
Output schema / properties / plan_id / descriptionPrevious value: -"Plan UUID that was resumed (same ID as the failed plan)."New value: +"Plan UUID that was resumed (same ID as the failed or stopped plan)." - changed
Output schema / properties / state / anyOfPrevious value: -[ - { - "enum": [ - "pending", - "processing", - "completed", - "failed" - ], - "type": "string" - }, - { - "type": "null" - } -]New value: +[ + { + "enum": [ + "pending", + "processing", + "completed", + "failed", + "stopped" + ], + "type": "string" + }, + { + "type": "null" + } +]
- Changed
plan_retry2 fields changed- changed
Output schema / properties / plan_id / descriptionPrevious value: -"Plan UUID that was retried (same ID as the failed plan)."New value: +"Plan UUID that was retried (same ID as the failed or stopped plan)." - changed
Output schema / properties / state / anyOfPrevious value: -[ - { - "enum": [ - "pending", - "processing", - "completed", - "failed" - ], - "type": "string" - }, - { - "type": "null" - } -]New value: +[ + { + "enum": [ + "pending", + "processing", + "completed", + "failed", + "stopped" + ], + "type": "string" + }, + { + "type": "null" + } +]
- Changed
plan_stop1 field changed- changed
Output schema / properties / state / anyOfPrevious value: -[ - { - "enum": [ - "pending", - "processing", - "completed", - "failed" - ], - "type": "string" - }, - { - "type": "null" - } -]New value: +[ + { + "enum": [ + "pending", + "processing", + "completed", + "failed", + "stopped" + ], + "type": "string" + }, + { + "type": "null" + } +]
1 tool update
- Changed
plan_create1 field changed- added
Output schema / properties / deduplicatedAdded value: +{ + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "default": null, + "description": "True when this response returns an existing plan instead of creating a new one (duplicate prompt + model_profile by the same user within the dedup window). Absent or None for newly created plans.", + "title": "Deduplicated" +}
1 tool update
- Added
plan_resume
2 tool updates
- Changed
plan_create1 field changed- changed
Output schema / properties / sse_url / descriptionPrevious value: -"GET endpoint returning text/event-stream with real-time plan progress. No API key required — the plan_id UUID serves as the access token. Usage: `curl -N <sse_url>`. Emits 'status' events on progress changes, 'heartbeat' every ~20 s, and a final 'complete' event (state completed/failed) then auto-closes. Alternative to polling plan_status."New value: +"Optional completion detector. Run `curl -N <sse_url>` in a background shell — the stream auto-closes when the plan reaches a terminal state (completed/failed). For structured progress data, use plan_status instead."
- Changed
plan_retry1 field changed- changed
Output schema / properties / sse_url / descriptionPrevious value: -"GET endpoint returning text/event-stream with real-time plan progress. No API key required — the plan_id UUID serves as the access token. Usage: `curl -N <sse_url>`. Emits 'status' events on progress changes, 'heartbeat' every ~20 s, and a final 'complete' event (state completed/failed) then auto-closes. Alternative to polling plan_status."New value: +"Optional completion detector. Run `curl -N <sse_url>` in a background shell — the stream auto-closes when the plan reaches a terminal state (completed/failed). For structured progress data, use plan_status instead."
3 tool updates
- Changed
example_prompts1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "message": { + "title": "Message", + "type": "string" + }, + "samples": { + "description": "Example prompts that define the baseline for what a good prompt looks like. Take inspiration from these when writing your own prompt for plan_create (typically ~300-800 words). Good prompt shape: objective, scope, constraints, timeline, stakeholders, budget/resources, and success criteria.", + "items": { + "type": "string" + }, + "title": "Samples", + "type": "array" + } + }, + "required": [ + "samples", + "message" + ], + "title": "ExamplePromptsOutput", + "type": "object" +}
- Changed
plan_file_info1 field changed- changed
Output schema / (root)Previous value: -{ - "$defs": { - "ErrorDetail": { - "properties": { - "code": { - "title": "Code", - "type": "string" - }, - "details": { - "anyOf": [ - { - "additionalProperties": true, - "type": "object" - }, - { - "type": "null" - } - ], - "default": null, - "title": "Details" - }, - "message": { - "title": "Message", - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "title": "ErrorDetail", - "type": "object" - } - }, - "properties": { - "content_type": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Artifact content type.", - "title": "Content Type" - }, - "download_size": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Artifact size in bytes.", - "title": "Download Size" - }, - "download_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Absolute URL where the requested artifact can be downloaded.", - "title": "Download Url" - }, - "error": { - "anyOf": [ - { - "$ref": "#/$defs/ErrorDetail" - }, - { - "type": "null" - } - ], - "default": null - }, - "sha256": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "SHA-256 hash of artifact bytes.", - "title": "Sha256" - } - }, - "title": "PlanFileInfoOutput", - "type": "object" -}New value: +null
- Changed
plan_status1 field changed- changed
Output schema / (root)Previous value: -{ - "$defs": { - "ErrorDetail": { - "properties": { - "code": { - "title": "Code", - "type": "string" - }, - "details": { - "anyOf": [ - { - "additionalProperties": true, - "type": "object" - }, - { - "type": "null" - } - ], - "default": null, - "title": "Details" - }, - "message": { - "title": "Message", - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "title": "ErrorDetail", - "type": "object" - }, - "PlanStatusFile": { - "properties": { - "path": { - "title": "Path", - "type": "string" - }, - "updated_at": { - "title": "Updated At", - "type": "string" - } - }, - "required": [ - "path", - "updated_at" - ], - "title": "PlanStatusFile", - "type": "object" - }, - "PlanStatusTiming": { - "properties": { - "elapsed_sec": { - "title": "Elapsed Sec", - "type": "number" - }, - "started_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Started At" - } - }, - "required": [ - "started_at", - "elapsed_sec" - ], - "title": "PlanStatusTiming", - "type": "object" - } - }, - "properties": { - "error": { - "anyOf": [ - { - "$ref": "#/$defs/ErrorDetail" - }, - { - "type": "null" - } - ], - "default": null - }, - "files": { - "anyOf": [ - { - "items": { - "$ref": "#/$defs/PlanStatusFile" - }, - "type": "array" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Intermediate output files produced so far. Use updated_at timestamps to detect stalls. These files are included in the zip artifact when the plan completes.", - "title": "Files" - }, - "plan_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Plan UUID returned by plan_create.", - "title": "Plan Id" - }, - "progress_percentage": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Completion progress from 0 to 100. Monotonically increasing; 100 when state is completed.", - "title": "Progress Percentage" - }, - "sse_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "GET endpoint (text/event-stream) for real-time progress. Available when plan is not in a terminal state. See plan_create sse_url description for usage.", - "title": "Sse Url" - }, - "state": { - "anyOf": [ - { - "enum": [ - "pending", - "processing", - "completed", - "failed" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Caller contract: pending/processing => keep polling; completed => download is ready; failed => terminal error.", - "title": "State" - }, - "timing": { - "anyOf": [ - { - "$ref": "#/$defs/PlanStatusTiming" - }, - { - "type": "null" - } - ], - "default": null - } - }, - "title": "PlanStatusOutput", - "type": "object" -}New value: +null
2 tool updates
- Changed
plan_create1 field changed- changed
Output schema / properties / sse_url / descriptionPrevious value: -"GET endpoint returning text/event-stream with real-time plan progress. Usage: `curl -N -H 'X-API-Key: <same key>' <sse_url>`. Emits 'status' events on progress changes, 'heartbeat' every ~20 s, and a final 'complete' event (state completed/failed) then auto-closes. Alternative to polling plan_status."New value: +"GET endpoint returning text/event-stream with real-time plan progress. No API key required — the plan_id UUID serves as the access token. Usage: `curl -N <sse_url>`. Emits 'status' events on progress changes, 'heartbeat' every ~20 s, and a final 'complete' event (state completed/failed) then auto-closes. Alternative to polling plan_status."
- Changed
plan_retry1 field changed- added
Output schema / properties / sse_urlAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "GET endpoint returning text/event-stream with real-time plan progress. No API key required — the plan_id UUID serves as the access token. Usage: `curl -N <sse_url>`. Emits 'status' events on progress changes, 'heartbeat' every ~20 s, and a final 'complete' event (state completed/failed) then auto-closes. Alternative to polling plan_status.", + "title": "Sse Url" +}
Related MCP Connectors
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
MCP server for progressive tool usage at any scale (see https://klavis.ai)
Related MCP Servers
- AlicenseAqualityDmaintenanceAn MCP server that turns a rough project idea into a structured spec, running entirely locally inside any MCP-compatible editor.419 npmMIT
- FlicenseNot gradedqualityCmaintenanceMCP server that exposes project status tools (plan, milestones, RAID items, blockers) allowing AI assistants to retrieve and analyze project information via natural language.1-
- FlicenseNot gradedqualityBmaintenanceAn MCP server that automates project task breakdown, dependency management, and smart task recommendations, integrating with LLMs like Gemini and OpenAI.7-
- FlicenseNot gradedqualityBmaintenanceAn MCP server that interviews users to capture project planning facts into SQLite and enforces mechanical gates to ensure structured progress.-
Glama MCP Gateway
Add one secure layer between your agents and this server.