Another Planka MCP
An MCP server that enables AI assistants to interact with self-hosted Planka boards through the Planka REST API. It allows users to list, search, create, and update projects, boards, and cards using natural language.
README
Another Planka MCP
A Model Context Protocol (MCP) server that enables AI Chat clients to read and update your Planka boards using the Planka REST API.
Overview
Another Planka MCP Server provides you with a lightweight bridge between MCP clients and your self‑hosted Planka instance. It exposes projects, boards, lists, cards, tasks, and labels through MCP tools, allowing assistants to retrieve workspace data and perform write operations such as creating or updating cards.
Features
- List projects, boards, lists, labels, and members.
- Search and retrieve cards with multiple detail levels.
- Create and update cards (title, description, labels, tasks).
- Move cards between lists.
- Efficient token usage through structured MCP tools.
- Works with Claude Desktop and any MCP‑compatible client.
Example use cases:
- “Show all ‘In Progress’ cards across my workspace.”
- “Create a new card in
<Board> / TODOwith subtasks…” - “Find the ‘Login bug’ card and list all tasks.”
Prerequisites
- Python 3.10+
- Access to a Planka instance
- Planka API credentials (see below)
Obtaining API Credentials
Generate a JWT access token by authenticating via API:
curl -X POST https://your-planka-instance.com/api/access-tokens \
-H "Content-Type: application/json" \
-d '{
"emailOrUsername": "your-email@example.com",
"password": "your-password"
}'
Response:
{
"item": {
"accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}
}
Copy the accessToken value and use it as PLANKA_API_TOKEN in your .env file.
Note: JWT tokens may expire. If you get authentication errors, generate a new token.
Email/Password (Fallback)
Use your Planka login credentials directly. The MCP server will authenticate automatically at startup:
PLANKA_EMAIL=your-email@example.com
PLANKA_PASSWORD=your-password
User Requirements:
- Any registered Planka user can authenticate
- No special permissions or admin role required
- API access permissions match your Planka user permissions
- Admin users have full access; regular users can only access boards they're members of
Setup
-
Clone the repo:
git clone https://github.com/roelven/another-planka-mcp cd another-planka-mcp -
Create environment:
python -m venv venv source venv/bin/activate pip install -r requirements.txt -
Copy env file:
cp .env.example .env -
Fill in:
PLANKA_BASE_URLPLANKA_API_TOKEN(recommended)
-
Start the server:
python planka_mcp.pyNote: For direct MCP protocol communication (recommended for Claude Desktop), you can also run:
python mcp_server.pyThis provides better compatibility with MCP clients and includes proper protocol handling.
-
Add to Claude Desktop config:
{ "mcpServers": { "planka": { "command": "/absolute/path/to/venv/bin/python", "args": ["mcp_server.py"], "env": { "PLANKA_BASE_URL": "https://your.domain", "PLANKA_API_TOKEN": "<token>" } } } }Note: Updated to use
mcp_server.pyfor better MCP protocol compatibility.
Tools & Capabilities
| Tool | Type | Purpose |
|---|---|---|
planka_get_workspace |
Read | Retrieve boards, lists, users, labels |
planka_list_cards |
Read | Filter and list cards with detail levels |
planka_find_and_get_card |
Read | Search and fetch a specific card |
planka_create_card |
Write | Create a new card |
planka_update_card |
Write | Update an existing card |
Usage Examples
Ask your assistant:
- “List all my boards.”
- “Search for cards mentioning ‘invoice’.”
- “Create a card named ‘App release checklist’ with these subtasks…”
- “Move the ‘Integrate payment API’ card to ‘Done’.”
Security & Permissions
- The MCP server accesses only what the authenticated Planka user can access.
- API token recommended over email/password.
- Use HTTPS when exposing Planka externally.
- Consider using a dedicated Planka service user with restricted permissions.
Troubleshooting & FAQ
401 Unauthorized
Check token validity and .env configuration.
Client cannot connect to server
Verify:
- correct Python path
- firewall rules
- execution permissions
No boards or cards returned
Confirm the Planka user has workspace access.
Development Notes
Editable Installation: This project uses an editable installation (via pip install -e . or the equivalent in the virtual environment), which means the src directory is automatically added to your Python path. This eliminates the need to manually set PYTHONPATH when running tests or the server.
Setting up editable mode: If you need to reinstall the package in editable mode, you can run:
pip install -e .
This creates a .pth file in your virtual environment that points to the src directory, making all imports work seamlessly.
Running Tests
The project includes a comprehensive test suite with >90% code coverage.
Since the package is installed in editable mode, you can run tests directly without setting PYTHONPATH:
# Install test dependencies
pip install -r requirements.txt
# Run all tests
pytest --cov=src/planka_mcp --cov-report=term-missing
# Run specific test file
pytest tests/test_cards.py -v
# View coverage report
open htmlcov/index.html
Alternatively, you can use the virtual environment's pytest directly:
venv/bin/pytest --cov=src/planka_mcp --cov-report=term-missing
Test with MCP Inspector
npx @modelcontextprotocol/inspector python planka_mcp.py
Run directly
python planka_mcp.py
Acknowledgements
- Planka project: https://github.com/plankanban/planka
- Model Context Protocol: https://modelcontextprotocol.io/
License
MIT License. See LICENSE.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
E2B
Using MCP to run code via e2b.