Skip to main content
Glama
This connector has been deprecated

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.

Ownership verified

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

A4.1/5.0

Scored across 11 tools

Disambiguation5/5

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.

Naming Consistency4/5

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.

Tool Count5/5

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.

Completeness4/5

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. 1 tool update
    • Addedsend_feedback
  2. 1 tool update
    • Changedplan_create1 field changed
      • addedInput schema / properties / start_date
        Added 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. 3 tool updates
    • Changedplan_create1 field changed
      • changedOutput schema / properties / sse_url / description
        Previous 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."
    • Changedplan_resume1 field changed
      • changedOutput schema / properties / sse_url / description
        Previous 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."
    • Changedplan_retry1 field changed
      • changedOutput schema / properties / sse_url / description
        Previous 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. 4 tool updates
    • Changedplan_list1 field changed
      • changedOutput schema / $defs / PlanListItem / properties / state / enum
        Previous value: -[
        -  "pending",
        -  "processing",
        -  "completed",
        -  "failed"
        -]New value: +[
        +  "pending",
        +  "processing",
        +  "completed",
        +  "failed",
        +  "stopped"
        +]
    • Changedplan_resume2 fields changed
      • changedOutput schema / properties / plan_id / description
        Previous 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)."
      • changedOutput schema / properties / state / anyOf
        Previous value: -[
        -  {
        -    "enum": [
        -      "pending",
        -      "processing",
        -      "completed",
        -      "failed"
        -    ],
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "enum": [
        +      "pending",
        +      "processing",
        +      "completed",
        +      "failed",
        +      "stopped"
        +    ],
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
    • Changedplan_retry2 fields changed
      • changedOutput schema / properties / plan_id / description
        Previous 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)."
      • changedOutput schema / properties / state / anyOf
        Previous value: -[
        -  {
        -    "enum": [
        -      "pending",
        -      "processing",
        -      "completed",
        -      "failed"
        -    ],
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "enum": [
        +      "pending",
        +      "processing",
        +      "completed",
        +      "failed",
        +      "stopped"
        +    ],
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
    • Changedplan_stop1 field changed
      • changedOutput schema / properties / state / anyOf
        Previous value: -[
        -  {
        -    "enum": [
        -      "pending",
        -      "processing",
        -      "completed",
        -      "failed"
        -    ],
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "enum": [
        +      "pending",
        +      "processing",
        +      "completed",
        +      "failed",
        +      "stopped"
        +    ],
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
  5. 1 tool update
    • Changedplan_create1 field changed
      • addedOutput schema / properties / deduplicated
        Added 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"
        +}
  6. 1 tool update
    • Addedplan_resume
  7. 2 tool updates
    • Changedplan_create1 field changed
      • changedOutput schema / properties / sse_url / description
        Previous 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."
    • Changedplan_retry1 field changed
      • changedOutput schema / properties / sse_url / description
        Previous 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."
  8. 3 tool updates
    • Changedexample_prompts1 field changed
      • changedOutput 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"
        +}
    • Changedplan_file_info1 field changed
      • changedOutput 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
    • Changedplan_status1 field changed
      • changedOutput 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
  9. 2 tool updates
    • Changedplan_create1 field changed
      • changedOutput schema / properties / sse_url / description
        Previous 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."
    • Changedplan_retry1 field changed
      • addedOutput schema / properties / sse_url
        Added 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

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.