Skip to main content
Glama

create_plan

Create a draft plan tied to a project and auto-resolve its primary board when one exists so task creation and board sync work; activate it later to enqueue existing tasks.

Instructions

Admin: create a new plan (in draft status). When primary_board_id is omitted the plan inherits the project's board automatically if the project has exactly one registered board — this is what makes board sync fire for every task on the plan, including create_tasks bulk inserts. Pass primary_board_id explicitly only when the project has more than one board. The response echoes the resolved primary_board_id; a null value means the plan is NOT board-bound and no cards will appear. Use activate_plan to move the plan to active and enqueue the board items for existing tasks.

Input Schema

NameRequiredDescriptionDefault
NameNo
PlanTypeNo
as_agentNo
ObjectiveNo
ProjectIdYes
PrimaryBoardIdNo
PrimarySlackChannelIdNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish that this is a non-read-only, non-destructive creation operation. The description adds important context beyond annotations: admin scope, draft status, automatic board inheritance, board-sync side effects, the null PrimaryBoardId meaning, and the activate_plan follow-up.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core action and status, then proceeds directly into the critical board-binding behavior and the activation follow-up. Every sentence adds meaningful invocation or follow-up context, with no redundant restatement of the tool name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, but the description compensates by explaining the echoed resolved PrimaryBoardId and what null means. It also covers the key board-sync behavior and next step; the remaining gap is the unexplained optional parameters.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description explains PrimaryBoardId in depth, including inheritance rules and response semantics. However, schema description coverage is 0% and six of seven parameters are not explained, including non-obvious fields such as PlanType, as_agent, and PrimarySlackChannelId.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('create a new plan') plus initial status ('in draft status'). It also differentiates the follow-up path by naming 'activate_plan', so an agent can distinguish creation from activation without opening other schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit conditional guidance for PrimaryBoardId: omit it when the project has exactly one registered board, pass it explicitly only when the project has more than one board. It also routes the agent to activate_plan for moving the plan to active and enqueueing board items.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.