Skip to main content
Glama

Plane Workflow MCP

Your git history already knows what you did. Let your agent put it in Plane.

An open-source MCP server for Plane, including self-hosted Plane. It turns weeks of commits into planned, started, and completed Plane work items, dated on your business days, with completion notes that cite the commits. Day to day, Claude Code, Codex, Cursor, and other agents use it to plan, start, and complete work under your team's rules, previewing every change first.

CI

Offline demo: git history becomes a previewed backfill plan, then completed Plane items that cite their commits

Offline demo: the real server code runs against a test fixture with synthetic data. Reproduce it.

What it does

  • Backfill Plane from git. plan_git_backfill reads git log and groups commits into work items by module, scope, or folder. Dates come from the commits and are moved onto your business days. Nothing is written until you approve the plan. apply_git_backfill then creates, starts, and completes each item, with a comment listing its commits. Re-running it never duplicates items. Also available as plane-workflow backfill --since 2026-09-01.

  • Plan → start → complete, with evidence. New work gets scope, acceptance criteria, assignee, estimate, and start/target dates that skip your non-business days. Completion requires a started item, a factual summary, and real verification. It never fabricates either.

  • Preview first, safe to retry. Write tools support dry_run previews. Creates check for duplicates and are idempotent, so a timeout followed by a retry does not create a second item. Rate limits are retried with backoff.

  • Know what needs attention. Read-only briefings list overdue, stale, unassigned, unestimated, and unscheduled work. Reports export to DOCX or PDF.

  • Never touch the wrong project. Writes are tied to the selected workspace and project, unless one call explicitly confirms another project's identifier.

Related MCP server: claude-plane

Quick start

Requires Python 3.11+, uv, and a Plane API key.

uv tool install plane-workflow-mcp
plane-workflow setup --client claude-code

Setup asks for your Plane URL, workspace, and API key. It checks the connection, stores the key in your OS keyring, and registers the server with your client. Other clients: --client codex, cursor, claude-desktop, opencode, or zed; any other stdio client can run plane-workflow mcp. Add --dry-run to see the change first.

Using Claude Code? You can install it as a plugin instead, which also adds a skill for using the tools safely.

Select a project, then restart your client:

plane-workflow project list
plane-workflow project activate PROJECT_ID

Update

plane-workflow status shows your version and tells you when a newer release exists. Update with uv tool install --force plane-workflow-mcp, then restart your client. Your setup, API key, and selected project are kept, so there is no need to run setup again.

First prompt

Read this repository's git history since September 1 and propose Plane work items
for it with plan_git_backfill. Show me the plan as a table. Do not write anything
to Plane until I approve.

Or start read-only:

Use Plane Workflow to confirm my active workspace and project, then show overdue
and unassigned work in that project with identifiers and totals. Do not change
any Plane data.

Then try a write with a preview:

Retrying checkout can create two orders. Draft a bug with acceptance criteria in
the active project using its workflow rules. Show the dry-run preview and wait for
my approval before creating it.

More prompts with expected results · Run the offline demo

How it compares

The official Plane MCP server gives broad access to Plane resources and hosted OAuth. This server adds a workflow layer on top of Plane: planning rules, an enforced lifecycle, previews, idempotent writes, and completion records. You can install both. Detailed comparison.

Review happens in your client. The server enforces planning rules and lifecycle checks, but it cannot prove a human approved a call. Plane is updated when the agent calls a tool; there is no background sync.

Documentation

MIT licensed. Community project, not affiliated with Plane.

Available Tools

33 tools
activate_plane_projectB

Validate and select a project in the active stored workspace for future work-item operations.

NameRequiredDescriptionDefault
project_idYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It does disclose a real behavioral trait: the call validates before persisting a selection, and it implies an already-active stored workspace is required. It omits what happens on validation failure, whether a prior active project is replaced, and any permission requirements.

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

Conciseness4/5

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

A single tight sentence with the action front-loaded and no filler. Its brevity is appropriate for a one-parameter state-setting call, though the compression contributes to the missing guidance noted elsewhere.

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

Completeness3/5

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

An output schema exists, so return values need not be explained, and the tool is simple (one scalar param). Still missing is enough to call it reliably: valid project_id sourcing, error behavior when validation fails, and confirmation that the selection persists across later calls.

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?

One required parameter with 0% schema description coverage, and the description does not compensate: it never says whether project_id is a UUID, slug, or name, nor how to obtain a valid value (e.g., from list_plane_projects). The only hint is the phrase 'a project'.

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

Purpose4/5

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

States a specific compound verb ('validate and select') and a specific resource ('a project in the active stored workspace'), plus the downstream effect ('future work-item operations'). It is distinguishable from the sibling activate_plane_workspace by operating on a project rather than a workspace, though the description never names the sibling explicitly.

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

Usage Guidelines3/5

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

The clause 'for future work-item operations' implies a prerequisite setup step, so an agent can infer this runs before work-item calls. But nothing states when to prefer it over list_plane_projects or get_active_plane_context, no exclusions, and no prerequisites (e.g., that a workspace must already be active) are spelled out.

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

activate_plane_workspaceA

Switch to a configured Plane workspace profile without contacting Plane or exposing its API key.

NameRequiredDescriptionDefault
profileYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, and it does disclose a meaningful trait: activation is local and does not hit Plane or expose the API key. However, it says nothing about whether the switch persists across calls, what happens with an unknown/unconfigured profile, or any side effects — gaps that matter for a state-changing tool.

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?

One front-loaded sentence with zero filler; the key constraint (no Plane contact, no API key exposure) is stated immediately.

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

Completeness3/5

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

An output schema exists so return values need not be explained, but for a state-changing activation tool the description omits how to discover valid profile names and what the activation affects for subsequent calls. Adequate but with clear gaps.

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

Parameters3/5

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

Schema coverage is 0% and the single 'profile' parameter has no description, so the description must compensate. It does add the constraint that the value must be an already-'configured' profile, but gives no guidance on valid values, format, or where to obtain them (e.g., list_configured_plane_workspaces).

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

Purpose4/5

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

States a specific verb ('Switch to') and resource ('configured Plane workspace profile'), which is distinguishable from the sibling activate_plane_project that operates on a project rather than a workspace profile. It does not explicitly name that sibling, but the workspace-vs-project distinction is legible from the wording.

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

Usage Guidelines3/5

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

The phrase 'without contacting Plane or exposing its API key' implies the context of use (a local/offline profile switch that avoids credentials), but no explicit when-to-use, prerequisites, or alternative tools are named. An agent must infer that list_configured_plane_workspaces should be consulted first.

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

add_work_item_relationA

Preview or create same-project work-item relations. Set confirm=true after reviewing the relation direction.

NameRequiredDescriptionDefault
confirmNo
project_idNo
work_item_idYes
relation_typeYes
related_work_item_idsYes
confirm_project_identifierNoOnly to target a project other than the active one: the target project's identifier (for example WEB). The call is rejected unless it matches project_id.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It does disclose two important behaviors: the call is a dry-run by default (preview) and it only operates within the same project. It omits permissions, whether existing relations are de-duplicated, behavior when multiple related_work_item_ids are passed, and whether relations can be removed later.

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?

Two sentences, zero waste, with the preview/create distinction front-loaded before the confirm instruction. Nothing to cut.

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

Completeness3/5

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

An output schema exists, so return values need no explanation. However, for a mutation tool with six parameters, no annotations, and low schema coverage, the description should at minimum clarify direction semantics and multi-ID behavior; the confirm gate is the only fully covered piece.

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?

Schema coverage is only 17%, so the description must compensate and largely does not. It explains only 'confirm'; the direction semantics of the eight enum values (blocking vs blocked_by, start_before vs start_after), the role of project_id, and the plural semantics of related_work_item_ids are left unexplained. 'Reviewing the relation direction' gestures at the enum problem without resolving it.

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

Purpose4/5

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

States a specific verb pair ('Preview or create') and resource ('same-project work-item relations'), which lets an agent separate this write path from the read-only sibling get_work_item_relations. It does not explicitly name that sibling, so it falls short of 5.

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

Usage Guidelines4/5

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

The second sentence encodes a concrete two-step workflow: call without confirm to preview, then set confirm=true after reviewing direction. That is real when-to-use guidance, but there is no mention of alternatives (e.g. get_work_item_relations for reading) or when not to use this tool.

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

apply_git_backfillA

Preview or apply a saved git backfill plan: create, start, and complete each item with a commit-citing record.

titles and modules override proposed values by item id; skip leaves items out. Committed work is completed with a comment listing its commits; uncommitted work is only started. Every step is idempotent, so re-running after an error resumes without duplicates. Plane sets completed_at to the time of this call; the real dates are kept in start_date, target_date, and the comment.

NameRequiredDescriptionDefault
skipNo
titlesNo
dry_runNo
modulesNo
plan_idYes
allow_create_modulesNo
confirm_project_identifierNoOnly to target a project other than the active one: the target project's identifier (for example WEB). The call is rejected unless it matches project_id.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior4/5

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

With no annotations, the description carries the full load and does so well: it discloses idempotency and resume-after-error, that committed work is completed with a commit comment while uncommitted work is only started, and the non-obvious quirk that Plane sets completed_at to call time while real dates live in start_date/target_date/comment. Missing only auth/permission requirements.

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

Conciseness4/5

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

Front-loads the core action and preview/apply distinction, then layers behavioral detail. Sentences are dense but each conveys a non-obvious fact; no filler.

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

Completeness3/5

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

An output schema exists, so return values needn't be explained, and the timing/idempotency quirks are covered. Still, for a 7-param mutation tool with zero annotation coverage and 14% schema documentation, gaps around dry_run behavior and allow_create_modules leave an agent under-informed.

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

Parameters3/5

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

Schema coverage is 14%, so the description must compensate. It meaningfully explains titles and modules overriding proposed values by item id and skip excluding items, but leaves dry_run's full semantics implicit and says nothing about allow_create_modules. Partial compensation for a low-coverage 7-param schema.

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

Purpose4/5

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

States a specific verb and resource — preview or apply a saved git backfill plan — and enumerates the actions (create, start, complete with a commit-citing record). The word 'saved' implicitly distinguishes it from plan_git_backfill, which produces the plan, but it does not name that sibling explicitly.

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

Usage Guidelines3/5

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

Distinguishes preview vs apply via the dry_run default and notes that re-running resumes without duplicates, so the operator knows it is safe to retry. However, it never states the prerequisite (a plan_id from plan_git_backfill) or contrasts itself with apply_standardization_plan, leaving selection between siblings to inference.

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

apply_standardization_planA

Preview or apply a saved standardization plan. Set confirm=true only after reviewing its proposed actions.

NameRequiredDescriptionDefault
confirmNo
plan_idYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior3/5

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

No annotations exist, so the description carries the full burden. It does disclose the key safety mechanism – default preview with an explicit confirm gate for the mutation – which is genuinely useful. It stops short of stating whether applying is irreversible, what permissions are required, or what side effects occur on work items, which matters for a write operation.

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?

Two short sentences, front-loaded with the operation and followed by the critical guardrail. No filler and nothing redundant with the schema.

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

Completeness3/5

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

The output schema covers return values and the core preview/apply flow is explained, but for a mutation tool with no annotations the description omits reversibility, required permissions, and how to source a plan_id. Adequate but with clear gaps.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate. It meaningfully explains confirm's role as a review gate, but plan_id gets no explanation of format or where to obtain it (e.g., from get_standardization_plan or create_standardization_plan), leaving half the parameters undocumented.

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

Purpose4/5

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

States a specific verb and resource: preview or apply a saved standardization plan. The dual mode (preview vs. apply) is explicit, and the word 'saved' implicitly separates it from create_standardization_plan and get_standardization_plan, though no sibling is named outright.

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

Usage Guidelines4/5

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

Gives a clear procedural condition: set confirm=true only after reviewing proposed actions, which effectively instructs the agent to run a preview pass first. It does not name get_standardization_plan as the way to obtain or review the plan, so a small inference remains.

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

audit_work_itemsB

Audit Plane work items without changing them. Reports structural and quality gaps for a human-approved cleanup.

NameRequiredDescriptionDefault
project_idNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior3/5

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

No annotations, so the description carries the full burden. 'Without changing them' is valuable assurance that this is non-mutating, but it says nothing about auth requirements, whether it scans all work items (cost/latency), or what 'structural and quality gaps' concretely means.

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?

Two short sentences with zero filler, and the read-only constraint is front-loaded before the purpose. Every clause adds information.

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

Completeness3/5

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

An output schema exists, so return format need not be explained. However, with no annotations and an undocumented project_id, the definition leaves gaps around scope breadth (single project vs all) and execution cost that matter for an audit tool.

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?

One optional project_id parameter with 0% schema description coverage, and the description never mentions it. The agent gets no guidance on what the parameter scopes or what happens when it is omitted (default null, presumably wider scope).

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

Purpose4/5

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

States a specific verb and resource ('Audit Plane work items') and adds the output artifact ('reports structural and quality gaps'). This distinguishes it from plain retrieval siblings like list_work_items and find_work_items by implying analysis rather than listing, though it never names a sibling explicitly.

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

Usage Guidelines3/5

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

'For a human-approved cleanup' implies the context of use (pre-cleanup assessment), but there is no explicit when-to-use vs alternatives guidance. An agent cannot tell from the description whether to run this or get_standardization_plan / find_duplicate_candidates first.

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

cancel_standard_work_itemB

Preview or cancel unfinished work after recording a factual reason and optional follow-ups.

NameRequiredDescriptionDefault
reasonYes
dry_runNo
state_idNo
follow_upsNo
project_idNo
work_item_idYes
confirm_project_identifierNoOnly to target a project other than the active one: the target project's identifier (for example WEB). The call is rejected unless it matches project_id.

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden. It does not disclose that cancellation is likely destructive or irreversible, what happens to follow-ups, what permissions are required, or how state_id and project targeting affect behavior.

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 a single front-loaded sentence with no wasted text. It immediately states the preview/cancel capability and the required reason context.

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

Completeness2/5

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

Although an output schema exists, the description is too sparse for a seven-parameter mutation tool with no annotations and very low schema description coverage. It omits key operational details an agent would need before invoking cancellation safely.

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?

Schema description coverage is only 14%, so the description needs to compensate for seven parameters. It mentions reason and optional follow-ups and implies dry_run via 'preview', but leaves work_item_id, state_id, project_id, and confirm_project_identifier largely unexplained.

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

Purpose4/5

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

The description states a specific action pair, preview or cancel, and a scoped resource, unfinished work. It is clear enough to distinguish from create/start/complete work item tools, though it does not explicitly name those siblings.

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

Usage Guidelines3/5

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

It implies the tool is for previewing or canceling unfinished work after recording a reason, which gives some usage context. However, it does not explain when to use dry_run versus the actual cancellation, nor does it name alternatives or exclusions.

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

complete_standard_work_itemC

Preview or complete started work after recording a factual, human-readable completion comment.

NameRequiredDescriptionDefault
dry_runNo
summaryYes
state_idNo
follow_upsNo
project_idNo
verificationYes
work_item_idYes
actual_minutesNo
implementation_notesNo
confirm_project_identifierNoOnly to target a project other than the active one: the target project's identifier (for example WEB). The call is rejected unless it matches project_id.

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral disclosure burden. It mentions preview/complete and a prerequisite completion comment, but omits likely state transitions, required verification behavior, irreversibility, dry-run semantics, and whether completion can fail after preview.

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

Conciseness4/5

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

The definition is a single front-loaded sentence with no filler, and the action words appear early. It may be too terse for a 10-parameter mutation tool, but as a conciseness measure it is efficient.

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

Completeness2/5

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

An output schema exists, so return values need not be described, but this is a 10-parameter mutation with no annotations and very low schema coverage. The description does not give enough context about required verification, state changes, or project targeting for an agent to call it confidently.

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?

There are 10 parameters but only 10% schema description coverage, and the description does not explain verification, state_id, actual_minutes, follow_ups, implementation_notes, project_id, or work_item_id. It hints that 'preview' maps to dry_run and 'completion comment' may relate to summary, but most parameter meaning is left undocumented.

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

Purpose4/5

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

The description states a specific action pair, preview or complete, on started work, so an agent can infer that it finishes an existing work item rather than creating or starting one. It does not explicitly name or differentiate itself from siblings such as update_standard_work_item or start_standard_work_item.

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

Usage Guidelines3/5

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

It gives a prerequisite: use this after recording a factual, human-readable completion comment, and it presents preview versus complete as modes. However, it does not say when to choose this over update/start/cancel siblings, nor when not to use it.

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

create_standardization_planB

Create and save a read-only cleanup proposal. The plan does not change Plane until apply_standardization_plan is confirmed.

NameRequiredDescriptionDefault
project_idNo
expires_in_hoursNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden and does disclose the critical trait: creating a plan is non-mutating and Plane changes only occur after apply_standardization_plan. It omits other meaningful behavior, notably that the saved plan is time-limited (the schema exposes expires_in_hours defaulting to 24) and what 'cleanup' actually covers.

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

Conciseness4/5

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

Two tight sentences, front-loaded with the action and immediately followed by the mutation boundary. Nothing is wasted, though the brevity comes at the cost of leaving the two parameters unaddressed.

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

Completeness3/5

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

An output schema exists, so return values need not be explained, and the highest-risk fact (no changes until apply) is covered. But for a persisted, expiring artifact with zero annotation coverage and 0% parameter documentation, the description leaves the expiry lifecycle and plan scoping unstated.

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?

Schema description coverage is 0% for two parameters, so the description must compensate and does not: neither project_id nor expires_in_hours is mentioned or explained. An agent must guess that the plan expires and can be scoped to a project.

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

Purpose4/5

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

States a specific verb and resource ('Create and save ... cleanup proposal') and implicitly distinguishes the read-only proposal from apply_standardization_plan, which it names. The word 'standardization' is only carried by the tool name; the description says 'cleanup proposal', which is close enough for an agent to map, but the sibling get_standardization_plan (retrieval) is never contrasted.

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

Usage Guidelines3/5

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

The two-step workflow is implied: nothing is changed until apply_standardization_plan is confirmed, so this is the preview/draft step. However, it never says 'use this before applying' explicitly, nor does it rule out get_standardization_plan or find_duplicate_candidates as alternatives for an agent that just wants to inspect state.

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

create_standard_work_itemB

Create a structured Plane work item with labels, duplicate review, optional module/cycle assignment, and planning fields.

Retrying a create with the same idempotency_key (or, without one, the same title) returns the item the first attempt made instead of creating a second one. Use distinct idempotency_keys with allow_duplicate=true to create intentionally separate items that share a title.

NameRequiredDescriptionDefault
scopeNo
contextNo
dry_runNo
outcomeYes
surfaceNo
cycle_idNo
estimateNo
priorityNo
state_idNo
complexityNo
project_idNo
release_idNo
start_dateNo
module_nameNo
target_dateNo
title_partsNo
assignee_idsNo
work_item_typeNotask
allow_duplicateNo
idempotency_keyNo
current_behaviorNo
additional_labelsNo
expected_behaviorNo
module_descriptionNo
acceptance_criteriaYes
allow_create_moduleNo
confirm_project_identifierNoOnly to target a project other than the active one: the target project's identifier (for example WEB). The call is rejected unless it matches project_id.

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior3/5

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

No annotations are provided, so the description must carry the load. It does disclose important non-obvious behavior: deduplication via idempotency_key or title, and the allow_duplicate override. But it is silent on dry_run semantics, allow_create_module side effects (creating modules!), and the rejection condition for confirm_project_identifier, which are the riskiest parts of a create tool.

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

Conciseness4/5

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

Two compact paragraphs; the core purpose is front-loaded and the duplicate-handling caveat is cleanly separated. Not bloated, though it spends its limited space on duplicate semantics while omitting higher-value parameter explanation.

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

Completeness2/5

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

An output schema exists, so return values need not be described, but for a 27-parameter creation tool with zero annotations and near-zero schema coverage, the description is far too thin. Critical behaviors such as dry_run, module creation via allow_create_module, and project targeting validation go unexplained.

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?

With 27 parameters and only 4% schema description coverage, the description must compensate heavily, but it explains only the idempotency/duplicate trio and loosely gestures at labels and module/cycle fields. Core required params (outcome, acceptance_criteria), title_parts, dry_run, complexity, confirm_project_identifier, and allow_create_module are left entirely to a bare schema.

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

Purpose4/5

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

The description names a specific verb and resource ('Create a structured Plane work item') and enumerates distinguishing capabilities: labels, duplicate review, optional module/cycle assignment, and planning fields. An agent can tell this apart from list/find/update siblings, though it doesn't explicitly contrast with start_standard_work_item or create_standardization_plan.

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

Usage Guidelines3/5

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

The second paragraph gives useful conditional usage advice: reuse the same idempotency_key (or same title) when retrying, and use distinct keys with allow_duplicate=true for intentional duplicates. However, there is no guidance on when to prefer this over siblings like start_standard_work_item or update_standard_work_item, and no prerequisites are stated.

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

diagnose_plane_connectionA

Check local Plane configuration and, when given a project, read the available API capabilities without changing Plane.

NameRequiredDescriptionDefault
project_idNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries the burden, and it does disclose the key trait: 'without changing Plane,' establishing read-only safety. It omits what a failed diagnosis looks like, whether it performs network calls, or what auth it assumes — meaningful gaps for a connectivity-diagnostic tool.

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

Conciseness4/5

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

A single front-loaded sentence covering both invocation modes with no filler. The embedded conditional clause ('and, when given a project') slightly muddies the read on first pass but still earns its place.

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?

Return values are covered by the output schema, and there is only one optional parameter, so the description's two-mode explanation is close to sufficient. Missing only failure/auth expectations, which matters for a tool whose whole job is diagnosing connectivity.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate; it partially does by explaining that project_id scopes the API-capability read and is optional. It does not state whether the value is an ID or a slug, nor what happens to the capability output when the project is omitted.

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

Purpose4/5

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

States a specific verb pair ('check' local configuration, 'read' API capabilities) against a specific resource (Plane), and the 'diagnose connection' framing separates it from the CRUD-oriented siblings. It does not explicitly name a sibling it differs from, so it stops short of 5.

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

Usage Guidelines3/5

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

'when given a project' gives conditional usage for the optional parameter, implying it works with or without one. However, it never says when an agent should reach for this diagnostic instead of get_active_plane_context or get_plane_workflow_setup_status, both of which sound adjacent.

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

ensure_moduleC

Preview or find an existing module, then explicitly create or assign it when requested.

NameRequiredDescriptionDefault
dry_runNo
project_idNo
descriptionNo
module_nameNo
work_item_idsNo
create_if_missingNo
confirm_project_identifierNoOnly to target a project other than the active one: the target project's identifier (for example WEB). The call is rejected unless it matches project_id.

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden, and it discloses only that creation/assignment happens 'explicitly when requested' and that a preview mode exists. It omits permissions, idempotency on an existing module, what happens if module_name already exists, and whether assignment mutates work items.

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

Conciseness4/5

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

A single compact sentence with the preview-first behavior front-loaded and no filler. It is efficiently sized, though its brevity is partly under-specification rather than discipline.

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

Completeness2/5

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

An output schema exists so return values need not be explained, but for a 7-parameter, annotation-free, mutating tool the description is far too thin. An agent cannot safely invoke it without guessing at the semantics of most parameters and the creation/idempotency behavior.

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?

Schema coverage is only 14% (just confirm_project_identifier), leaving six of seven parameters undocumented in the schema. The description vaguely gestures at dry_run ('preview'), create_if_missing ('create'), and work_item_ids ('assign'), but adds no meaning about module_name matching rules, project_id versus confirm_project_identifier, or defaults.

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

Purpose3/5

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

The verb 'ensure' plus 'module' suggests a get-or-create/assign operation, and the description distinguishes preview/find from create/assign. However, it never says what a module is in this system or how this differs concretely from siblings like create_standard_work_item or find_work_items. The purpose is inferable but underspecified.

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

Usage Guidelines2/5

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

'then explicitly create or assign it when requested' hints that creation is opt-in, which is a usage signal. But there is no statement of when to use this versus the many sibling tools, no prerequisites, and no mention of the dry_run/create_if_missing defaults that actually govern behavior.

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

export_work_items_reportB

Export filtered Plane work items as a dynamic Word or PDF report without changing Plane.

Example filters: {"state_names": ["Backlog", "In Progress"]}. Example layout: {"group_by": "state", "columns": ["identifier", "title", "state", "priority"]}.

NameRequiredDescriptionDefault
titleNo
formatYes
layoutNo
filtersNo
project_idNo
output_directoryNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It usefully states that working with Plane does not change Plane, which implies a read-only export. But it does not disclose file output behavior, overwrite behavior, required permissions, or synchronization expectations, which matter for an export tool.

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 followed by compact, useful examples. Every sentence and example earns its place, with no filler.

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

Completeness2/5

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

The tool has six parameters, complex object inputs, no annotations, and zero schema description coverage. The description gives examples for two optional inputs but leaves required scoping and output-location behavior unexplained. Output schema coverage means return values need not be described, but the input side remains under-specified.

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?

Schema description coverage is 0%, so the description must explain the six parameters. It only provides example shapes for filters and layout, while title, project_id, output_directory, and the format enum's practical meaning are not addressed. The examples help but do not fully compensate for the missing schema documentation.

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

Purpose4/5

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

States a specific verb and resource: export filtered Plane work items as a Word or PDF report. The output format and read-only nature are clear. It does not explicitly distinguish itself from sibling tools like list_work_items or find_work_items, but the reporting/export action is distinct.

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

Usage Guidelines3/5

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

Usage is implied by the examples of filters and layout, and 'without changing Plane' signals a read-only export use case. However, there is no explicit when-to-use guidance, no prerequisites, and no comparison to sibling tools such as list_work_items or audit_work_items.

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

find_duplicate_candidatesC

Find potentially duplicate Plane work items by title similarity without changing Plane.

NameRequiredDescriptionDefault
titleNo
min_scoreNo
project_idNo
max_resultsNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden. It does add one genuinely useful trait — 'without changing Plane' signals a non-mutating read — but says nothing about how similarity is scored, how ties/ordering work, or the search scope (workspace vs project).

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

Conciseness4/5

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

A single tight sentence with no filler, and the identifying information (duplicate detection + read-only) is front-loaded. It is arguably too terse for four undocumented parameters rather than padded.

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

Completeness2/5

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

An output schema exists so return values need no explanation, but with no annotations, 0% parameter coverage, and all-optional params with meaningful defaults, the description leaves too much unresolved for correct invocation.

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?

Schema description coverage is 0% across 4 parameters, so the description must compensate and it largely does not. Only 'title' is obliquely implied by 'by title similarity'; min_score, project_id (null default meaning), and max_results remain undocumented in both places.

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

Purpose4/5

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

Specific verb+resource+mechanism: 'Find potentially duplicate Plane work items by title similarity', with the non-mutating property stated. It is clearly distinct from list_work_items / find_work_items / audit_work_items, though it never names those siblings as alternatives.

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

Usage Guidelines2/5

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

No when-to-use guidance, no exclusions, no prerequisites. An agent cannot tell from the description whether this should be run before audit_work_items or get_standardization_plan, or whether a project must be active first.

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

find_work_itemsB

Find Plane work items by their title, UUID, or project reference such as PROJECT-12 without changing Plane.

NameRequiredDescriptionDefault
queryNo
project_idNo
max_resultsNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It usefully discloses that the operation is read-only via 'without changing Plane,' but it does not mention permissions, scoping behavior, or limits beyond the default parameter values.

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 a single efficient sentence with the core search capability front-loaded. It contains no redundant or filler language.

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

Completeness3/5

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

The output schema reduces the need to explain return values, and the read-only nature is disclosed. Still, for a tool with three undocumented parameters and no annotations, the description leaves project_id, max_results, and alternative selection under-explained.

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?

Schema description coverage is 0%, so the description must compensate. It explains the query parameter well by naming title, UUID, and project-reference formats, but it gives no semantic guidance for project_id or max_results.

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

Purpose4/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: find Plane work items. It also clarifies the search keys (title, UUID, or project reference such as PROJECT-12), which distinguishes it from a general listing tool, though it does not explicitly name list_work_items as the alternative.

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

Usage Guidelines3/5

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

Usage is implied by the search criteria: use this when you have a title, UUID, or project reference. However, it does not explicitly say when to prefer this over list_work_items or how project_id/max_results affect selection.

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

get_active_plane_contextA

Show the active Plane workspace and project without exposing credentials or changing Plane.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden and does disclose key traits: it does not expose credentials and does not change Plane. For a zero-parameter read operation this is meaningful transparency, though it could say more about behavior when no active workspace/project exists.

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 a single, front-loaded sentence with no wasted words. It states the operation and its safety constraints immediately.

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?

The tool is simple, parameterless, and has an output schema, so the description need not explain return values. It covers purpose and safety adequately, though it could note prerequisites such as needing a configured or activated workspace.

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

Parameters4/5

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

The tool has zero parameters, so parameter semantics are not applicable beyond the baseline. The schema is empty and fully consistent with a parameterless context lookup.

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

Purpose4/5

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

The description names a specific verb ("Show") and resource ("active Plane workspace and project"), making the operation clear. The word "active" implicitly distinguishes it from siblings like list_configured_plane_workspaces and activate_plane_workspace, though it does not explicitly route the agent among them.

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

Usage Guidelines3/5

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

Usage is implied: inspect the current active workspace/project safely. However, the description does not explicitly state when to use this tool versus alternatives such as list_configured_plane_workspaces, activate_plane_workspace, or get_project_workflow_context. No exclusions or prerequisites are provided.

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

get_plane_workflow_setup_statusA

Check whether Plane Workflow is configured, without contacting Plane or revealing credentials.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries the burden and does so well: it discloses two meaningful behaviors — no network call to Plane and no credential exposure — which an agent needs in order to reason about safety and side effects. It doesn't say what 'configured' concretely means, which keeps it below a 5.

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?

A single front-loaded sentence with no filler; every clause ('configured', 'without contacting Plane', 'without revealing credentials') adds distinct information.

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?

An output schema exists, so return values need not be described, and there are no parameters to explain. The agent has enough to call it correctly, with only a minor gap around what counts as 'configured' and which sibling to use when a live check is needed.

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

Parameters4/5

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

Zero parameters, so there is nothing to disambiguate; the baseline of 4 applies. The description correctly implies the tool takes no input.

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

Purpose4/5

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

States a specific verb ('Check') and resource ('whether Plane Workflow is configured'), so the agent knows exactly what state is being inspected. It distinguishes itself from the connection/workspace siblings by scope, though it doesn't name a specific alternative such as diagnose_plane_connection.

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

Usage Guidelines4/5

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

The qualifier 'without contacting Plane or revealing credentials' gives clear context for when this is the right tool — a local, non-invasive pre-flight check. It stops short of explicitly naming what to use instead when Plane connectivity actually needs testing.

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

get_project_briefingB

Summarize project execution and identify overdue, stale, unassigned, and unplanned active work.

NameRequiredDescriptionDefault
project_idNo
attention_limitNo
stale_after_daysNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden. 'Summarize' and 'identify' imply a non-mutating computation and it discloses which derived categories are computed, but it says nothing about scope defaults (project_id nullable), cost, or how 'stale' is determined without an explicit threshold.

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?

A single dense sentence with zero filler, and the core action and the signal categories are front-loaded. Nothing could be removed without losing content.

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

Completeness3/5

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

An output schema exists, so return values need not be explained, and the tool is a simple three-parameter read. However, with no annotations and 0% parameter coverage, the behavioral and defaulting semantics an agent needs before calling it correctly are absent.

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?

Schema description coverage is 0% across three parameters, so the description must compensate and does not. It never explains what a null project_id means (all projects vs. workspace context), what attention_limit caps the output at, or that stale_after_days controls the 'stale' category it mentions.

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

Purpose4/5

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

States a specific verb (summarize) and object (project execution) plus the concrete signals it surfaces: overdue, stale, unassigned, unplanned active work. It reads clearly as a read-only briefing/dashboard tool, though it never names a sibling (audit_work_items, list_work_items, get_project_workflow_context) to contrast against.

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

Usage Guidelines3/5

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

The listed categories (overdue, stale, unassigned, unplanned) imply a project-health triage use case, but there is no explicit when-to-use statement, no when-not, and no pointer to the sibling tools that list or audit individual work items.

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

get_project_workflow_contextB

Read a project's identifiers, active profile, modules, labels, and work-item count without changing Plane.

NameRequiredDescriptionDefault
project_idNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior3/5

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

With no annotations, the description must carry the behavioral burden; it does declare the read-only nature ('without changing Plane'), which is the key safety fact. However it says nothing about permissions, what happens when no project is active, or whether the call is cheap/idempotent, leaving meaningful gaps for a zero-annotation tool.

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?

A single front-loaded sentence listing exactly what is read and the read-only guarantee, with no filler.

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

Completeness3/5

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

The output schema covers return shape, so the description needn't describe it. But the only real open question — behavior when project_id is null — is unaddressed, and there is no pointer to sibling tools for other project reads.

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?

Schema description coverage is 0% and the single parameter project_id is optional/nullable with default null, yet the description never explains what omitting it does (presumably falling back to the active project). With one undocumented parameter the description should compensate but does not.

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

Purpose4/5

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

States a specific verb ('Read') and enumerates the resources returned: identifiers, active profile, modules, labels, work-item count. It does not differentiate itself from close siblings such as get_project_workflow_profile, get_active_plane_context, or get_project_briefing, so an agent cannot tell which read tool to pick from the description alone.

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

Usage Guidelines2/5

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

No statement of when to use this versus the many sibling getters (get_project_workflow_profile, get_active_plane_context, get_project_briefing, list_plane_projects). The only implied guidance is 'without changing Plane', which signals a read but does not route the agent.

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

get_project_workflow_profileB

Read the merged workflow profile for a Plane project without changing Plane or local profile files.

NameRequiredDescriptionDefault
project_idNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior3/5

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

With no annotations, the description does disclose an important behavioral trait: it is non-mutating for both Plane and local profile files. However, it does not clarify what 'merged' means (which layers are combined), what happens when project_id is omitted, or any auth/error behavior, leaving meaningful gaps for a tool with zero annotation coverage.

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

Conciseness4/5

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

It is a single, front-loaded sentence with zero waste. It could be slightly more useful without becoming verbose, but the structure is efficient and clear.

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

Completeness3/5

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

An output schema exists, so return values need not be explained. Still, the missing usage guidance and the unexplained project_id parameter leave the definition only minimally viable for an agent deciding when and how to call it.

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?

Schema description coverage is 0% and the single parameter project_id is undocumented in both schema and description. The description never mentions project_id, its nullable default, or whether omission falls back to the active project, so it fails to compensate for the schema gap.

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

Purpose4/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: 'Read the merged workflow profile for a Plane project.' The word 'merged' helps distinguish it from simpler context lookups like get_project_workflow_context, but no sibling is named explicitly, so differentiation is only implicit.

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

Usage Guidelines2/5

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

It does not say when to use this tool versus get_project_workflow_context, get_workflow_options, or get_project_briefing. The only usage hint is the read-only guarantee ('without changing Plane or local profile files'), which implies a safe-read context but gives no positive selection criteria.

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

get_standardization_planB

Read a saved standardization plan without changing Plane.

NameRequiredDescriptionDefault
plan_idYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations provided, the description must carry the behavioral load, and it does disclose the key trait: this is a read-only operation that does not modify Plane. Beyond that, it says nothing about failure behavior for an unknown plan_id, permissions, or whether the plan is a snapshot or live view. An output schema exists, so return-shape detail is not required.

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

Conciseness4/5

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

One short sentence with the resource and the read-only guarantee front-loaded; there is no filler. It is arguably too terse rather than padded, so conciseness is not the failing dimension.

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

Completeness3/5

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

Given a single required parameter and an existing output schema, the missing piece is the provenance and accepted form of plan_id. The description covers what the tool does and its safety profile but leaves that one operational gap for an otherwise simple tool.

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 single parameter plan_id has 0% schema description coverage, so the description is the only place its meaning could be established. It never says what a plan_id is, its format, or that it comes from create_standardization_plan, leaving the agent to infer provenance.

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

Purpose4/5

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

The description names a specific verb ('Read') and resource ('saved standardization plan'), and the phrase 'without changing Plane' implicitly distinguishes it from the mutating siblings apply_standardization_plan and create_standardization_plan. It stops short of naming those siblings explicitly, so it is clear but not fully differentiated.

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

Usage Guidelines3/5

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

'Read a saved standardization plan without changing Plane' implies the use case (inspecting an existing plan) and hints that it is the non-mutating counterpart to apply_standardization_plan. However, there is no explicit when-to-use statement, no prerequisites (e.g. the plan must have been created first), and no named alternative.

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

get_workflow_optionsB

List the available state, cycle, assignee, and estimate choices for a project without changing Plane.

NameRequiredDescriptionDefault
project_idNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden; "without changing Plane" is a genuinely valuable non-destructiveness guarantee that substitutes for a destructiveHint=false. Beyond that it says nothing about scope of the result set, behavior when project_id is omitted, or permission requirements. An output schema exists, so omitting return-shape detail is acceptable.

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

Conciseness4/5

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

One sentence, front-loaded with the verb and the concrete list of option types, with the safety clause trailing. Nothing is wasted, though it is terse enough that key scoping detail was cut.

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

Completeness3/5

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

The output schema removes the need to explain return values, and there is only one optional parameter, which keeps the surface small. Still, with zero annotation coverage the description should say what scope of choices comes back and what happens without a project_id, and it does not.

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?

Schema description coverage is 0% and the single parameter project_id is never mentioned in the description. The most important semantic question — whether omitting project_id (default null) yields options across all projects or the active project — is left entirely undocumented in both schema and description.

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

Purpose4/5

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

Names a specific verb ("List") and a specific resource ("state, cycle, assignee, and estimate choices for a project"), which is far more concrete than a generic "get options". It does not distinguish itself from close siblings such as get_project_workflow_context or get_project_workflow_profile, so an agent must open both to know which to call.

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

Usage Guidelines3/5

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

The phrase "without changing Plane" implies a read-only, discovery-style usage, which is a useful hint but not an explicit when-to-use statement. No alternative tool is named and no precondition (e.g., needing an active project first) is stated.

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

get_work_item_relationsA

Read one work item's dependency, duplicate, schedule, and related-work relationships.

NameRequiredDescriptionDefault
project_idNo
work_item_idYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the burden of behavioral disclosure. It indicates a read-only operation and enumerates the relationship categories returned, which is useful context. However, it does not mention authorization requirements, pagination, error behavior, or whether relationships are returned in a particular order.

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 a single, front-loaded sentence that states the action and the resource without any wasted words. It is appropriately sized for a simple read operation.

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

Completeness3/5

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

An output schema exists, so return values need not be explained. However, with no annotations and 0% schema description coverage, the description should ideally clarify the 'project_id' parameter and note any behavioral constraints. It covers the relationship types but leaves gaps around parameters and operational behavior.

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?

Schema description coverage is 0%, so the description must compensate for both parameters. It implies that 'work_item_id' identifies the work item whose relations are read, but it provides no explanation of 'project_id' or its role, leaving half of the parameters undocumented.

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 names a specific verb ('Read') and a specific resource ('one work item's dependency, duplicate, schedule, and related-work relationships'). It clearly distinguishes this retrieval tool from the sibling mutation tool 'add_work_item_relation' by focusing on reading existing relationships.

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

Usage Guidelines3/5

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

The description implies that this tool is used when you need to inspect relationships for a single work item, but it does not state when to prefer it over alternatives like 'find_work_items' or explicitly say not to use it for creating relations. Usage is inferable but not explicitly guided.

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

list_configured_plane_workspacesA

List locally configured Plane workspaces and the project selected in each, without contacting Plane.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does disclose the key behavioral trait: no network call to Plane, so no auth or connectivity is required. Read-only semantics are conveyed by 'List'. It stops short of saying what happens when no workspace is configured or where the config is read from.

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?

A single sentence with no filler. The most decision-relevant clause ('locally configured ... without contacting Plane') is front-loaded before the payload detail.

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?

An output schema exists, so return values need not be spelled out, and with no parameters the surface area is tiny. The description covers purpose, offline behavior, and the shape of the result; only edge-case behavior (empty config, config location) is unaddressed.

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

Parameters4/5

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

Zero parameters, so there is no parameter semantics to explain; baseline 4 applies. The description correctly implies the tool takes no arguments by describing a fixed, global listing.

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

Purpose4/5

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

States a specific verb and resource ('List locally configured Plane workspaces') and adds the payload detail 'the project selected in each'. The qualifier 'locally configured' plus 'without contacting Plane' implicitly separates it from remote-facing siblings like list_plane_projects, though no sibling is named explicitly.

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

Usage Guidelines3/5

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

The phrase 'without contacting Plane' signals the context in which this tool is appropriate (offline/local inspection), which is a real usage hint. However, it never states when to prefer this over list_plane_projects or get_active_plane_context, and gives no exclusions or prerequisites.

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

list_plane_projectsA

List projects in the active Plane workspace so one can be selected without changing Plane.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are provided, so the description carries the behavioral burden. It usefully discloses that the operation does not change Plane, implying read-only behavior, but it does not cover prerequisites, permissions, pagination, or error behavior for the active-workspace dependency.

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 a single front-loaded sentence that states the resource, scope, and intent without filler. Every element contributes to understanding what the tool does.

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?

The tool is a simple zero-parameter list operation, and an output schema is present, so return values need not be described. The description covers the active workspace scope and non-mutating behavior, though it omits explicit prerequisite guidance for the active workspace.

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

Parameters4/5

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

The tool has zero input parameters, so there are no parameter semantics to explain. Per the baseline for zero-parameter tools, this receives a 4, with no description-level parameter details needed.

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

Purpose4/5

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

The description gives a specific verb and resource: list projects in the active Plane workspace. It also adds scope and intent by saying this supports selecting a project without changing Plane, though it does not explicitly name sibling alternatives such as activate_plane_project.

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

Usage Guidelines3/5

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

The phrase 'so one can be selected without changing Plane' gives an implied use case: retrieving projects for selection while avoiding state changes. However, it does not explicitly state when to use this instead of siblings like list_configured_plane_workspaces, activate_plane_project, or get_active_plane_context.

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

list_work_itemsC

List project work items with cross-edition local filters and bounded pagination.

NameRequiredDescriptionDefault
queryNo
offsetNo
cycle_idsNo
label_idsNo
state_idsNo
module_idsNo
prioritiesNo
project_idNo
max_resultsNo
state_typesNo
assignee_idsNo
overdue_onlyNo
updated_afterNo
updated_beforeNo
include_completedNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. 'Local filters' hints that filtering happens client-side rather than server-side and 'bounded pagination' hints at a result cap, but neither is explained, and there is no disclosure of read-only safety, permission requirements, or how filtering interacts with pagination.

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

Conciseness3/5

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

A single front-loaded sentence with no filler, which is structurally good, but the brevity is achieved by packing meaning into unexplained phrases rather than by efficient communication. Concise but under-informative.

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

Completeness2/5

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

An output schema covers return values, but for a 15-parameter, zero-annotation tool the description leaves too much unstated: no filter semantics, no pagination continuation rule, and no indication of which filters are mutually exclusive. It is not sufficient for correct invocation.

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

Parameters1/5

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

With 15 parameters and 0% schema description coverage, the description should compensate, but it names none of them. Filter dimensions (cycle_ids, state_ids, assignee_ids, priorities, updated_after/before), the query semantics, and the interaction between include_completed and state_types are all left entirely undocumented.

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

Purpose3/5

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

States a clear verb and resource ('List project work items'), but the qualifiers 'cross-edition local filters' and 'bounded pagination' are opaque jargon that don't tell an agent what makes this listing different from siblings like find_work_items or audit_work_items. An agent can identify the resource but not the distinguishing scope.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus the closely named sibling find_work_items, nor any mention of prerequisites such as an active project context. The agent must infer selection from the name alone.

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

plan_git_backfillA

Read local git history and propose Plane work items for it, without changing Plane.

Commits are grouped by module_map path prefix (for example {"apps/web/": "Web"}), then by conventional-commit scope, then by top-level folder, and split when work pauses longer than max_gap_days. Start and target dates come from the commit dates, moved onto the project's business days. Review the items with the user, then call apply_git_backfill with the returned plan_id.

NameRequiredDescriptionDefault
sinceYes
untilNo
authorNo
repo_pathYes
module_mapNo
project_idNo
max_gap_daysNo
include_uncommittedNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden and does well: it discloses that Plane is not changed, explains the grouping and splitting algorithm, notes business-day date adjustment, and mentions the plan_id handoff. It does not cover permissions, filesystem access expectations, or error behavior, but the output schema covers return values.

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 three sentences, front-loaded with the core purpose, and every sentence adds useful information. The grouping sentence is dense but necessary to explain how the plan is produced.

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?

For a complex planning tool with an output schema, the description covers the key workflow, non-mutating behavior, grouping logic, and next step well enough. It is still incomplete on several input parameters and prerequisites, but the core planning behavior is understandable.

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?

Schema description coverage is 0% across 8 parameters, so the description must compensate. It explains module_map and max_gap_days meaningfully, but leaves since, until, author, project_id, include_uncommitted, and even repo_path largely undocumented, which is a significant gap for correct invocation.

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: reading local git history and proposing Plane work items. It also clearly scopes the operation as non-mutating ('without changing Plane') and names the follow-up sibling apply_git_backfill, so an agent can distinguish it from the apply tool.

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 explicitly describes the workflow: generate proposed items, review them with the user, then call apply_git_backfill with the returned plan_id. This effectively defines when to use this planning tool versus the applying sibling.

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

save_project_workflow_profileB

Preview or save a project-bound workflow-profile override locally. Set confirm=true to write the profile file.

NameRequiredDescriptionDefault
confirmNo
profileYes
project_idNo
replace_existingNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior3/5

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

No annotations exist, so the description carries the full burden. It does disclose the most important trait: that the operation is a dry-run by default and only writes when confirm=true, which limits accidental mutation. It says nothing about whether an existing profile is overwritten, where 'locally' resolves to, permissions, or reversibility of a write.

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?

Two short sentences, zero filler, with the preview/write gate front-loaded. Nothing could be removed without losing information.

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

Completeness3/5

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

An output schema exists, so return values need not be described, and the confirm gate is the single most important behavior to disclose for a save tool. However, with no annotations and 0% parameter coverage, the description leaves out what 'replace_existing' does to an existing profile and what shape the required profile object takes — meaningful gaps for a mutation tool.

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?

Schema coverage is 0% across 4 parameters, so the description must compensate and largely does not. Only 'confirm' is explained; the required 'profile' object (which is nested and additionalProperties:true), 'project_id', and especially 'replace_existing' are left entirely undefined in both schema and description.

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

Purpose4/5

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

States a concrete verb pair ('preview or save') and a specific resource ('project-bound workflow-profile override') with the scope 'locally'. The dual preview/write nature is clear, though it never names the sibling get_project_workflow_profile, so an agent must infer the read-vs-write split rather than being routed to it.

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

Usage Guidelines3/5

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

The description effectively explains the safe default (preview) versus the write path ('Set confirm=true'), which is real usage guidance. It gives no guidance on when to choose this over get_project_workflow_profile or validate_workflow_profile, and no exclusions or prerequisites are stated.

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

start_standard_work_itemB

Preview or start planned work using the project's configured started state and the actual start date.

NameRequiredDescriptionDefault
dry_runNo
state_idNo
project_idNo
start_dateNo
work_item_idYes
confirm_project_identifierNoOnly to target a project other than the active one: the target project's identifier (for example WEB). The call is rejected unless it matches project_id.

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden for a mutation tool. It reveals that the target state comes from project configuration and that the actual date is applied, but says nothing about permissions, whether dry_run truly makes no changes, idempotency if the item is already started, or error conditions.

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

Conciseness4/5

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

A single front-loaded sentence that names the preview/start duality first. It is efficient, though 'planned work' is slightly vague for an agent needing to know which items qualify.

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

Completeness2/5

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

With no annotations, six parameters at 17% coverage, and a mutation that changes workflow state, the description should address prerequisites, safety of dry_run, and failure modes. The presence of an output schema covers return values, but the behavioral gaps remain substantial.

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

Parameters3/5

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

Schema coverage is only 17% (just confirm_project_identifier), so the description must compensate. It does explain the semantics of the configured started state and the actual start date, and implies the preview role of dry_run, but leaves project_id versus confirm_project_identifier indirection and state_id override behavior unclear.

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

Purpose4/5

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

The description uses a concrete verb (start) with a clear resource implied by the name, and distinguishes a preview mode from an actual transition using the project's configured 'started' state. It does not explicitly name sibling tools like complete_standard_work_item or update_standard_work_item, so the differentiation is only implicit.

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

Usage Guidelines3/5

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

The phrase 'Preview or start' hints that dry_run is for inspecting the outcome first, but it never states when to choose preview over the real transition, nor when to use this instead of update_standard_work_item or complete_standard_work_item. Usage is inferable but not spelled out.

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

update_standard_work_itemC

Preview or update a specific Plane work item while preserving labels and description unless a structured replacement is requested.

NameRequiredDescriptionDefault
scopeNo
contextNo
dry_runNo
outcomeNo
surfaceNo
cycle_idNo
estimateNo
priorityNo
state_idNo
project_idNo
release_idNo
start_dateNo
module_nameNo
target_dateNo
title_partsNo
assignee_idsNo
work_item_idYes
work_item_typeNo
current_behaviorNo
additional_labelsNo
expected_behaviorNo
module_descriptionNo
acceptance_criteriaNo
allow_create_moduleNo
replace_descriptionNo
confirm_project_identifierNoOnly to target a project other than the active one: the target project's identifier (for example WEB). The call is rejected unless it matches project_id.

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It usefully discloses preview/update behavior and default preservation of labels and description unless structured replacement is requested, but it omits permissions, partial-update semantics, side effects, null handling, and what preview returns.

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

Conciseness4/5

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

The single sentence is front-loaded with the main action and contains no filler. It is concise, though its brevity leaves no structured guidance for a tool with 26 parameters.

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

Completeness2/5

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

Given 26 parameters, 4% schema description coverage, and no annotations, the one-sentence description is not complete enough. The output schema exists so return values needn't be described, but usage and parameter guidance are substantially missing.

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?

Schema description coverage is only 4% across 26 parameters. The description hints at dry_run, replace_description, and labels/description preservation, but it leaves nearly all parameters undocumented and does not compensate for the low schema coverage.

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

Purpose4/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: 'Preview or update a specific Plane work item.' It is clear what the tool acts on, but it does not distinguish this from sibling tools such as create_standard_work_item, start_standard_work_item, or complete_standard_work_item.

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

Usage Guidelines2/5

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

It implies preview mode through 'Preview or update' and mentions preservation unless a structured replacement is requested, but gives no explicit when-to-use guidance. It does not say when to choose preview versus update, nor when to use this instead of create/start/complete/cancel siblings.

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

upload_work_item_attachmentB

Preview or upload one local file as a Plane attachment. Set confirm=true to upload the file.

NameRequiredDescriptionDefault
confirmNo
file_pathNo
project_idNo
max_size_mbNo
work_item_idNo
confirm_project_identifierNoOnly to target a project other than the active one: the target project's identifier (for example WEB). The call is rejected unless it matches project_id.

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, the description carries the burden, and it does disclose the meaningful two-phase behavior (preview by default, actual write only with confirm=true). It stays silent on what preview returns as confirmation, what happens when a file exceeds max_size_mb (default 25), and permission/error behavior for a mutation.

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?

Two sentences, no filler, and the operational instruction (confirm=true to actually upload) is front-loaded right after the purpose statement.

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

Completeness2/5

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

Six parameters with almost no documentation, no annotations, and a mutation path means the definition is under-specified despite the output schema handling return values. An agent can guess at confirm but cannot confidently populate the project/work-item/size parameters from this text.

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?

Schema description coverage is only 17%, so the description must compensate and largely doesn't. Only confirm is explained; file_path, work_item_id, project_id and max_size_mb carry no meaning beyond their names, and work_item_id/file_path defaulting to empty strings is unexplained.

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

Purpose4/5

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

Concrete verb and resource: 'Preview or upload one local file as a Plane attachment' tells the agent exactly what happens and to what. It also distinguishes the two operating modes. It does not differentiate from siblings, but no sibling in the list touches attachments, so confusion risk is low.

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

Usage Guidelines3/5

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

'Set confirm=true to upload the file' implies the default call is a dry-run preview, which is usable guidance. However, nothing says when to use project_id versus the active project, or how confirm_project_identifier is meant to interplay with it beyond the schema note.

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

validate_workflow_profileB

Validate a reusable workflow-profile override and return a representative title preview without saving it.

NameRequiredDescriptionDefault
profileYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, the description carries the full burden; it does disclose the most important trait — that nothing is persisted — which is real behavioral value. But it says nothing about what happens on an invalid profile (error vs. warning list), whether validation is partial or strict, or any permission requirements.

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?

One sentence, no filler, with the non-persistence guarantee and the returned preview front-loaded. Nothing here could be cut without losing information.

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

Completeness2/5

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

The output schema covers the return value, but the input remains opaque: a nested, open-ended object with zero documentation means an agent cannot construct a valid call from this definition alone. For a validation tool whose whole value depends on supplying the right override shape, this is a significant gap.

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?

Schema coverage is 0% and the single parameter is a free-form nested object with additionalProperties=true, so the schema conveys no field meanings at all. The description only labels it a 'workflow-profile override', giving no hint about expected keys, nesting, or which fields matter for a 'representative title preview'.

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

Purpose4/5

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

States a specific verb+resource pair ('Validate a reusable workflow-profile override') plus a side effect of the call ('return a representative title preview'). The phrase 'without saving it' implicitly distinguishes it from save_project_workflow_profile, though it never names that sibling or explains its relation to get_project_workflow_profile.

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

Usage Guidelines3/5

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

Usage is only implied: the dry-run framing ('without saving it') suggests calling this before save_project_workflow_profile, but there is no explicit 'use when' condition, no stated preconditions, and no named alternative.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 33 tool updatesv0.7.0
    • First observedactivate_plane_project
    • First observedactivate_plane_workspace
    • First observedadd_work_item_evidence_links
    • First observedadd_work_item_relation
    • First observedapply_git_backfill
    • First observedapply_standardization_plan
    • First observedaudit_work_items
    • First observedcancel_standard_work_item
    • First observedcomplete_standard_work_item
    • First observedcreate_standard_work_item
    • First observedcreate_standardization_plan
    • First observeddiagnose_plane_connection
    • First observedensure_module
    • First observedexport_work_items_report
    • First observedfind_duplicate_candidates
    • First observedfind_work_items
    • First observedget_active_plane_context
    • First observedget_plane_workflow_setup_status
    • First observedget_project_briefing
    • First observedget_project_workflow_context
    • First observedget_project_workflow_profile
    • First observedget_standardization_plan
    • First observedget_work_item_relations
    • First observedget_workflow_options
    • First observedlist_configured_plane_workspaces
    • First observedlist_plane_projects
    • First observedlist_work_items
    • First observedplan_git_backfill
    • First observedsave_project_workflow_profile
    • First observedstart_standard_work_item
    • First observedupdate_standard_work_item
    • First observedupload_work_item_attachment
    • First observedvalidate_workflow_profile

TDQS

B3.2/5.0

Scored across 33 tools

Disambiguation4/5

The core workflow actions (create/start/complete/cancel/update work items) and the git-backfill, reporting, relation, evidence, and attachment tools are clearly distinct. Several read-only status/context tools overlap around workspace, project, profile, setup, and diagnostic information, so an agent may need to inspect descriptions carefully to choose the right getter.

Naming Consistency5/5

Tool names consistently use snake_case with a verb-first pattern such as get_, list_, create_, apply_, validate_, and add_. The few longer names remain predictable and readable, with no significant mixing of naming conventions.

Tool Count2/5

At 33 tools, the set is heavy for a single MCP server even though the domain is broad. Many setup/status/profile helpers could likely be consolidated or grouped, making discovery and selection more burdensome than necessary.

Completeness4/5

The server covers workspace/project activation, workflow profiles, standardization planning, work-item lifecycle operations, relations, evidence links, attachments, reporting, auditing, and git backfill. Minor gaps remain around deletion/detachment operations and standalone comment management, but core workflows are well covered.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    MCP server and automation watcher for Plane project management, enabling Claude to interact with Plane via 40+ tools and auto-trigger on labeled issues.
    -
  • A
    license
    B
    quality
    D
    maintenance
    An MCP server that enables LLMs to fully manage a Plane workspace, including projects, work items, states, labels, cycles, modules, comments, and members.
    38
    MIT
  • A
    license
    B
    quality
    A
    maintenance
    Unofficial MCP server for self-hosted Plane Community Edition, enabling project management tasks like managing work items, cycles, modules, and initiatives via natural language.
    100
    2
    MIT