A Model Context Protocol server for PLANKA kanban boards. Provides tools for managing projects, boards, cards, tasks, labels, and comments.
Planka MCP has 33 tools with consistent naming (verb_noun pattern) and complete input schemas. Descriptions are present but brief (avg ~60 chars, below the 194-char baseline). All tools have typed parameters with descriptions. However, output schemas are not documented in the source, and error handling lacks recovery guidance. Five deprecated tools (planka_manage_labels, planka_manage_lists, planka_manage_comment, planka_get_board, planka_list_cards, planka_list_lists) should be removed. No tool annotations (readOnlyHint/destructiveHint) despite risk metadata being available.
Add an attachment to a card
Add a comment to a card
Add a member to a board
Assign a label to a card
Get a summary of a board including its lists, cards, and labels
Create a new card in a list
Create a label on a board
Create a list on a board
Five deprecated tools (planka_manage_labels, planka_manage_lists, planka_manage_comment, planka_get_board, planka_list_cards, planka_list_lists) remain in the tool list. These should be removed entirely to reduce LLM confusion and force adoption of the canonical replacements.
Tool descriptions are uniformly brief (~60 chars avg, well below 194-char baseline). Descriptions lack context on WHEN to use each tool vs. similar ones (e.g., planka_find_cards vs. planka_list_cards). Add dependency hints and use-case guidance.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 50 | 2026-07-28+ | v2 |
Create a task on a card
Delete an attachment from a card
Delete a card from a board
Delete a comment from a card
Delete a label from a board
Delete a list from a board
Delete a task from a card
Find cards in a board by name, description, or label
Get activity log for a card
DEPRECATED: Use planka_board_summary or planka_find_cards instead
Get information about the current user
DEPRECATED: Use planka_find_cards instead
DEPRECATED: Use planka_board_summary instead
List members of a board
DEPRECATED: Use planka_add_comment, planka_update_comment, or planka_delete_comment instead
DEPRECATED: Use planka_create_label, planka_update_label, or planka_delete_label instead
DEPRECATED: Use planka_create_list, planka_update_list, or planka_delete_list instead
Move a card to a different list
Remove a label from a card
Remove a member from a board
Update an existing card
Update a comment on a card
Update a label on a board
Update a list on a board
Update a task on a card
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite risk metadata being available in the tool list. Destructive tools (delete_*) should declare destructiveHint=true to guide agent caution.
Output schemas are not documented in source code. LLMs cannot plan downstream tool calls or extract required fields (e.g., cardId returned by planka_create_card for use in planka_add_comment). Add explicit return type documentation.
Error handling in src/index.ts provides generic messages without recovery guidance. E.g., 'PLANKA error: ...' does not tell the LLM whether to retry, ask the user, or abandon the task. Categorize errors as retryable/user-fixable/fatal.