Skip to main content
Glama
Planka MCP Server
by chmald

Planka MCP Server

npm version Docker Image Version License: MIT

An MCP server that enables AI assistants (Claude, VS Code Copilot, etc.) to interact with Planka - a real-time Kanban board application.

Quick Start

Prerequisites

  • Node.js 18+ or Docker

  • Planka instance running and accessible

  • Planka user account with appropriate permissions

Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "planka": {
      "command": "npx",
      "args": ["@chmald/planka-mcp"],
      "env": {
        "PLANKA_BASE_URL": "http://localhost:3000",
        "PLANKA_API_KEY": "your-api-key"
      }
    }
  }
}

VS Code

Add to .vscode/mcp.json:

{
  "servers": {
    "planka": {
      "type": "stdio",
      "command": "npx",
      "args": ["@chmald/planka-mcp"],
      "env": {
        "PLANKA_BASE_URL": "http://localhost:3000",
        "PLANKA_API_KEY": "your-api-key"
      }
    }
  }
}

Docker

{
  "mcpServers": {
    "planka": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "-e", "PLANKA_BASE_URL=http://host.docker.internal:3000",
        "-e", "PLANKA_API_KEY=your-api-key",
        "chmald/planka-mcp:latest"
      ]
    }
  }
}

Note: Use host.docker.internal instead of localhost when running Docker.


Related MCP server: kanban-mcp

Configuration

Environment Variables

Variable

Required

Default

Description

PLANKA_BASE_URL

Yes

http://localhost:3000

Your Planka instance URL

PLANKA_API_KEY

No*

-

Planka API key sent as X-Api-Key

PLANKA_USERNAME

No*

-

Planka username or email

PLANKA_PASSWORD

No*

-

Planka password

MCP_TRANSPORT

No

stdio

MCP transport mode: stdio or sse

MCP_PORT

No

3001

HTTP port used when MCP_TRANSPORT=sse

PLANKA_HTTP_MAX_RETRIES

No

2

Max retry attempts for transient HTTP/network failures per request

PLANKA_HTTP_RETRY_BASE_DELAY_MS

No

250

Base retry delay in milliseconds (exponential backoff)

ENABLE_ALL_TOOLS

No

false

Enable all 27 tools

ENABLE_ADMIN_TOOLS

No

false

Enable admin tools

ENABLE_OPTIONAL_TOOLS

No

false

Enable optional tools

* Authentication is required. Provide either PLANKA_API_KEY, or both PLANKA_USERNAME and PLANKA_PASSWORD.

Authentication Modes

  • API key (recommended): Set PLANKA_API_KEY.

  • Username/password: Set PLANKA_USERNAME and PLANKA_PASSWORD.

  • If both are set, the server uses PLANKA_API_KEY.

Retry Behavior

  • Retries apply to transient failures (408, 429, 5xx) and network request errors.

  • Delay uses exponential backoff: PLANKA_HTTP_RETRY_BASE_DELAY_MS * 2^attempt.

  • PLANKA_HTTP_MAX_RETRIES controls additional attempts after the initial request.

Tool Categories

By default, 10 core tools are enabled for essential Kanban operations:

Category

Tools

Description

Core

10

Auth, projects, boards, lists, cards, tasks, comments, labels (always enabled)

Optional

13

Attachments, custom fields, notifications, etc.

Admin

4

User management, webhooks, config

Enable more tools:

"env": {
  "ENABLE_ALL_TOOLS": "true"
}

Available Tools

Each tool uses an action parameter. Example: { "action": "list" } or { "action": "get", "id": "123" }

Tool

Actions

auth

login, logout, acceptTerms, oidcExchange, revokePending, getTerms

bootstrap

get - Get app data, user info, projects

projects

list, get, create, update, delete

boards

get, create, update, delete

lists

get, create, update, delete

cards

list, get, create, update, delete

comments

list, create

tasks

getList, createList, create, update

labels

create, update, delete, addToCard, removeFromCard

cardMembers

add, remove

Tool

Actions

config

get, update, testSmtp

users

list, create, update, delete, updateEmail, updatePassword, etc.

webhooks

list, create, update, delete

projectManagers

add, remove

Tool

Actions

attachments

create, update, delete

boardMembers

add, update, remove

customFields

createBaseGroup, createField, setValue, etc.

notifications

list, get, markRead, markAllRead, markCardRead, createUserService, createBoardService, updateService, deleteService, testService

actions

boardActions, cardActions

cardExtras

duplicate

commentExtras

update, delete

listExtras

clear, moveCards, sort

taskExtras

updateList, deleteList, deleteTask

labelExtras

update, delete, removeFromCard

cardMemberExtras

remove

backgroundImages

upload, delete

userInfo

get


Multi-Client Mode (SSE)

For team deployments where multiple clients share one server:

docker run -d \
  --name planka-mcp \
  -p 3001:3001 \
  -e MCP_TRANSPORT=sse \
  -e PLANKA_BASE_URL=http://your-planka-server:3000 \
  -e PLANKA_API_KEY=your-api-key \
  chmald/planka-mcp:latest

Connect clients to http://localhost:3001/sse.


Troubleshooting

"Authentication failed"

  • Verify your API key (or username/password) is correct

  • Check that PLANKA_BASE_URL is accessible

"Connection refused" with Docker

  • Use host.docker.internal instead of localhost

  • Ensure Planka is running

npx fails

  • Ensure Node.js 18+ is installed: node --version

  • Try: npm cache clean --force

Debug logs

npx @chmald/planka-mcp 2>&1 | tee debug.log

Upgrade Notes

Check CHANGELOG.md for full version-by-version details.

Upgrading to 2.0.3

  • The auth tool moved from optional tools to core tools and is now always available.

  • API key authentication is now supported with PLANKA_API_KEY (X-Api-Key).

  • If both API key and username/password are configured, PLANKA_API_KEY is used.


License

MIT - see LICENSE

Available Tools

10 tools
authB

Authentication operations for login flows, token management, and terms acceptance.

Inputs: action (required), data, query.

boardsC

Manage Planka boards. Boards contain lists and cards for organizing work.

Inputs: action (required), id, data.

bootstrapB

Get Planka application bootstrap data including current user, projects, boards, and notifications.

Inputs: action (required).

cardMembersC

Manage user assignments on Planka cards.

Inputs: action (required), id, data.

cardsC

Manage Planka cards. Cards are individual work items on a board.

Inputs: action (required), id, data, query.

commentsC

Manage comments on Planka cards.

Inputs: action (required), id, data, query.

labelsB

Manage labels on Planka boards and cards. Labels help categorize and filter cards.

Inputs: action (required), id, data.

listsB

Manage Planka lists. Lists are columns on a board that contain cards.

Inputs: action (required), id, data.

projectsB

Manage Planka projects. Projects are top-level containers for boards.

Inputs: action (required), id, data.

tasksB

Manage task lists and tasks on Planka cards. Tasks are checklist items within a card.

Inputs: action (required), id, data.

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    B3.2/5.0

    Scored across 10 tools

    Disambiguation5/5

    Each tool targets a distinct Planka resource or function: projects, boards, lists, cards, comments, tasks, labels, cardMembers, plus bootstrap and auth. There is no overlap in primary purpose, and even the potentially confusing lists vs. tasks are clearly differentiated by their descriptions (columns vs. checklist items).

    Naming Consistency4/5

    Tool names are mostly single lowercase nouns representing resources (projects, boards, lists, cards), which is a consistent pattern. However, 'cardMembers' uses camelCase breaking the all-lowercase convention, and 'bootstrap' and 'auth' are not resource CRUD names, creating minor semantic deviation.

    Tool Count5/5

    With 10 tools covering core Planka entities and operations, the count is well-scoped for the domain. It is neither too thin nor overly heavy, fitting comfortably within the typical 3-15 tool range for a focused CRUD server.

    Completeness4/5

    The tool set covers the primary resource lifecycle for projects, boards, lists, cards, comments, tasks, labels, and members, which is sufficient for most workflow needs. Minor gaps exist (e.g., no explicit search, activity log, or attachment support), but these are not critical for baseline operations.

    Maintenance

    ActivityNo data
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • 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.
      15 npm
      65
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables AI agents to manage Kanban tasks, boards, teams, and checklists via natural language, with full CRUD operations and live updates.
      126 npm
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables users to interact with Planka (a Trello-like kanban tool) through natural language, using their own Planka access tokens for authentication and permissions. Supports remote hosting via HTTP, allowing multi-user MCP access to boards, lists, cards, and more.
      15 npm
      MIT