Planning System MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| API_URL | Yes | Planning System API URL (e.g., https://api.agentplanner.io or http://localhost:3000 for local development) | |
| NODE_ENV | No | Environment (development/production) | production |
| USER_API_TOKEN | Yes | Authentication token for the Planning System API | |
| MCP_SERVER_NAME | No | Server name | planning-system-mcp |
| MCP_SERVER_VERSION | No | Server version | 0.2.0 |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| briefingA | Mission control state in one call. Returns goal health summary, pending decisions, my tasks, recent activity, and a top recommendation. Use this as the single read for Cowork live artifacts and the autopilot's first call. |
| task_contextA | Get progressive context for a task. Depth: 1 (task only), 2 (+ neighborhood), 3 (+ knowledge), 4 (+ extended plan/goals/transitive deps). For RPI implement tasks, automatically includes research+plan outputs from the chain. |
| goal_stateA | Comprehensive single-goal read: details, quality assessment, progress, bottlenecks, knowledge gaps, pending decisions, recent activity. Replaces get_goal + goal_path + goal_progress + goal_knowledge_gaps + assess_goal_quality. |
| recall_knowledgeA | Universal knowledge graph query. Returns facts, entities, recent episodes, and contradictions in one shape. Use result_kind to control payload size. Replaces recall_knowledge legacy + find_entities + get_recent_episodes + check_contradictions. |
| list_plansA | List plans with optional filters by status, visibility, or text query. Returns id, title, status, visibility, last update, and link counts so you can pick a plan to operate on without round-tripping briefing. |
| searchB | Text search across plans, nodes, and content. Use for finding entities by title or fragment. |
| plan_analysisC | Advanced plan reads: impact analysis (delay/block/remove), critical path, bottleneck list, or coherence check. |
| list_goalsB | List goals with health rollup. Returns aggregate counts (on_track/at_risk/stale) plus per-goal summary. |
| update_goalA | Atomic goal update. Subsumes update_goal + link_plan_to_goal + unlink_plan_from_goal + add_achiever + remove_achiever. All changes apply together. |
| create_goalA | Create a new top-level goal (no parent). Use this when a human asks you to set up a goal — agents create goals directly, no UI step required. For a goal that contributes to an existing one, use derive_subgoal instead. Defaults to status='active' (live immediately); pass status='draft' only if you want it to sit in the pending queue for review. Lands in the user's active organization's default workspace unless workspace_id is given. |
| derive_subgoalA | Create a sub-goal under an existing parent goal (parent_goal_id required). For a new top-level goal, use create_goal instead. Defaults to status='active'; pass status='draft' for autonomous loops so a human can review before promotion. Drafts surface in the dashboard pending queue. |
| queue_decisionA | Queue a decision for human review. Writes to the real decisions table (not the knowledge graph). Replaces the autopilot pattern of calling add_learning with entry_type=decision and a 'DECISION NEEDED:' title prefix. Resolves via resolve_decision. |
| resolve_decisionA | Resolve a pending decision. action is 'approve', 'defer', or 'reject'. Use this from Cowork artifact buttons or after a human responds in chat. |
| update_taskA | Atomic task state transition. Updates status, optionally appends a log entry, optionally releases the claim. Idempotent on identical inputs. Replaces quick_status + add_log + release_task fan-out. |
| claim_next_taskA | Pick the next task in scope, claim it, and return its context — all in one call. Resolution order: (1) resume any in_progress task, (2) suggest_next_tasks, (3) my_tasks fallback. Pass fresh:true to skip the resume step. |
| release_taskA | Release a claimed task without changing status. Use for explicit handoff or abandonment. |
| add_learningA | Record a knowledge episode. Use after research, on decisions, or when discovering important context. Graphiti extracts entities/relationships automatically. Surfaces coherence_warnings if the new content contradicts existing facts. |
| form_intentionA | Create a plan that achieves a goal, including an initial phase/task tree, in one call. Declare execution order inline: give nodes a |
| extend_intentionA | Add children under an existing phase or task. Use when an agent has implicit authority to decompose work (e.g., a parent task they have claimed). For high-stakes structural proposals, use queue_decision with proposed_subtasks instead. Defaults to status='active'. |
| propose_research_chainA | Create a Research → Plan → Implement triple under an existing parent task or phase. The Research task feeds Plan; Plan feeds Implement (via 'blocks' dependency edges). Use when tackling work with significant unknowns. Defaults to status='active'. |
| link_intentionsA | Create a dependency edge between two existing tasks. Use to express discovered ordering constraints (e.g., agent realizes task B requires task A's output). Server rejects cycles. Both tasks must be in the same plan. |
| unlink_intentionsC | Remove a dependency edge by id. |
| update_planA | Edit any plan property atomically: title, description, status, visibility, GitHub linkage, metadata. Use status='archived' to soft-delete (recoverable via status='active' + restore=true). Hard delete stays REST-only with admin auth. |
| update_nodeA | Edit any node property atomically: title, description, node_type, task_mode, agent_instructions, metadata. Status transitions belong on update_task (which handles claim/log side effects). Rejects node_type changes when the node has children. |
| move_nodeA | Reparent a node within the same plan. Cycle-safe (server rejects moves that would create a tree cycle). Optional position sets the order_index among siblings. |
| delete_planA | Soft-delete a plan by setting status='archived'. Recoverable via update_plan({status: 'active', restore: true}). Hard delete is not agent-callable — use REST + admin token if absolutely needed. |
| delete_nodeA | Soft-delete a node by setting status='archived'. Cascades to children by default. Recoverable via update_task({status: 'not_started'}). |
| share_planA | Atomically change a plan's visibility and add/remove collaborators in one call. Collaborators are specified by user_id (email-based invites stay UI-only for now). Caller must be plan owner or admin. |
| invite_memberA | Add a user to an organization by user_id or email. Caller must be org owner or admin. If email is provided and the user doesn't exist, the API returns 404 (email-invite flow stays UI-only). |
| update_member_roleA | Change a member's role within an organization. Caller must be org owner. Server rejects demoting the last admin. |
| remove_memberA | Remove a member from an organization. Caller must be org owner or admin (admins cannot remove other admins). Server rejects removing the org owner. |
| get_startedA | Onboarding for new agents. Returns the BDI tool surface map and recommended workflows: mission control loop (Cowork), single-task session (Code/CLI), multi-agent claiming (OpenClaw). |
| list_workspacesA | List workspaces in an organization. A workspace is a folder that owns goals + plans. Returns archived workspaces only when include_archived=true. |
| create_workspaceA | Create a new workspace inside an organization. Returns the new workspace row. The slug is auto-generated from the title and de-duplicated within the org. |
| list_blueprintsA | List blueprints visible to the user (owned + public/unlisted). Filter by scope ('plan' or 'workspace'), visibility, or owner_only=true. |
| fork_blueprintA | Fork a plan-scope blueprint into a target workspace. Creates a new plan inside that workspace with the blueprint's structure (nodes, dependencies, agent_instructions). All node statuses reset to 'not_started'. The new plan's forked_from_blueprint_id records lineage. |
| save_as_blueprintA | Snapshot a live plan as a new plan-scope blueprint. Captures structure, agent_instructions, and dependencies. Excludes run-state (statuses, claims, knowledge episodes, logs, decisions, agent assignments). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/TAgents/agent-planner-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server