Kanboard MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Kanboard MCP Servershow all projects"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Kanboard MCP Server
A Model Context Protocol (MCP) server that exposes Kanboard API functionality to Large Language Models (LLMs), enabling AI assistants to interact with Kanboard project management system.
Features
This MCP server provides access to 60+ Kanboard API endpoints organized into the following categories:
Projects (5 tools): Get all projects, get project by ID/name, project activity
Tasks (11 tools): Create, read, update, delete tasks; search tasks; handle overdue tasks
Categories (2 tools): Get categories for projects
Columns (2 tools): Get board columns information
Boards (1 tool): Get board information
Comments (5 tools): Create, read, update, delete comments on tasks
Users (9 tools): Get user information, current user data, dashboard, projects
Links (12 tools): Create and manage task links and link types
Subtasks (5 tools): Create, read, update, delete subtasks
Tags (4 tools): Manage task tags
Files (6 tools): Upload, download, and manage task file attachments
Installation
Prerequisites
Python 3.10 or higher
Access to a Kanboard instance with API enabled
Kanboard API token
Install from PyPI (Recommended)
# Install using uvx (no need to manage Python environments)
uvx kanboard-mcp
# Or install with pip
pip install kanboard-mcpInstall from Source
# Clone the repository
git clone https://github.com/hoducha/kanboard-mcp.git
cd kanboard-mcp
# Install with uv
uv sync
# Or install with pip
pip install -e .Development Installation
# With uv
uv sync --all-extras
# Or with pip
pip install -e ".[dev]"Configuration
Environment Variables
Create a .env file in the project root with the following variables:
# Required
KANBOARD_URL=https://your-kanboard.com/jsonrpc.php
KANBOARD_API_TOKEN=your_api_token_here
# Optional
KANBOARD_USERNAME=jsonrpc
KANBOARD_VERIFY_SSL=true
KANBOARD_TIMEOUT=30
KANBOARD_MAX_RETRIES=3
KANBOARD_RETRY_DELAY=1.0
# MCP Server settings
MCP_SERVER_NAME="Kanboard MCP Server"
MCP_SERVER_VERSION="0.1.0"
DEBUG=falseGetting Your API Token
Log into your Kanboard instance
Go to Settings → API
Generate a new API token
Copy the token and use it as
KANBOARD_API_TOKEN
Usage
Running the Server
# Using uvx (recommended - no installation needed)
uvx kanboard-mcp
# Or using the installed command
kanboard-mcp
# Or using Python module
python -m kanboard_mcp.serverMCP Client Integration
Add the server to your MCP client configuration. For Claude Desktop, add to your claude_desktop_config.json:
Option 1: Using uvx (Recommended)
{
"mcpServers": {
"kanboard": {
"command": "/Users/username/.local/bin/uvx",
"args": ["kanboard-mcp"],
"env": {
"KANBOARD_URL": "https://your-kanboard.com/jsonrpc.php",
"KANBOARD_API_TOKEN": "your_api_token_here"
}
}
}
}Note: Replace /Users/username/.local/bin/uvx with your actual uvx path. Find it by running which uvx in your terminal.
Option 2: Using installed package
{
"mcpServers": {
"kanboard": {
"command": "kanboard-mcp",
"env": {
"KANBOARD_URL": "https://your-kanboard.com/jsonrpc.php",
"KANBOARD_API_TOKEN": "your_api_token_here"
}
}
}
}Testing the Connection
The server provides built-in tools for testing:
test_connection: Test connection to Kanboardget_server_info: Get server information and capabilitiesget_config_info: Get current configuration (without sensitive data)
API Tools
Projects
getAllProjects(): Get all projectsgetProjectById(project_id): Get project by IDgetProjectByName(project_name): Get project by namegetProjectActivity(project_id): Get project activitygetProjectActivities(project_id): Get project activities
Tasks
getAllTasks(project_id, status_id?): Get all tasks for a projectgetTask(task_id): Get specific taskgetTaskByReference(project_id, reference): Get task by referencegetOverdueTasks(): Get all overdue tasksgetOverdueTasksByProject(project_id): Get overdue tasks for projectcreateTask(project_id, title, ...): Create new taskupdateTask(task_id, ...): Update existing taskopenTask(task_id): Open taskcloseTask(task_id): Close taskremoveTask(task_id): Delete tasksearchTasks(project_id, query, ...): Search tasks
Comments
createComment(task_id, content, user_id?): Create commentgetComment(comment_id): Get commentgetAllComments(task_id): Get all comments for taskupdateComment(comment_id, content): Update commentremoveComment(comment_id): Delete comment
And many more...
See the individual tool modules in src/kanboard_mcp/tools/ for complete API documentation.
Error Handling
All tools return responses in the format:
{
"success": true,
"data": { ... }
}Or on error:
{
"success": false,
"error": "Error message"
}Development
Project Structure
kanboard-mcp/
├── src/kanboard_mcp/
│ ├── __init__.py
│ ├── server.py # Main MCP server
│ ├── config.py # Configuration management
│ ├── client.py # Kanboard client wrapper
│ └── tools/ # API tool implementations
│ ├── projects.py
│ ├── tasks.py
│ ├── categories.py
│ ├── columns.py
│ ├── boards.py
│ ├── comments.py
│ ├── users.py
│ ├── links.py
│ ├── subtasks.py
│ ├── tags.py
│ └── files.py
├── pyproject.toml
└── README.mdRunning Tests
pytestCode Quality
# Format code
black src/
# Sort imports
isort src/
# Type checking
mypy src/
# Linting
ruff src/Troubleshooting
Common Issues
Connection Errors: Check your
KANBOARD_URLand ensure the API endpoint is correctAuthentication Errors: Verify your
KANBOARD_API_TOKENis validSSL Errors: Set
KANBOARD_VERIFY_SSL=falsefor self-signed certificates (not recommended for production)Timeout Issues: Increase
KANBOARD_TIMEOUTvalue
Claude Desktop Issues
Python Command Not Found (spawn python ENOENT)
If you get this error, Claude Desktop can't find the Python executable. Here are the solutions in order of preference:
Use uvx (RECOMMENDED):
{ "mcpServers": { "kanboard": { "command": "/Users/username/.local/bin/uvx", "args": ["kanboard-mcp"], "env": { ... } } } }Use pip-installed package:
{ "mcpServers": { "kanboard": { "command": "kanboard-mcp", "env": { ... } } } }Use full Python path:
{ "mcpServers": { "kanboard": { "command": "/usr/local/bin/python3", "args": ["-m", "kanboard_mcp.server"], "env": { "PYTHONPATH": "/path/to/site-packages", ... } } } }
Benefits of uvx:
No need to manage Python environments
Automatically installs and runs the latest version
Works across different Python installations
Simplest configuration
Debug Mode
Enable debug mode for detailed logging:
DEBUG=true kanboard-mcpContributing
Fork the repository
Create a feature branch
Make your changes
Add tests
Run code quality checks
Submit a pull request
License
MIT License - see LICENSE file for details.
Support
For issues and questions:
Check the troubleshooting section
Review Kanboard API documentation: https://docs.kanboard.org/v1/api/
Open an issue on GitHub
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/hoducha/kanboard-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server