Kanboard MCP Server

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.

Category
访问服务器

README

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-mcp

Install 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=false

Getting Your API Token

  1. Log into your Kanboard instance
  2. Go to SettingsAPI
  3. Generate a new API token
  4. 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.server

MCP 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 Kanboard
  • get_server_info: Get server information and capabilities
  • get_config_info: Get current configuration (without sensitive data)

API Tools

Projects

  • getAllProjects(): Get all projects
  • getProjectById(project_id): Get project by ID
  • getProjectByName(project_name): Get project by name
  • getProjectActivity(project_id): Get project activity
  • getProjectActivities(project_id): Get project activities

Tasks

  • getAllTasks(project_id, status_id?): Get all tasks for a project
  • getTask(task_id): Get specific task
  • getTaskByReference(project_id, reference): Get task by reference
  • getOverdueTasks(): Get all overdue tasks
  • getOverdueTasksByProject(project_id): Get overdue tasks for project
  • createTask(project_id, title, ...): Create new task
  • updateTask(task_id, ...): Update existing task
  • openTask(task_id): Open task
  • closeTask(task_id): Close task
  • removeTask(task_id): Delete task
  • searchTasks(project_id, query, ...): Search tasks

Comments

  • createComment(task_id, content, user_id?): Create comment
  • getComment(comment_id): Get comment
  • getAllComments(task_id): Get all comments for task
  • updateComment(comment_id, content): Update comment
  • removeComment(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.md

Running Tests

pytest

Code Quality

# Format code
black src/

# Sort imports
isort src/

# Type checking
mypy src/

# Linting
ruff src/

Troubleshooting

Common Issues

  1. Connection Errors: Check your KANBOARD_URL and ensure the API endpoint is correct
  2. Authentication Errors: Verify your KANBOARD_API_TOKEN is valid
  3. SSL Errors: Set KANBOARD_VERIFY_SSL=false for self-signed certificates (not recommended for production)
  4. Timeout Issues: Increase KANBOARD_TIMEOUT value

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:

  1. Use uvx (RECOMMENDED):

    {
      "mcpServers": {
        "kanboard": {
          "command": "/Users/username/.local/bin/uvx",
          "args": ["kanboard-mcp"],
          "env": { ... }
        }
      }
    }
    
  2. Use pip-installed package:

    {
      "mcpServers": {
        "kanboard": {
          "command": "kanboard-mcp",
          "env": { ... }
        }
      }
    }
    
  3. 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-mcp

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests
  5. Run code quality checks
  6. 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

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选