PlanExe
Server Details
MCP server for generating rough-draft project plans from natural-language prompts.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- PlanExeOrg/PlanExe
- GitHub Stars
- 369
- Server Listing
- PlanExe
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Score is being calculated. Check back soon.
Available Tools
11 toolsexample_plansARead-onlyIdempotentInspect
Returns a curated list of example plans with download links for reports and zip bundles. Use this to preview what PlanExe output looks like before creating your own plan. Especially useful when the user asks what the output looks like before committing to a plan. No API key required.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| plans | Yes | Curated example plans with download links for reports and zip bundles. |
| message | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover safety profile (readOnly/idempotent/destructive), so description burden is lighter. It adds valuable context not in annotations: 'No API key required' (auth prerequisites) and specifics about downloadable artifacts (reports and zip bundles). Does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences structured as: purpose → usage guidance → specific trigger condition → auth requirements. Every sentence earns its place; no redundancy. Front-loaded with the core function (Returns...).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has 0 parameters, good annotations, and output schema exists (so return details need not be exhaustively described). Description adequately covers prerequisites (no API key) and use case context given the low complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters present per schema. Per rating guidelines, 0 params = baseline 4. No parameter documentation required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description opens with specific verb (Returns) + resource (curated list of example plans) + scope (with download links for reports/zip bundles). It clearly distinguishes from siblings like plan_list (user's own plans) by positioning this as 'preview what PlanExe output looks like before creating your own plan.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit usage guidance: 'Use this to preview... before creating your own plan' and 'Especially useful when the user asks what the output looks like before committing to a plan.' This clearly delineates when to invoke this tool versus plan_create or plan_list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
example_promptsARead-onlyIdempotentInspect
Call this first. Returns example prompts that define what a good prompt looks like. Do NOT call plan_create yet. Optional before plan_create: call model_profiles to choose model_profile. Next is a non-tool step: formulate a detailed prompt (typically ~300-800 words; use examples as a baseline, similar structure) and get user approval. Good prompt shape: objective, scope, constraints, timeline, stakeholders, budget/resources, and success criteria. Write the prompt as flowing prose, not structured markdown with headers or bullet lists. Weave technical specs, constraints, and targets naturally into sentences. Include banned words/approaches and governance preferences inline. The examples demonstrate this prose style — match their tone and density. Then call plan_create. PlanExe is not for tiny one-shot outputs like a 5-point checklist; and it does not support selecting only some internal pipeline steps.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| message | Yes | |
| samples | Yes | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
While annotations confirm read-only/idempotent safety, the description adds crucial behavioral context: what the output contains (examples), how to use them (~300-800 word baseline, prose style constraints), and workflow dependencies. It explains the expected content structure (objective, scope, constraints, etc.) and formatting requirements (flowing prose, no markdown headers).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is lengthy but information-dense and well-structured for a complex multi-step workflow tool. It is front-loaded with the critical 'Call this first' instruction. Every sentence provides necessary guidance on sequencing, content requirements, formatting constraints, or system limitations—no filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema (covering return structure) and annotations (covering safety), the description provides complete workflow context: preconditions, post-actions, content requirements, and sibling tool relationships. It adequately prepares the agent to integrate this tool into the larger PlanExe workflow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero input parameters (schema coverage 100% of empty set). Per scoring rules, this establishes a baseline of 4. The description appropriately does not invent parameter documentation where none exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool 'Returns example prompts that define what a good prompt looks like' using specific verb+resource. It positions the tool as 'Call this first' in the workflow, distinguishing it from siblings like plan_create (which it explicitly says not to call yet) and model_profiles (which is optional).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit sequential guidance: 'Call this first,' 'Do NOT call plan_create yet,' and 'Optional before plan_create: call model_profiles.' It defines the complete workflow (tool call → non-tool step → user approval → plan_create) and clarifies system limitations ('PlanExe is not for tiny one-shot outputs').
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
model_profilesARead-onlyIdempotentInspect
Optional helper before plan_create. Returns model_profile options with plain-language guidance and currently available models in each profile. If no models are available, returns error code MODEL_PROFILES_UNAVAILABLE.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| message | Yes | Caller guidance for selecting plan_create.model_profile. |
| profiles | Yes | Available profile options and their model inventory. |
| default_profile | Yes | Default model profile used when plan_create.model_profile is omitted/invalid. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover safety profile (readOnly, idempotent). Description adds valuable behavioral context: content of returns ('plain-language guidance', 'currently available models') and specific error condition ('MODEL_PROFILES_UNAVAILABLE') not inferable from annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with zero waste. First establishes purpose and relationship to plan_create; second documents error condition. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Appropriately complete for a zero-parameter read-only helper. Mentions error codes and return content. Output schema exists (per context signals), so detailed return documentation is not required in description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters present, warranting baseline score 4. Description correctly focuses on behavior rather than inventing parameter documentation where none exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb 'Returns' with clear resource 'model_profile options'. Explicitly positions itself as an 'Optional helper before plan_create', effectively distinguishing from siblings like plan_create, plan_list, and example_plans.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clearly indicates temporal context ('before plan_create') and optional nature. Lacks explicit 'when not to use' or comparison to other helpers like example_prompts, but provides sufficient context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plan_createAIdempotentInspect
Call only after example_prompts and after you have completed prompt drafting/approval (non-tool step). PlanExe turns the approved prompt into a strategic project-plan draft (20+ sections) in ~10-20 min. Sections include: executive summary, interactive Gantt charts, investor pitch, project plan with SMART criteria, strategic decision analysis, scenario comparison, assumptions with expert review, governance structure, SWOT analysis, team role profiles, simulated expert criticism, work breakdown structure, plan review (critical issues, KPIs, financial strategy, automation opportunities), Q&A, premortem with failure scenarios, self-audit checklist, and adversarial premise attacks that argue against the project. The adversarial sections (premortem, self-audit, premise attacks) surface risks and questions the prompter may not have considered. Returns plan_id (UUID); use it for plan_status, plan_stop, plan_retry, and plan_file_info. To track progress, poll plan_status at reasonable intervals (e.g. every 5 minutes). Optionally, run curl -N <sse_url> in a background shell as a completion detector — the stream auto-closes on terminal state (completed/failed/stopped). If you lose a plan_id, call plan_list to recover it. If the same prompt + model_profile is submitted by the same user within a short window, the existing plan is returned (with deduplicated=true) instead of creating a new one. If you are unsure which model_profile to choose, call model_profiles first. If your deployment uses credits, include user_api_key to charge the correct account. Common error codes: INVALID_USER_API_KEY, USER_API_KEY_REQUIRED, INSUFFICIENT_CREDITS.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | ||
| start_date | No | 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. | |
| model_profile | No | Model profile: baseline, premium, frontier, custom. Call model_profiles to inspect options. | baseline |
Output Schema
| Name | Required | Description |
|---|---|---|
| plan_id | Yes | Plan UUID returned by plan_create. Stable across plan_status/plan_stop/plan_file_info. |
| sse_url | No | 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. |
| created_at | Yes | |
| deduplicated | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (idempotentHint, readOnlyHint), adds critical behavioral details: execution time (10-20 min), deduplication logic ('same prompt + model_profile... short window'), specific error codes (INVALID_USER_API_KEY, INSUFFICIENT_CREDITS), and SSE streaming mechanism for completion detection.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Information-dense but the exhaustive enumeration of 20+ section names consumes significant tokens and could be summarized. The SSE curl command and full list of adversarial sections are useful but reduce front-loading efficiency. Appropriately complex for the tool's capability level, yet structurally heavy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Comprehensive coverage for a complex asynchronous operation: duration, polling strategy, error recovery paths, deduplication behavior, and credit requirements. Output schema exists, so description appropriately focuses on invocation workflow rather than return value structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67% (prompt lacks description). Description compensates by specifying 'approved prompt' for the prompt parameter and adding workflow context for model_profile ('call model_profiles first'). Adds note about user_api_key for credit deployments, though this parameter isn't visible in the provided schema properties.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States specific transformation (approved prompt → strategic project-plan draft with 20+ sections), duration (~10-20 min), and distinguishes from siblings by listing specific output sections and return value (plan_id) used by plan_status/plan_stop.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Excellent explicit prerequisites: 'Call only after example_prompts and after you have completed prompt drafting/approval.' Names specific alternatives for common problems: 'If you lose a plan_id, call plan_list,' 'If you are unsure which model_profile to choose, call model_profiles,' and 'poll plan_status at reasonable intervals' for progress tracking.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plan_file_infoARead-onlyIdempotentInspect
Returns file metadata (content_type, download_url, download_size, expires_at) for the report or zip artifact. Use artifact='report' (default) for the interactive HTML report (~700KB, self-contained with embedded JS for collapsible sections and interactive Gantt charts — open in a browser). Use artifact='zip' for the full pipeline output bundle (md, json, csv intermediary files that fed the report). While the task is still pending or processing, returns {ready:false,reason:"processing"}. Check readiness by testing whether download_url is present in the response. Once ready, present download_url to the user or fetch and save the file locally. Download URLs expire after 15 minutes (see expires_at); call plan_file_info again to get a fresh URL if needed. If your client exposes plan_download (e.g. mcp_local), prefer that to save the file locally. Terminal error codes: generation_failed (plan failed), content_unavailable (artifact missing). Unknown plan_id returns error code PLAN_NOT_FOUND.
| Name | Required | Description | Default |
|---|---|---|---|
| plan_id | Yes | Plan UUID returned by plan_create. Use it to download the created plan. | |
| artifact | No | Download artifact type: report or zip. | report |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
While annotations declare readOnly/idempotent hints, the description adds critical behavioral context: async/pending states (ready:false), URL expiration (15 minutes), polling strategy (check download_url), error codes (generation_failed, content_unavailable, PLAN_NOT_FOUND), and file size (~700KB). No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Despite length, every sentence delivers value: return structure, artifact semantics, async behavior, expiration logic, alternative tool preference, and error codes. Well-structured with logical flow from inputs to outputs to error handling, though slightly dense.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Excellent coverage for a complex async file retrieval tool. Without an output schema, the description comprehensively documents success responses (metadata fields), pending states, expiration behavior, error conditions, and integration patterns with sibling tools (plan_create, plan_download).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with basic definitions, but the description adds substantial semantic value: explains that 'report' is an interactive HTML file with embedded JS/Gantt charts for browser viewing, while 'zip' contains raw intermediary files (md, json, csv). This goes far beyond the schema's basic enum descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states it 'Returns file metadata' for artifacts, lists the specific fields (content_type, download_url, etc.), and distinguishes between 'report' and 'zip' artifacts with detailed content descriptions. It clearly differentiates from siblings like plan_create (creation) and plan_download (preferred for saving).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Contains explicit guidance: 'Use artifact=report...' vs 'Use artifact=zip...' for different use cases, and explicitly states 'If your client exposes plan_download... prefer that to save the file locally.' Also explains the polling workflow for checking readiness via download_url presence.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plan_listARead-onlyIdempotentInspect
List the most recent plans for an authenticated user. Returns up to limit plans (default 10, max 50) newest-first, each with plan_id, state, progress_percentage, created_at (ISO 8601), and a prompt_excerpt (first 100 chars). Use this to recover a lost plan_id or to review recent activity.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of plans to return (1–50). Newest plans are returned first. |
Output Schema
| Name | Required | Description |
|---|---|---|
| plans | Yes | Plans for the authenticated user, newest first. |
| message | Yes | Human-readable summary (e.g. how many plans were returned). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover safety profile (readOnlyHint, destructiveHint), but description adds crucial behavioral details: ordering (newest-first), pagination constraints (default 10, max 50), and specific output fields with formatting (ISO 8601 dates, 100-char prompt_excerpt truncation). No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two well-structured sentences: first establishes purpose and detailed output format, second provides usage guidance. Every clause earns its place—no redundancy. Front-loaded with action, includes specific constraints (default/max) inline without bloat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Fully complete for tool complexity: single optional parameter with 100% schema coverage, good annotations, and output schema exists. Description appropriately details return fields despite external output schema, covering use cases, limits, and data format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the 'limit' parameter is fully documented in the schema itself. Description references the parameter ('Returns up to `limit` plans') reinforcing the schema, but does not add semantic meaning beyond what the schema already provides. Baseline 3 appropriate for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Excellent specificity: 'List the most recent plans for an authenticated user' provides exact verb (List), resource (plans), scope (most recent, authenticated), and distinguishes from siblings like plan_create or plan_resume by emphasizing read access to recent activity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear contextual guidance with 'Use this to recover a lost plan_id or to review recent activity,' implicitly differentiating from plan_status (which requires a known plan_id) and plan_create. Would be a 5 if it explicitly named alternatives like 'instead of plan_status when you lack an ID'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plan_resumeAInspect
Resume a failed or stopped plan without discarding completed intermediary files. Plan generation restarts from the first incomplete step, skipping all steps that already produced output files. Use plan_resume when plan_status shows 'failed' or 'stopped' and plan generation was interrupted before completing all steps (network drop, timeout, plan_stop, worker crash). For a full restart or to change model_profile, use plan_retry instead. Only failed or stopped plans can be resumed. Returns PLAN_NOT_FOUND when plan_id is unknown and PLAN_NOT_RESUMABLE when the plan is not in failed or stopped state. Returns PIPELINE_VERSION_MISMATCH when the snapshot was created by a different pipeline version; use plan_retry instead.
| Name | Required | Description | Default |
|---|---|---|---|
| plan_id | Yes | UUID of the failed plan to resume. | |
| model_profile | No | Model profile used for the resumed plan. Defaults to baseline. | baseline |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| state | No | Current plan state after resume request. |
| plan_id | No | Plan UUID that was resumed (same ID as the failed or stopped plan). |
| sse_url | No | 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. |
| resumed_at | No | UTC timestamp when the resume request was accepted. |
| resume_count | No | Number of times this plan has been resumed. |
| model_profile | No | Model profile assigned to the resumed run. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnly=false, destructive=false), description details exact execution behavior (restarts from first incomplete step, skips completed steps), data preservation guarantees, and three specific error return codes (PLAN_NOT_FOUND, PLAN_NOT_RESUMABLE, PIPELINE_VERSION_MISMATCH) with remediation guidance for the latter.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Six sentences covering purpose, mechanics, usage conditions, alternatives, constraints, and error handling. Every sentence carries distinct information. No redundancy with schema or annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Comprehensive for a complex stateful operation. Covers preconditions (failed/stopped status), side effects (file preservation), error scenarios, and sibling tool relationships. Output schema is implied by documented return values in description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear field descriptions. Description adds usage context for model_profile (guiding users to plan_retry for profile changes) and plan_id (linking it to specific error conditions). Could explicitly confirm if model_profile changes are honored on resume, but provides strong implicit guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States specific action (resume) on specific resource (failed/stopped plan) with key behavioral distinction (without discarding intermediary files). Clearly differentiates from sibling plan_retry by contrasting 'full restart' vs resumption from incomplete step.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly defines when to use ('plan_status shows failed or stopped', interruption scenarios like network drop/timeout) and when NOT to use ('For a full restart or to change model_profile, use plan_retry instead'). Names the specific sibling alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plan_retryAInspect
Retry a plan that is currently in failed or stopped state. Pass the plan_id and optionally model_profile (defaults to baseline). The plan is reset to pending, prior artifacts are cleared, and the same plan_id is requeued for processing. Returns PLAN_NOT_FOUND when plan_id is unknown and PLAN_NOT_FAILED when the plan is not in failed or stopped state.
| Name | Required | Description | Default |
|---|---|---|---|
| plan_id | Yes | UUID of the failed plan to retry. | |
| model_profile | No | Model profile used for retry. Defaults to baseline. | baseline |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| state | No | Current plan state after retry request. |
| plan_id | No | Plan UUID that was retried (same ID as the failed or stopped plan). |
| sse_url | No | 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. |
| retried_at | No | UTC timestamp when the retry request was accepted. |
| model_profile | No | Model profile assigned to the retry request. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds critical behavioral details beyond annotations: state transition (reset to pending), side effect (prior artifacts cleared), and specific return codes. Annotations indicate non-idempotent write operation; description explains the mechanics (requeuing same ID after clearing) without contradicting hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences covering purpose, usage pattern, behavioral mechanics, and error cases. No redundancy—every clause conveys distinct information not repeated in structured fields.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Comprehensive for a state-transition tool: covers preconditions, mutation effects (artifact clearing), post-state (pending), and error outcomes. Output schema exists per context signals, so detailed return documentation in description is bonus coverage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with complete parameter descriptions. Description paraphrases this ('Pass the plan_id and optionally model_profile') but adds no additional syntax constraints, validation rules, or semantic relationships beyond the schema definitions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb 'Retry' with clear resource 'plan' and qualifying condition 'in failed or stopped state' distinguishes it from siblings like plan_create (new plans) and plan_resume (likely doesn't clear artifacts).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implicit usage guidance via precondition 'failed or stopped state' and explicit error returns (PLAN_NOT_FAILED, PLAN_NOT_FOUND) signal when tool invocation will fail. Lacks explicit sibling comparison (e.g., vs plan_resume).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plan_statusARead-onlyIdempotentInspect
Returns status and progress of the plan currently being created. This is the primary way to check progress — it returns structured JSON with all progress fields. Poll at reasonable intervals (e.g. every 5 minutes): plan generation typically takes 10-20 minutes (baseline profile) and may take longer on higher-quality profiles. State contract: pending/processing => keep polling; completed => download is ready; failed => terminal error; stopped => user called plan_stop (consider plan_resume). progress_percentage is 0-100 (integer-like float); 100 when completed. Note: steps vary in duration — early steps complete quickly while later steps (review, report generation) take longer. Do not use progress_percentage to estimate time remaining. steps_completed and steps_total give the number of plan generation steps completed and expected (both nullable). current_step is the human-readable label of the most recently completed step (e.g. 'SWOT Analysis'). timing.last_progress_at is an ISO 8601 timestamp of the last progress update (null until the first worker update); use it to compute time-since-last-progress and detect stalls — a gap > 10 minutes with no progress change is a strong stall signal. files lists the most recent 10 intermediate outputs produced so far (files_count gives the total); use their updated_at timestamps as a secondary stall signal. When state is 'failed', the response includes an error dict with failure diagnostics: error.failure_reason (category: generation_error, worker_error, inactivity_timeout, internal_error, version_mismatch), error.failed_step (pipeline step active at failure), error.message (human-readable message), and error.recoverable (true => plan_resume may work, false => use plan_retry). The error dict is absent for non-failed states. Unknown plan_id returns error code PLAN_NOT_FOUND. Troubleshooting: pending for >5 minutes likely means queued but not picked up by a worker. processing with timing.last_progress_at unchanged for >10 minutes likely means stalled — call plan_stop then plan_retry. Fall back to file updated_at timestamps if last_progress_at is null. Report these issues to https://github.com/PlanExeOrg/PlanExe/issues .
| Name | Required | Description | Default |
|---|---|---|---|
| plan_id | Yes | Plan UUID returned by plan_create. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Extensive behavioral disclosure beyond annotations: documents full response structure (progress_percentage, steps_completed, timing fields, error dict), stall detection logic (>10 minutes gap), file listing behavior (last 10 files), and error semantics (recoverable vs non-recoverable). No contradiction with readOnly/idempotent annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
While every sentence contains valuable operational details (state machine, field semantics, troubleshooting), the description is extremely long and monolithic. Given the single parameter and straightforward input, the verbosity is justified by lack of output schema but pushes against conciseness ideals.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Comprehensive compensation for missing output schema: documents all return fields (nullable status, timing timestamps, file arrays, error dictionaries), state transitions, polling protocol, and links to 4 sibling tools. Complete for an async polling endpoint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (plan_id fully documented in schema). Description references plan_id only in error handling context ('Unknown plan_id returns error code'), adding minimal semantic value beyond schema since the schema already defines it as 'Plan UUID returned by plan_create'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description opens with specific verb+resource ('Returns status and progress of the plan') and distinguishes itself from siblings by stating it's the 'primary way to check progress' while referencing plan_stop, plan_resume, and plan_retry for other states.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Exceptional guidance including explicit polling intervals ('every 5 minutes'), timing expectations ('10-20 minutes'), complete state contract (pending/processing/completed/failed/stopped), and specific troubleshooting actions ('call plan_stop then plan_retry' when stalled).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plan_stopADestructiveIdempotentInspect
Request the plan generation to stop. Pass the plan_id (the UUID returned by plan_create). Stopping is asynchronous: the stop flag is set immediately but the plan may continue briefly before halting. A stopped plan will transition to the stopped state. If the plan is already completed or failed, stop_requested returns false (the plan already finished). Unknown plan_id returns error code PLAN_NOT_FOUND.
| Name | Required | Description | Default |
|---|---|---|---|
| plan_id | Yes | Plan UUID returned by plan_create. Use it to stop the plan creation. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| state | No | Current plan state after stop request. |
| stop_requested | No | True when stop request flag was set for a pending/processing task. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Excellent disclosure beyond annotations: explains asynchronous nature ('stop flag set immediately but plan may continue briefly'), state transition ('transition to the stopped state'), and return value logic ('stop_requested returns false'). No contradictions with destructive/idempotent hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Perfectly structured with logical progression: command → parameter → async behavior → state outcome → error conditions. Every sentence provides unique value with zero redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Comprehensive for a destructive mutation tool. Accounts for output schema existence by still documenting key return value behaviors (false for completed plans, error code). Covers async complexity, error states, and state transitions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and description largely repeats schema information ('Pass the plan_id...'). Baseline score appropriate since schema fully documents the single required parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb 'stop' with clear resource 'plan generation' and scope. Explicitly links to sibling plan_create via 'UUID returned by plan_create', distinguishing it from other plan operations (resume, retry, status).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear prerequisite (plan_id from plan_create) and explicit edge-case guidance ('If the plan is already completed or failed...'). Lacks explicit comparison against plan_resume/plan_retry siblings, but edge-case coverage is strong.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
send_feedbackAIdempotentInspect
Submit feedback about PlanExe — issues, impressions, or suggestions. Callable at any point in the workflow; fire-and-forget, never blocks. Use category to classify: mcp (MCP tools, SSE, plan_status, workflow), plan (the generated output files), code (PlanExe source), docs (documentation), other. Optionally attach to a plan via plan_id. Use rating (1-5) for sentiment: 1=strong negative, 3=neutral, 5=strong positive. Especially useful for reporting: SSE streams that close before plan completion, plan_status returning stale or inconsistent data, queue delays where workers are slow to pick up plans, and impressions of plan output quality after reviewing reports. Include specific details (plan_id, percentages, timestamps) when reporting issues.
| Name | Required | Description | Default |
|---|---|---|---|
| rating | No | Sentiment: 1=strong negative, 2=weak negative, 3=neutral, 4=weak positive, 5=strong positive. | |
| message | Yes | Free-text feedback. Include environment context if reporting an issue. | |
| plan_id | No | Optional plan UUID to attach this feedback to. | |
| category | Yes | Feedback category: mcp, plan, code, docs, or other. |
Output Schema
| Name | Required | Description |
|---|---|---|
| message | Yes | Confirmation message. |
| feedback_id | Yes | Server-generated UUID for this feedback entry. |
| received_at | Yes | UTC timestamp when the feedback was received (ISO 8601). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover idempotency and safety (idempotentHint=true, destructiveHint=false), but the description adds crucial operational context: 'fire-and-forget, never blocks' explains the async nature not captured in annotations. It also discloses specific technical issues to report (queue delays, SSE closures), adding domain-specific behavioral context beyond the structured hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Seven sentences, each delivering distinct value: purpose, invocation timing/behavior, category semantics, plan attachment, rating scale, specific use cases, and reporting best practices. Front-loaded with core purpose. Slightly dense but no wasted words; structure follows logical progression from what → when → how → specifics.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of annotations (safety hints), 100% schema coverage, and an output schema, the description achieves completeness by explaining PlanExe-specific taxonomy (categories mapping to system components) and concrete troubleshooting scenarios. It adequately covers the feedback domain without needing to describe return values (handled by output schema).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
While schema coverage is 100% (baseline 3), the description significantly enriches the 'category' parameter by defining domain-specific values: 'mcp (MCP tools, SSE, plan_status, workflow)' and 'plan (the generated output files)'. It also adds content guidance for 'message' ('Include specific details...when reporting issues') that exceeds the schema's generic description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb-resource pair ('Submit feedback about PlanExe') and enumerates specific content types ('issues, impressions, or suggestions'). It clearly distinguishes from sibling tools like plan_create or plan_status by focusing on meta-level reporting rather than plan management operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit temporal guidance ('Callable at any point in the workflow') and behavioral mode ('fire-and-forget'). Lists specific scenarios for use ('SSE streams that close before plan completion,' 'plan_status returning stale data'), implicitly guiding users to invoke this when sibling tools malfunction. Lacks explicit 'do not use for X' exclusions, but the positive guidance is strong.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Your Connectors
Sign in to create a connector for this server.