mcp-planka
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PLANKA_BASE_URL | No | Base URL of the PLANKA instance. Default is http://localhost:1337. | http://localhost:1337 |
| PLANKA_AGENT_API_KEY | Yes | API key used for authentication; passed in the X-Api-Key header. Required. | |
| PLANKA_REQUEST_TIMEOUT_MS | No | Request timeout in milliseconds. Default is 8000. | 8000 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| planka_read_projectsB | List all projects. |
| planka_list_boardsA | List all boards in the workspace (collected from each project included). |
| planka_list_cardsA | List all cards in the workspace (collected from each board included). |
| planka_read_cardsC | Alias of planka_list_cards. |
| planka_read_projectC | Get a project by id. |
| planka_read_boardC | Get a board by id. |
| planka_read_cardB | Get a card by id (GET /api/cards/{id}). |
| planka_read_taskB | Read a task by id. NOTE: PLANKA has no GET on /api/tasks/{id}, so this returns a graceful {ok:false,error}. |
| planka_create_projectB | Create a project. fields: { type: 'private'|'shared', name }. |
| planka_update_projectC | Update a project. id + fields. |
| planka_delete_projectB | Delete a project by id. |
| planka_create_boardA | Create a board in a project. projectId + fields: { name, type: 'board', position }. |
| planka_update_boardC | Update a board. id + fields. |
| planka_delete_boardC | Delete a board by id. |
| planka_create_cardA | Create a card in a list. listId + fields: { type: 'story', name, position, dueDate? }. |
| planka_update_cardC | Update a card. id + fields. |
| planka_delete_cardC | Delete a card by id. |
| planka_add_card_labelsB | Attach labels to a card (one POST per labelId). cardId + labelIds: [string]. |
| planka_remove_card_labelsB | Remove labels from a card. cardId + labelIds: [string]. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 19 tools
Most tools target distinct resources (projects, boards, cards, labels), but there is an exact alias (planka_list_cards and planka_read_cards) and a non-functional planka_read_task that returns an error, creating potential for misselection. The remaining tools have clear boundaries.
All tools share the planka_ prefix and use verb-like actions (read, list, create, update, delete, add, remove). However, the pattern mixes 'read' and 'list' for similar operations, and the alias planka_read_cards deviates from the standard. Overall consistent but not perfect.
With 19 tools, the server provides comprehensive coverage of projects, boards, cards, and labels. The count is slightly on the higher side but justified by the domain. Redundancies like the alias and the dummy task tool slightly reduce efficiency, yet the scope is reasonable.
The server covers CRUD for projects, boards, and cards, but lacks essential list management (cards are created in lists, yet no list tools exist). Additionally, there is no label CRUD (only add/remove), and planka_read_task is a stub that always fails. These gaps hinder full workflow coverage.