MCP server for PLANKA kanban boards. Provides tools for managing projects, boards, cards, tasks, labels, and comments.
The server demonstrates solid definition quality with comprehensive tool coverage (23 tools), consistent naming patterns, and well-structured schemas. All tools follow verb_noun naming convention (create_*, get_*, update_*, delete_*, add_*, remove_*, set_*, list_*). Input schemas are properly typed with required fields clearly marked. However, several tools have descriptions that are too brief (under 50 chars), some parameter descriptions lack detail about valid values/constraints, and no output schemas are documented for return values. Tool annotations (destructiveHint, readOnlyHint) are inferred from the Risk field but not formally declared in the implementation. Error handling code exists but lacks detailed recovery guidance in tool descriptions.
Add a comment to a card. Use this for status updates, notes, or agent activity logs.
Attach a label to a card.
Create a new card on a board. Optionally add tasks (checklist items) at the same time.
Create a new label on a board.
Create a new list on a board.
Add a task (checklist item) to a card. Automatically creates a task-list if the card doesn't have one.
Add multiple tasks (checklist items) to a card at once. Automatically creates a task-list if needed.
No output schemas documented. Tools return text-wrapped responses without declared return field structures. LLMs cannot statically plan which downstream tools can consume results.
Several tool descriptions are too brief (under 50 chars): 'Get all comments on a card' (27 chars), 'List all projects with their boards' (35 chars), 'Delete a label from a board' (27 chars). These lack context on WHEN to call them vs alternatives and what data is returned.
Color parameter in planka_create_label has no enum constraint. Description says 'e.g. berry-red, pumpkin-orange, lagoon-blue' as free-text suggestions. Should be a formal enum so LLMs cannot hallucinate invalid colors.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | 2026-07-28+ | v2 |
Permanently delete a card. This cannot be undone.
Delete a label from a board.
Delete a list from a board.
Delete a task from a card.
Get a board with all its lists, cards, labels, and tasks.
Get full details of a card including tasks, comments, labels, and attachments.
Get all comments on a card.
List all projects with their boards.
Get the full structure: projects -> boards -> lists. Optionally filter to a single project.
Move a card to a different list or position. Use this for workflow transitions (e.g., 'To Do' -> 'In Progress').
Remove a label from a card.
Set labels on a card (add some, remove others).
Update a card's properties (name, description, due date, completion status).
Update a label's properties (name, color, position).
Update a list's properties (name, position).
Update a task's properties (name, completion status, position).
planka_get_projects and planka_get_board lack pagination parameters. No limit, offset, or cursor fields visible. Large project/board structures could exceed context window.
Error handling returns generic error text ('Unknown tool', 'PLANKA error') without recovery guidance. No actionable next steps for LLM (e.g., 'Try search_cards() with a partial name' if card not found).
Tool annotations not formally declared. Risk field (WRITE, READ_ONLY, DESTRUCTIVE) exists in metadata but is not exposed as toolAnnotations in the MCP protocol (readOnlyHint, destructiveHint, idempotentHint fields).