Skip to main content
Glama

PLANKA MCP Server

A Model Context Protocol (MCP) server for PLANKA kanban boards, purpose-built for Claude and other AI agents.

Features

  • Full PLANKA 2.0 API support

  • Type-safe with Zod validation

  • Optimized for agent workflows (combined operations, sensible defaults)

  • 13 tools covering cards, tasks, labels, comments, and lists

Related MCP server: Another Planka MCP

Installation

npm install @gogogadgetbytes/planka-mcp

Or run directly:

npx @gogogadgetbytes/planka-mcp

Configuration

Environment Variables

Variable

Required

Description

PLANKA_BASE_URL

Yes

Your PLANKA server URL

PLANKA_AGENT_EMAIL

Yes

Agent user email

PLANKA_AGENT_PASSWORD

Yes

Agent user password

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "planka": {
      "command": "npx",
      "args": ["@gogogadgetbytes/planka-mcp"],
      "env": {
        "PLANKA_BASE_URL": "https://planka.example.com",
        "PLANKA_AGENT_EMAIL": "agent@example.com",
        "PLANKA_AGENT_PASSWORD": "your-password"
      }
    }
  }
}

Claude Code

Add to ~/.claude.json:

{
  "mcpServers": {
    "planka": {
      "command": "npx",
      "args": ["@gogogadgetbytes/planka-mcp"],
      "env": {
        "PLANKA_BASE_URL": "https://planka.example.com",
        "PLANKA_AGENT_EMAIL": "agent@example.com",
        "PLANKA_AGENT_PASSWORD": "your-password"
      }
    }
  }
}

Available Tools

Navigation

Tool

Description

planka_get_structure

Get projects, boards, and lists hierarchy

planka_get_board

Get a board with all cards, lists, and labels

Cards

Tool

Description

planka_create_card

Create a card (optionally with tasks)

planka_update_card

Update card properties

planka_move_card

Move card to different list/position

planka_get_card

Get card details with tasks/comments

planka_delete_card

Delete a card

Tasks

Tool

Description

planka_create_tasks

Add tasks (checklist items) to a card

planka_update_task

Update task name or completion

planka_delete_task

Delete a task

Labels

Tool

Description

planka_manage_labels

Create/update/delete board labels

planka_set_card_labels

Add/remove labels from a card

Comments

Tool

Description

planka_add_comment

Add a comment to a card

planka_get_comments

Get all comments on a card

Lists

Tool

Description

planka_manage_lists

Create/update/delete lists

Usage Examples

Get board structure

Use planka_get_structure to see all projects and boards

Create a card with tasks

Use planka_create_card with:
- listId: "abc123"
- name: "Implement feature X"
- tasks: ["Research", "Design", "Implement", "Test"]

Move card through workflow

Use planka_move_card to move card from "To Do" to "In Progress"

PLANKA 2.0 Compatibility

This server is designed for PLANKA 2.0 and handles the API differences from 1.x:

  • Card creation includes required type field

  • Label endpoints use /card-labels path

  • Optional fields handled gracefully

Development

# Clone
git clone https://github.com/gogogadgetbytes/planka-mcp.git
cd planka-mcp

# Install
npm install

# Build
npm run build

# Test
npm test

License

MIT

Available Tools

15 tools
planka_add_commentA

Add a comment to a card. Use this for status updates, notes, or agent activity logs.

ParametersJSON Schema
NameRequiredDescriptionDefault
cardIdYesThe card ID
textYesComment text (markdown supported)

TDQS

A3.8/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 burden of behavioral disclosure. It indicates a mutation ('Add') but does not mention permissions, idempotency, side effects, or what the response contains. This is a significant gap for a write operation 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.

Conciseness5/5

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

Two short sentences convey the action and use cases without any wasted words. The core purpose is front-loaded, making it easy for an agent to parse quickly.

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 simple two-parameter tool with no nested objects and no output schema, the definition gives enough context to invoke it correctly. It does not describe return values or side effects, but the use-case framing and schema coverage make the tool's operation reasonably complete.

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 100%, so both parameters are already documented in the input schema. The description adds no extra parameter-level detail, but the baseline of 3 applies because the schema handles the parameter semantics sufficiently.

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 opens with a specific verb-resource pairing: 'Add a comment to a card.' This clearly identifies the action and target, and naturally distinguishes it from sibling tools like planka_get_comments and planka_set_card_labels.

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 phrase 'Use this for status updates, notes, or agent activity logs' gives practical context for when to invoke the tool. It does not explicitly name alternatives or exclusions, but the intended use cases are clear enough for an agent to select it appropriately.

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

planka_create_cardA

Create a new card on a board. Optionally add tasks (checklist items) at the same time.

ParametersJSON Schema
NameRequiredDescriptionDefault
listIdYesThe list to create the card in
nameYesCard title
descriptionNoCard description (markdown supported)
tasksNoOptional: Task names to add as a checklist
dueDateNoDue date in ISO format
labelIdsNoOptional: Label IDs to attach

TDQS

A3.5/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 burden of behavioral disclosure. It only states the action and optional task inclusion, without mentioning side effects, idempotency, permissions, or error handling. As a mutating operation, more transparency is expected to prevent misuse.

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 no fluff. The primary action is front-loaded, and the optional task feature is stated secondary. It is easily scannable and to the point.

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?

For a create tool with full schema coverage, the description is minimal but sufficient for basic invocation. However, it does not reference the sibling tool planka_create_tasks, which could lead to misuse when adding tasks to an existing card. Additionally, no return value or post-creation behavior is mentioned, though no output schema exists to fill that gap.

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?

The input schema already provides complete descriptions for all six parameters, so the baseline is 3. The description adds no extra parameter insight beyond restating that tasks are checklist items, which the schema already mentions. Therefore, it does not enhance parameter understanding.

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 clearly states the action 'Create a new card on a board' with a specific verb and resource. It also mentions the optional task functionality, distinguishing it from tools like planka_create_tasks. This makes the purpose unambiguous and distinct from sibling operations.

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 usage context is implied: you use this tool to create a card. However, there is no explicit guidance on when to use alternatives like planka_create_tasks for adding tasks later, nor any exclusions or conditions. The phrase 'at the same time' hints at a timing option but does not clarify the separation of concerns.

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

planka_create_tasksA

Add one or more tasks (checklist items) to a card.

ParametersJSON Schema
NameRequiredDescriptionDefault
cardIdYesThe card ID
tasksYesTask names to create

TDQS

A3.6/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 burden of behavioral disclosure. It states the mutation ('Add') but does not disclose what happens to existing tasks, whether the operation is idempotent, what response is returned, or any authorization requirements. This is a significant gap for a mutation 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 sentence, no filler, with the action and target front-loaded. Every word 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?

For a simple, two-parameter tool with a fully described schema, the description plus schema is largely sufficient for invocation. It does not cover behavioral edge cases like duplicate task names or whether an existing checklist is appended to, but the low complexity makes this minor.

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 100%, so the schema already documents cardId and tasks. The description only reinforces 'one or more' and 'to a card' without adding syntax, format, or relationship details, which matches the baseline 3.

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?

States a specific verb ('Add'), resource ('tasks'), and clarifies they are checklist items attached to a card. This distinguishes it from sibling tools like create_card or update_task, so an agent can identify the operation immediately.

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 when to use the tool—when adding one or more checklist tasks to a card—but gives no explicit guidance about alternatives or exclusion criteria. It does not mention update_task/delete_task or clarify prerequisites such as card existence.

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

planka_delete_cardA

Permanently delete a card. This cannot be undone.

ParametersJSON Schema
NameRequiredDescriptionDefault
cardIdYesThe card ID to delete

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 it does disclose the most critical trait: the delete is permanent and cannot be undone. This is exactly what an agent needs before invoking a destructive tool; it stops short of describing cascading effects or response shape.

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. The core action is front-loaded ('Permanently delete a card') and the irreversibility warning earns its place.

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?

For a one-parameter tool this is close to sufficient, but with no annotations and no output schema the description still leaves unspecified whether deleting a card also deletes its tasks/comments and what the caller can expect in the response. The irreversibility warning mitigates but does not fully close this gap.

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?

There is only one parameter and schema description coverage is 100%, so the schema already defines cardId as 'the card ID to delete.' The description adds no extra semantic detail, but none is necessary at this complexity.

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 ('delete') and resource ('card') and adds the permanence qualifier, so an agent can distinguish it from get_card, update_card, move_card, and create_card. No tautology or ambiguity.

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 intended use is implied: choose this when a card should be permanently removed. However, it does not explicitly state when not to use it or compare it to alternatives, and it gives no preconditions beyond selecting a cardId.

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

planka_delete_taskA

Delete a task from a card.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskIdYesThe task ID to delete

TDQS

A4.3/5.0
Behavior3/5

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

With no annotations, the description must itself convey side effects. It only says 'delete', which implies removal but does not explicitly state irreversibility or any potential cascading effects. This is a minor gap for a destructive operation, so a score of 3 is appropriate.

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, straightforward sentence without redundant information. It is concise and to the point.

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 simple delete operation with one parameter and no output schema, the description covers the essential context. It does not mention preconditions (e.g., task must exist) but that is generally implied and not critical for such a simple operation.

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

Parameters5/5

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

The only parameter 'taskId' is described as 'The task ID to delete', which fully explains its purpose and type. No further elaboration is needed.

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 clearly states the verb 'delete' and the resource 'task', making the purpose unambiguous. It distinguishes the tool from sibling tools like 'planka_delete_card' without needing further clarification.

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 description specifies the action and resource, which is sufficient for a delete operation. It does not explicitly compare with alternatives, but given the tool name and sibling context, usage is clear. It could have added a note about when to use it versus other task-related tools, but that is not necessary.

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

planka_get_boardA

Get a board with all its lists, cards, and labels. Use this to see everything on a board.

ParametersJSON Schema
NameRequiredDescriptionDefault
boardIdYesThe board ID
includeTaskCountsNoInclude task completion counts for each card

TDQS

A4/5.0
Behavior3/5

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

There are no annotations, so the description must carry the behavioral burden. It indicates a read-only operation via 'Get' and states what is returned, but it does not disclose any further behavioral details such as response structure or how includeTaskCounts affects results.

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 scope. The second sentence adds a clear usage instruction without redundancy, so every sentence 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?

For a simple board-fetching tool with one required parameter and one documented optional parameter, the description is sufficient. It states what is returned, and the schema covers parameter semantics. No output schema exists, but the description compensates by naming the returned content.

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 100%, so the parameter meanings are already documented. The description adds no extra meaning beyond the schema, meeting the baseline for a fully documented schema.

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 ('Get') and a specific resource ('a board') with an explicit scope: all its lists, cards, and labels. This clearly distinguishes it from narrower siblings like get_card or get_comments.

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?

It gives clear usage context: use this when you want to see everything on a board. It does not explicitly list alternatives or exclusion cases, but the intended use is obvious and unambiguous.

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

planka_get_cardA

Get full details of a card including tasks, comments, labels, and attachments.

ParametersJSON Schema
NameRequiredDescriptionDefault
cardIdYesThe card ID

TDQS

A3.6/5.0
Behavior3/5

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

No annotations are provided, so the description bears the full burden. 'Get' clearly signals a read-only operation, and the description discloses what content is returned. It does not cover auth requirements, cost, or rate limits, but for a simple fetch tool this is a reasonable baseline.

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 that front-loads the verb and resource, then enumerates the included content without filler. Every word 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?

For a one-parameter read tool with full schema coverage and no output schema, the description is largely sufficient — an agent needs only cardId to invoke it correctly. It could name sibling tools for routing, but nothing essential is missing for a correct call.

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 100% — cardId is already described as 'The card ID'. The description adds no further meaning about parameter format, how to obtain the ID, or expected values, which matches the baseline for fully documented schemas.

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 (Get), resource (card), and the content scope (tasks, comments, labels, attachments). The listed contents implicitly distinguish it from planka_get_comments (scoped to comments only), though this differentiation is implied rather than explicit.

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 context is implied through the listed content — an agent can infer that retrieves the full card payload versus sibling tools like planka_get_comments or planka_get_structure. However, there is no explicit when-to-use or when-not-to-use statement, nor mention of alternatives.

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

planka_get_commentsA

Get all comments on a card.

ParametersJSON Schema
NameRequiredDescriptionDefault
cardIdYesThe card ID

TDQS

A3.7/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 discloses the scope ('all comments') and implies a read-only operation via 'Get', but it does not mention any behavioral traits such as ordering, limits, or the shape of returned data. This is adequate for a simple retrieval but adds minimal context.

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, concise sentence with no unnecessary words. It is front-loaded with the core action and resource, making it immediately scannable.

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

Completeness5/5

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

For a simple get operation with one required parameter and no output schema, the description is complete. It states the resource ('comments on a card') and implies the need for a card ID. Nothing an agent needs to call this tool correctly is missing.

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?

The schema description coverage is 100% with a clear description for cardId. The tool description does not add any additional meaning beyond what the schema already provides, so the baseline of 3 is appropriate.

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 'Get all comments on a card' clearly states the specific action (get) and resource (comments on a card), making it distinct from sibling tools like planka_add_comment or planka_get_card. The scope is unambiguous.

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 guidance is provided on when to use this tool over alternatives. It does not name any sibling tools or describe contexts where another tool might be more appropriate. Usage is only implied by the name and description.

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

planka_get_structureA

Get the full project/board/list structure. Use this to understand what projects and boards exist before working with cards.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdNoOptional: Get structure for a specific project only

TDQS

A4/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 of behavioral disclosure. 'Get' clearly frames this as a read operation)Skip, which is adequate. However, it doesn't state anything explicit about side effects (there are none expected), data size, or whether the response nests cards. For a pure retrieval tool that is evidently read-only, this is acceptable but not exemplary.

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, front-loaded with the primary purpose. Every sentence earns its place — the first states the action, the second gives usage intent. No filler or repetition.

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 simple tool (1 optional param, no output schema), the description covers what it returns (full project/board/list structure) and when to use it (before working with cards). It might briefly mention how this relates to planka_get_board, but for a discovery tool this is largely sufficient.

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 100% — the projectId parameter is fully described in the schema ('Optional: Get structure for a specific project only'). The description itself adds no parameter-level meaning beyond what the schema already provides, so the baseline of 3 is appropriate.

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?

States a specific verb ('Get') plus a concrete resource ('full project/board/list structure') and names the navigation intent. It is clearly distinct from siblings like planka_get_board or planka_get_card, which retrieve narrower targets.

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?

Explicitly instructs when to use it: 'before working with cards' to discover what projects/boards exist. It doesn't spell out when not to use it or how it compares to planka_get_board (which is a sibling), so it misses a small exclusion note, but the primary use case is clear.

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

planka_manage_labelsB

Create, update, or delete labels on a board.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesAction to perform
boardIdNoBoard ID (required for create)
labelIdNoLabel ID (required for update/delete)
nameNoLabel name
colorNoLabel color. Valid colors: berry-red, pumpkin-orange, lagoon-blue, pink-tulip, light-mud, orange-peel, bright-moss, antique-blue, dark-granite, lagune-blue, sunny-grass, morning-sky, light-orange, midnight-blue, tank-green, gun-metal, wet-moss, red-burgundy, light-concrete, apricot-red, desert-sand, navy-blue, egg-yellow, coral-green, light-cocoa, modern-green, piggy-red

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description carries full burden. It only states the action type but fails to disclose behavioral traits like permissions required, side effects, or limitations (e.g., label uniqueness, board scope).

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, well-formed sentence that directly states the tool's purpose without any extraneous information. Highly 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?

Given no output schema, the description should clarify return values. It does not mention what the tool outputs. Additionally, for a mutation tool with 5 parameters, more behavioral context is needed.

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 100%, so the baseline is 3. The description adds no additional meaning beyond the schema's parameter descriptions; the schema already explains action, boardId, labelId, name, and color with enums.

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 clearly states the tool's purpose with specific verbs (create, update, delete) and resource (labels on a board). It effectively distinguishes from sibling tools like planka_set_card_labels, which assign labels to cards.

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 guidance is provided on when to use this tool versus alternatives such as planka_set_card_labels or planka_manage_lists. Lacks context for appropriate usage scenarios.

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

planka_manage_listsC

Create, update, or delete lists on a board.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesAction to perform
boardIdNoBoard ID (required for create)
listIdNoList ID (required for update/delete)
nameNoList name
positionNoList position

TDQS

C2.9/5.0
Behavior2/5

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

Without annotations, the description must disclose behavioral traits. It states the tool mutates lists, but provides no information on side effects, authorization needs, or success/failure responses.

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 description is a single concise sentence that covers the primary purpose. It is front-loaded with the key verb and resource, though it could be slightly expanded for clarity.

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 lacks an output schema and annotations, so the description should explain return values and error handling. It does not, leaving the agent without important contextual information for a mutation tool.

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 100%, so parameters are well-documented in the schema. The description adds no extra meaning beyond enumerating actions, which is already in the schema via the action enum.

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 clearly states it creates, updates, or deletes lists, distinguishing it from sibling tools focused on cards and tasks. However, it does not specify that actions are board-specific, which is inferred from parameters.

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 guidance is provided on when to use each action or how to choose between them. The description lacks any decision-making context for the agent.

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

planka_move_cardA

Move a card to a different list or position. Use this for workflow transitions (e.g., 'To Do' -> 'In Progress').

ParametersJSON Schema
NameRequiredDescriptionDefault
cardIdYesThe card ID
listIdYesTarget list ID
positionNoPosition in the list (lower = higher). Default: end of list

TDQS

A4.4/5.0
Behavior4/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 clearly indicates a mutation action ('Move') and hints at the effect on card state (changing list/position). It doesn't disclose possible side effects like sorting behavior or potential errors, but the main behavioral trait (moving between lists) is transparent. The example also gives a practical cue.

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 with no waste. The core purpose is front-loaded, and the example is a single parenthetical. It's appropriately sized for a tool with three parameters.

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?

Given the tool's complexity (3 params, no output schema, no annotations), the description covers the essential context: what it does, when to use it, and the position parameter semantics. It lacks explicit mention of return behavior (e.g., returns updated card or success message), but for a move action, that may not be critical. The sibling list provides navigation context.

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?

Schema coverage is 100%, so the schema already describes all three parameters. The description adds the workflow context and clarifies that position is optional (default end). However, it doesn't add detail beyond the schema's own descriptions, but since the schema is complete, the baseline is 3, and the description's example slightly elevates it.

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 clearly states the action ('Move a card to a different list or position') with specific verbs and resources, and immediately distinguishes it from sibling tools like planka_update_card (which updates card fields) and planka_create_card. The example workflow ('To Do' -> 'In Progress') makes the purpose concrete.

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 description explicitly states when to use this tool: for workflow transitions. It doesn't explicitly mention alternatives or exclusions, but the sibling list makes the context clear. Since it's a specific move action, the usage context is fairly self-evident, but it could have noted that this is distinct from updating card fields (planka_update_card).

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

planka_set_card_labelsC

Add or remove labels from a card.

ParametersJSON Schema
NameRequiredDescriptionDefault
cardIdYesThe card ID
addLabelIdsNoLabel IDs to add
removeLabelIdsNoLabel IDs to remove

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided, so description must carry full burden. Only states 'add or remove labels' without disclosing idempotency, permission requirements, or behavior on invalid inputs.

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?

Single sentence, no wasted words. Concisely conveys the core function.

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?

No output schema, but description does not mention what the tool returns (e.g., updated card). Also lacks error handling or side-effect information, leaving the agent underinformed.

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 100%, so parameters are documented. Description does not add extra meaning beyond the schema, earning the baseline score.

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?

Clearly states it adds or removes labels from a card, specifying the verb and resource. However, it does not explicitly clarify whether the operation is incremental or replaces all labels, which could cause ambiguity.

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 guidance on when to use this tool versus siblings like planka_manage_labels or planka_create_card. The description lacks context on prerequisites or alternatives.

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

planka_update_cardB

Update a card's properties (name, description, due date, completion status).

ParametersJSON Schema
NameRequiredDescriptionDefault
cardIdYesThe card ID
nameNoNew card title
descriptionNoNew description (null to clear)
dueDateNoNew due date (null to clear)
isCompletedNoMark card as complete/incomplete

TDQS

B3.4/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 of behavioral disclosure. It implies a mutation operation (update) but doesn't state whether it's destructive, if it requires specific permissions, or if it partially updates only provided fields. The description adds a hint of safety by implying it's a targeted update, but there's no explicit disclosure of side effects.

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 description is a single, concise sentence that front-loads the primary purpose and lists the key fields. It's efficient and easy to parse, with no redundant 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?

The tool has 5 parameters, a simple schema, and no output schema, which reduces complexity. The description covers the core action and fields but doesn't explain partial update behavior or return values, which could be useful. Given the simplicity, the description is mostly complete but could be slightly richer with usage context.

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 100%, so the schema already documents all parameters. The description re-lists some fields (name, description, due date) but doesn't add new meaning like behavior when parameters are omitted or how null values clear fields. The schema's descriptions already cover these semantics, so the description adds minimal value beyond the baseline.

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 clearly states the tool updates a card's properties and lists specific fields (name, description, due date, completion status), distinguishing it from sibling tools like create_card or move_card. It is specific enough for an agent to understand the resource and action, though it doesn't name a sibling to differentiate from.

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 this tool is for modifying existing cards, which is clear from the context. However, it doesn't provide explicit guidance on when to use this versus alternatives like planka_create_card or planka_move_card, nor does it mention any prerequisites (e.g., card must exist). This is adequate but not explicit.

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

planka_update_taskB

Update a task's name or completion status.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskIdYesThe task ID
nameNoNew task name
isCompletedNoMark as complete/incomplete

TDQS

B3.3/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 burden of behavioral disclosure. It indicates a mutation but does not explain side effects, whether omitted fields are preserved, permission requirements, or what the response contains.

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 sentence with no filler, and the core action and affected fields are front-loaded. It is concise and easy to parse.

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?

For a simple 3-parameter update tool, the description plus fully documented schema is minimally viable, but it lacks usage guidance and behavioral context such as partial update behavior or return value. No output schema or annotations exist to compensate.

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 100%, with each parameter already described ('New task name', 'The task ID', 'Mark as complete/incomplete'). The description adds little beyond mapping 'completion status' to isCompleted, so the baseline of 3 applies.

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 uses a specific verb ('Update') and resource ('a task'), and names the exact fields affected ('name or completion status'). This clearly distinguishes it from sibling tools like planka_create_tasks and planka_delete_task.

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?

The description gives no guidance on when to choose this tool over alternatives such as planka_create_tasks or planka_update_card, and no exclusions or prerequisites are stated. Usage is only implied by the word 'update'.

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. 15 tool updatesv1.0.0
    • First observedplanka_add_comment
    • First observedplanka_create_card
    • First observedplanka_create_tasks
    • First observedplanka_delete_card
    • First observedplanka_delete_task
    • First observedplanka_get_board
    • First observedplanka_get_card
    • First observedplanka_get_comments
    • First observedplanka_get_structure
    • First observedplanka_manage_labels
    • First observedplanka_manage_lists
    • First observedplanka_move_card
    • First observedplanka_set_card_labels
    • First observedplanka_update_card
    • First observedplanka_update_task

TDQS

A3.7/5.0

Scored across 15 tools

Disambiguation5/5

Each tool targets a distinct action (create, delete, update, get) on a specific resource (card, task, comment, label, list, board), with no overlapping purposes.

Naming Consistency5/5

All tools follow a consistent 'planka_verb_noun' pattern using snake_case, such as 'create_card', 'delete_task', 'get_board', making them predictable and easy to navigate.

Tool Count5/5

With 15 tools, the set covers the essential operations for a project management board without being excessive or sparse, striking a good balance for its scope.

Completeness4/5

Core CRUD operations for cards, tasks, labels, and lists are covered, and comments are readable and addable, but lacking delete/update comment and attachment management represents minor gaps.

Maintenance

ActivityInactive
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    A Model Context Protocol server that enables AI assistants like Claude to interact directly with Planka Kanban boards, allowing automated management of projects, tasks, and workflows through conversational interfaces.
    8
    14 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to manage Planka kanban boards, including creating, updating, and organizing tasks, lists, and cards via MCP.
    19 npm
    59
    MIT