返回 MCP 目录
public公开dns本地运行

kanboard-mcp

Kanboard MCP服务器是一个基于Go语言开发的模型上下文协议服务器,实现AI助手与Kanboard项目管理系统的无缝集成,支持通过自然语言命令管理项目、任务、用户和工作流。

article

README

🚀 Kanboard MCP 服务器

适用于 Kanboard 集成的模型上下文协议(MCP)服务器

这是一个强大的基于 Go 语言的 MCP 服务器,它能实现 AI 助手(如 Claude Desktop、Cursor)与 Kanboard 项目管理系统的无缝集成。你可以直接通过自然语言命令来管理 Kanboard 项目、任务、用户和工作流程。

Go License MCP

⚠️ 重要提示

为避免出现如下问题:

代理错误示例 1 代理错误示例 2

我们建议使用 mcpproxy 作为代理解决方案。

🚀 快速开始

前提条件

  • Go 1.21 或更高版本
  • 具有 API 访问权限的 Kanboard 实例
  • 兼容 MCP 的客户端(如 Cursor、Claude Desktop 等)

安装

  1. 克隆仓库
git clone https://github.com/bivex/kanboard-mcp.git
cd kanboard-mcp
  1. 构建可执行文件
    • Windows 系统
build-release.bat
- **Linux 或 macOS 系统**:
./build-release.sh
- **手动构建**:
go build -ldflags="-s -w" -o kanboard-mcp .

✨ 主要特性

  • 🔗 Kanboard 无缝集成 - 与 Kanboard 进行直接的 API 通信
  • 🤖 自然语言处理 - 使用简洁的英文来管理项目
  • 📊 全面的项目管理 - 处理项目、任务、用户、列等更多内容
  • 🔐 安全认证 - 支持 API 密钥和用户名/密码两种认证方式
  • 高性能 - 采用 Go 语言构建,性能卓越
  • 🎯 MCP 标准 - 与所有 MCP 客户端兼容

⚙️ 配置

1. 环境变量

使用环境变量设置你的 Kanboard 凭证:

export KANBOARD_API_ENDPOINT="https://your-kanboard-url/jsonrpc.php"
export KANBOARD_API_KEY="your-kanboard-api-key"
export KANBOARD_USERNAME="your-kanboard-username"
export KANBOARD_PASSWORD="your-kanboard-password"

2. MCP 客户端配置

为你的客户端创建 MCP 配置文件:

  • Windows 系统C:\Users\YOUR_USERNAME\AppData\Roaming\Cursor\.cursor\mcp_config.json
  • Linux 或 macOS 系统~/.cursor/mcp_config.json

配置内容

{
    "mcpServers": {
        "kanboard-mcp-server": {
            "command": "/path/to/your/kanboard-mcp",
            "args": [],
            "env": {
                "KANBOARD_API_ENDPOINT": "https://your-kanboard-url/jsonrpc.php",
                "KANBOARD_API_KEY": "your-kanboard-api-key",
                "KANBOARD_USERNAME": "your-kanboard-username",
                "KANBOARD_PASSWORD": "your-kanboard-password"
            }
        }
    }
}

3. 重启客户端

保存配置后,重启你的 MCP 客户端(如 Cursor、Claude Desktop 等)以使更改生效。

🛠️ 可用工具

📁 项目管理

| 工具 | 描述 | 示例 | | ---- | ---- | ---- | | get_projects | 📋 列出所有项目 | "Show me all Kanboard projects" | | create_project | ➕ 创建新项目 | "Create a project called 'Website Redesign' with description 'Redesign the company website' and owner 1" | | get_project_by_id | 🔍 通过 ID 获取项目信息 | "Get project details for ID 123" | | get_project_by_name | 🔍 通过名称获取项目信息 | "Get project details for name 'My Project'" | | get_project_by_identifier | 🔍 通过标识符获取项目信息 | "Get project details for identifier 'WEB-APP'" | | get_project_by_email | 🔍 通过电子邮件获取项目信息 | "Get project details for email 'project@example.com'" | | get_all_projects | 📋 获取所有可用项目 | "Show me all available projects" | | update_project | ✏️ 更新项目 | "Update project 1 with new name 'New Website' and description 'Updated description'" | | remove_project | 🗑️ 删除项目 | "Remove project with ID 456" | | enable_project | ✅ 启用项目 | "Enable project 123" | | disable_project | 🚫 禁用项目 | "Disable project 123" | | enable_project_public_access | 🌐 启用给定项目的公共访问权限 | "Enable public access for project 123" | | disable_project_public_access | 🔒 禁用给定项目的公共访问权限 | "Disable public access for project 123" | | get_project_activity | 📢 获取项目的活动流 | "Show me activity for project 123" | | get_project_activities | 📊 获取项目的活动信息 | "Get activities for projects 1, 2, and 3" |

📝 任务管理

| 工具 | 描述 | 示例 | | ---- | ---- | ---- | | get_tasks | 📋 获取项目任务 | "Get tasks for 'Website Redesign' project" | | create_task | ➕ 创建新任务 | "Create task 'Design homepage' in 'Website Redesign'" | | update_task | ✏️ 修改现有任务 | "Update task 123 with description 'New requirements'" | | delete_task | 🗑️ 删除任务 | "Delete task with ID 456" | | get_task | 🔍 通过唯一 ID 获取任务 | "Get details for task 789" | | get_task_by_reference | 🔍 通过外部引用获取任务 | "Get task for project 1 with reference 'TICKET-1234'" | | get_all_tasks | 📋 获取所有可用任务 | "Get all active tasks for project 1" | | get_overdue_tasks | ⏰ 获取所有逾期任务 | "Show me all overdue tasks" | | get_overdue_tasks_by_project | ⏰ 获取特定项目的所有逾期任务 | "Show me overdue tasks for project 1" | | open_task | ✅ 将任务状态设置为打开 | "Open task 123" | | close_task | ❌ 将任务状态设置为关闭 | "Close task 123" | | move_task_position | ➡️ 在同一看板内将任务移动到其他列、位置或泳道 | "Move task 123 to column 2, position 1, swimlane 1 in project 1" | | move_task_to_project | ➡️ 将任务移动到其他项目 | "Move task 123 to project 456" | | duplicate_task_to_project | 📋 将任务复制到其他项目 | "Duplicate task 123 to project 456" | | search_tasks | 🔍 使用搜索引擎查找任务 | "Search tasks in project 2 for query 'assignee:nobody'" | | assign_task | 👤 将任务分配给用户 | "Assign the API task to John" | | set_task_due_date | 📅 设置任务截止日期 | "Set due date for login task to 2024-01-15" |

💬 评论管理

| 工具 | 描述 | 示例 | | ---- | ---- | ---- | | create_comment | ➕ 创建新评论 | "Create a comment 'Meeting notes' for task 123 by user 1, visible to app-managers" | | get_task_comments | 📋 获取任务评论 | "Show all comments for task 123" | | get_comment | 🔍 获取评论信息 | "Get details for comment 789" | | update_comment | ✏️ 更新评论 | "Update comment 456 content to 'Revised notes'" | | remove_comment | 🗑️ 删除评论 | "Remove comment with ID 101" |

🏗️ 列管理

| 工具 | 描述 | 示例 | | ---- | ---- | ---- | | get_columns | 📋 列出项目列 | "Show me all columns in project 123" | | get_column | 🔍 获取单个列 | "Get details for column 456" | | create_column | ➕ 添加新列 | "Create a 'Testing' column in project 123 with 5 task limit and description 'For UAT testing'" | | update_column | ✏️ 修改列设置 | "Change column 123 title to 'Review' and limit to 3 tasks, with description 'Needs final review'" | | change_column_position | 🔄 更改列位置 | "Move column 123 to position 3 in project 456" | | delete_column | 🗑️ 删除列 | "Delete the unused 'Draft' column" |

🏷️ 类别管理

| 工具 | 描述 | 示例 | | ---- | ---- | ---- | | get_categories | 📋 列出项目类别 | "Show me all task categories for project 123" | | get_category | 🔍 获取类别信息 | "Get details for category 456" | | create_category | ➕ 添加任务类别 | "Create a 'Bug Fixes' category in project 123 with color 'red'" | | update_category | ✏️ 修改类别 | "Rename category 123 to 'Critical Issues' and set color to 'blue'" | | delete_category | 🗑️ 删除类别 | "Delete the unused 'Archive' category" |

🏊 泳道管理

| 工具 | 描述 | 示例 | | ---- | ---- | ---- | | get_swimlanes | 📋 列出项目的所有泳道(启用或禁用),并按位置排序 | "Show me all swimlanes for project 1" | | get_active_swimlanes | 📋 获取项目的启用泳道列表(如果启用了默认泳道,则包含在内) | "Get active swimlanes for project 1" | | get_swimlane | 🔍 通过 ID 获取泳道 | "Get swimlane details for ID 1" | | get_swimlane_by_id | 🔍 通过 ID 获取泳道 | "Get swimlane details for ID 1" | | get_swimlane_by_name | 🔍 通过名称获取泳道 | "Get swimlane details for project 1 with name 'Swimlane 1'" | | change_swimlane_position | 🔄 移动泳道位置(仅适用于活动泳道) | "Change swimlane 2 position to 3 in project 1" | | create_swimlane | ➕ 添加新泳道 | "Create a swimlane 'Frontend Team' in project 1" | | update_swimlane | ✏️ 更新泳道属性 | "Update swimlane 1 for project 1 with new name 'Cross-Platform Team'" | | remove_swimlane | 🗑️ 删除泳道 | "Remove swimlane 1 from project 2" | | disable_swimlane | 🚫 禁用泳道 | "Disable swimlane 1 from project 2" | | enable_swimlane | ✅ 启用泳道 | "Enable swimlane 1 from project 2" |

📋 看板管理

| 工具 | 描述 | 示例 | | ---- | ---- | ---- | | get_board | 📋 获取显示看板所需的所有信息 | "Show me the board for project 123" |

🧑‍💻 当前用户管理

| 工具 | 描述 | 示例 | | ---- | ---- | ---- | | get_me | 👤 获取当前登录用户的会话信息 | "Get my user session information" | | get_my_dashboard | 📊 获取当前登录用户的仪表盘 | "Show me my dashboard" | | get_my_activity_stream | 📢 获取当前登录用户的最后 100 个事件 | "Show me my recent activity" | | create_my_private_project | ➕ 为当前登录用户创建一个私有项目 | "Create a private project named 'My Secret Project' with description 'For personal tasks'" | | get_my_projects_list | 📋 获取当前登录用户参与的项目 | "List all projects I'm involved in" | | get_my_overdue_tasks | ⏰ 获取当前登录用户的逾期任务 | "Show me all my tasks that are overdue" | | get_my_projects | 📝 获取当前登录用户参与的项目的详细信息 | "Get detailed information about all my projects" |

🔗 外部任务链接管理

| 工具 | 描述 | 示例 | | ---- | ---- | ---- | | get_external_task_link_types | 📋 获取所有注册的外部链接提供者 | "Show me all external link types" | | get_ext_link_provider_deps | ⛓️ 获取给定提供者的可用依赖项 | "Get dependencies for 'weblink' provider" | | create_external_task_link | ➕ 创建新的外部链接 | "Create an external link for task 123 to 'http://example.com/doc.pdf' with dependency 'related' and type 'attachment'" | | update_external_task_link | ✏️ 更新外部任务链接 | "Update external link 456 for task 789 with new title 'Updated Document' and URL 'http://new.example.com/doc.pdf'" | | get_external_task_link_by_id | 🔍 通过 ID 获取外部任务链接 | "Get external link 456 for task 789" | | get_all_external_task_links | 📋 获取附加到任务的所有外部链接 | "Show all external links for task 123" | | remove_external_task_link | 🗑️ 删除外部链接 | "Remove external link 456 from task 789" |

🔗 内部任务链接管理

| 工具 | 描述 | 示例 | | ---- | ---- | ---- | | create_task_link | ➕ 在两个任务之间创建链接 | "Create a link between task 123 and task 456 with link type 1" | | update_task_link | ✏️ 更新任务链接 | "Update task link 789 between task 123 and task 456 with new link type 2" | | get_task_link_by_id | 🔍 通过 ID 获取任务链接 | "Get details for task link 101" | | get_all_task_links | 📋 获取与任务相关的所有链接 | "Show all links for task 123" | | remove_task_link | 🗑️ 删除两个任务之间的链接 | "Remove task link 101" |

🔗 链接管理

| 工具 | 描述 | 示例 | | ---- | ---- | ---- | | get_all_links | 📋 获取任务之间可能的关系列表 | "Show all possible task relations" | | get_opposite_link_id | 🔍 获取任务链接的相反链接 ID | "Get the opposite link ID for link 2" | | get_link_by_label | 🔍 通过标签获取链接 | "Get details for link with label 'blocks'" | | get_link_by_id | 🔍 通过 ID 获取链接 | "Get details for link with ID 4" | | create_link | ➕ 创建新的任务关系 | "Create a link 'foo' with opposite label 'bar'" | | update_link | ✏️ 更新链接 | "Update link 14 with opposite link 12 and label 'boo'" | | remove_link | 🗑️ 删除链接 | "Remove link with ID 14" |

📂 项目文件管理

| 工具 | 描述 | 示例 | | ---- | ---- | ---- | | create_project_file | ➕ 创建并上传新的项目附件 | "Create a file 'My Document.pdf' for project 1 with base64 content 'Zm9vYmFy'" | | get_all_project_files | 📋 获取附加到项目的所有文件 | "Show all files for project 123" | | get_project_file | 🔍 获取文件信息 | "Get details for file 456 in project 123" | | download_project_file | 📥 下载项目文件内容(以 base64 编码) | "Download file 456 from project 123" | | remove_project_file | 🗑️ 删除与项目关联的文件 | "Remove file 456 from project 123" | | remove_all_project_files | 🗑️ 删除与项目关联的所有文件 | "Remove all files from project 123" |

📝 项目元数据管理

| 工具 | 描述 | 示例 | | ---- | ---- | ---- | | get_project_metadata | 📋 获取项目元数据 | "Get all metadata for project 123" | | get_project_metadata_by_name | 🔍 获取单个元数据值 | "Get metadata 'my_key' for project 123" | | save_project_metadata | 💾 添加或更新元数据 | "Save metadata 'key1:value1, key2:value2' for project 123" | | remove_project_metadata | 🗑️ 删除项目元数据 | "Remove metadata 'my_key' from project 123" |

🔐 项目权限管理

| 工具 | 描述 | 示例 | | ---- | ---- | ---- | | get_project_users | 📋 获取项目的所有成员 | "Show all users in project 123" | | get_assignable_users | 👥 获取可以分配给项目任务的用户(除查看者外的所有成员) | "Get assignable users for project 123" | | add_project_user | ➕ 授予用户对项目的访问权限 | "Add user 1 to project 123 with role 'project-member'" | | add_project_group | ➕ 授予组对项目的访问权限 | "Add group 456 to project 123 with role 'project-viewer'" | | remove_project_user | 🗑️ 撤销用户对项目的访问权限 | "Remove user 1 from project 123" | | remove_project_group | 🗑️ 撤销组对项目的访问权限 | "Remove group 456 from project 123" | | change_project_user_role | ✏️ 更改用户在项目中的角色 | "Change user 1's role in project 123 to 'project-manager'" | | change_project_group_role | ✏️ 更改组在项目中的角色 | "Change group 456's role in project 123 to 'project-manager'" | | get_project_user_role | 🔍 获取用户在给定项目中的角色 | "Get the role of user 1 in project 123" |

📝 子任务管理

| 工具 | 描述 | 示例 | | ---- | ---- | ---- | | create_subtask | ➕ 创建新的子任务 | "Create a subtask 'Review designs' for task 123 with user 1 assigned" | | get_subtask | 🔍 获取子任务信息 | "Get details for subtask 456" | | get_all_subtasks | 📋 获取任务的所有可用子任务 | "Show all subtasks for task 123" | | update_subtask | ✏️ 更新子任务 | "Update subtask 456 for task 123 to status 2 (Done)" | | remove_subtask | 🗑️ 删除子任务 | "Remove subtask with ID 456" |

⏰ 子任务时间跟踪

| 工具 | 描述 | 示例 | | ---- | ---- | ---- | | has_subtask_timer | ⏱️ 检查给定子任务和用户是否已启动计时器 | "Check if a timer is active for subtask 123 by user 4" | | set_subtask_start_time | ▶️ 为用户启动子任务计时器 | "Start timer for subtask 123 by user 4" | | set_subtask_end_time | ⏹️ 为用户停止子任务计时器 | "Stop timer for subtask 123 by user 4" | | get_subtask_time_spent | 📊 获取用户在子任务上花费的时间 | "Get time spent on subtask 123 by user 4" |

🏷️ 标签管理

| 工具 | 描述 | 示例 | | ---- | ---- | ---- | | get_all_tags | 📋 获取所有标签 | "Show all available tags" | | get_tags_by_project | 📋 获取给定项目的所有标签 | "Show tags for project 123" | | create_tag | ➕ 创建新标签 | "Create tag 'backend' for project 123 with color 1" | | update_tag | ✏️ 重命名标签 | "Rename tag 456 to 'frontend' and set color to 2" | | remove_tag | 🗑️ 删除标签 | "Remove tag with ID 456" | | set_task_tags | 🏷️ 为任务分配/创建/更新标签 | "Set tags 'urgent', 'bug' for task 123 in project 456" | | get_task_tags | 🔍 获取分配给任务的标签 | "Get tags assigned to task 123" |

📂 任务文件管理

| 工具 | 描述 | 示例 | | ---- | ---- | ---- | | create_task_file | ➕ 创建并上传新的任务附件 | "Create a file 'meeting_notes.txt' for project 1 with task 2 and base64 content 'Zm9vYmFy'" | | get_all_task_files | 📋 获取附加到任务的所有文件 | "Show all files for task 123" | | get_task_file | 🔍 获取文件信息 | "Get details for file 456" | | download_task_file | 📥 下载文件内容(以 base64 编码) | "Download file 456" | | remove_task_file | 🗑️ 删除文件 | "Remove file with ID 456" | | remove_all_task_files | 🗑️ 删除与任务关联的所有文件 | "Remove all files from task 123" |

📝 任务元数据管理

| 工具 | 描述 | 示例 | | ---- | ---- | ---- | | get_task_metadata | 📋 获取与任务相关的所有元数据(通过任务唯一 ID) | "Get all metadata for task 1" | | get_task_metadata_by_name | 🔍 获取与任务相关的单个元数据值(通过任务唯一 ID 和元数据键) | "Get metadata 'metaKey1' for task 1" | | save_task_metadata | 💾 保存/更新任务元数据 | "Save metadata 'metaName:metaValue' for task 1" | | remove_task_metadata | 🗑️ 删除任务元数据(通过名称) | "Remove metadata 'metaKey1' from task 1" |

⚙️ 应用程序管理

| 工具 | 描述 | 示例 | | ---- | ---- | ---- | | get_version | 📋 获取应用程序版本 | "What is the Kanboard version?" | | get_timezone | 🌐 获取当前登录用户的时区 | "What is my current timezone?" | | get_default_task_colors | 🌈 获取所有默认任务颜色 | "Show me all default task colors" | | get_default_task_color | 🎨 获取默认任务颜色 | "What is the default task color?" | | get_color_list | 📋 获取任务颜色列表 | "List all available task colors" | | get_application_roles | 👥 获取应用程序角色 | "List all application roles" | | get_project_roles | 👥 获取项目角色 | "List all project roles" |

🤖 自动操作管理

| 工具 | 描述 | 示例 | | ---- | ---- | ---- | | get_available_actions | 📋 获取可用的自动操作列表 | "Show available automatic actions" | | get_available_action_events | 📋 获取操作可用的事件列表 | "Show available action events" | | get_compatible_action_events | 🔍 获取与操作兼容的事件列表 | "Get compatible events for action 'TaskClose'" | | get_actions | 📋 获取项目的操作列表 | "Get actions for project 123" | | create_action | ➕ 创建操作 | "Create an action for project 1, event 'task.move.column', action '\Kanboard\Action\TaskClose', with params 'column_id:3'" | | remove_action | 🗑️ 删除操作 | "Remove action with ID 456" |

👥 组管理

| 工具 | 描述 | 示例 | | ---- | ---- | ---- | | create_group | ➕ 创建新组 | "Create a group named 'Development Team' with external ID 'dev_001'" | | update_group | ✏️ 更新组 | "Rename group 123 to 'QA Team' and change its external ID to 'qa_001'" | | remove_group | 🗑️ 删除组 | "Remove group with ID 456" | | get_group | 🔍 获取一个组的信息 | "Get details for group 789" | | get_all_groups | 📋 获取所有组 | "Show me all user groups" |

👥 组成员管理

| 工具 | 描述 | 示例 | | ---- | ---- | ---- | | get_member_groups | 📋 获取给定用户的所有组 | "Show me all groups for user 1" | | get_group_members | 👥 获取组的所有成员 | "List all members of group 123" | | add_group_member | ➕ 将用户添加到组中 | "Add user 456 to group 789" | | remove_group_member | 🗑️ 从组中移除用户 | "Remove user 456 from group 789" | | is_group_member | ❓ 检查用户是否为组的成员 | "Is user 456 a member of group 789?" |

👥 用户管理

| 工具 | 描述 | 示例 | | ---- | ---- | ---- | | get_users | 📋 列出所有系统用户 | "Show me all users" | | create_user | ➕ 创建新用户 | "Create user 'john' with password '123456'" | | create_ldap_user | ➕ 创建通过 LDAP 认证的新用户 | "Create LDAP user 'jane'" | | get_user | 🔍 通过 ID 获取用户信息 | "Get user details for ID 123" | | get_user_by_name | 🔍 通过用户名获取用户信息 | "Get user details for 'john'" | | update_user | ✏️ 更新用户信息 | "Update user 123 with role 'app-manager'" | | remove_user | 🗑️ 删除用户 | "Remove user with ID 456" | | disable_user | ❌ 禁用用户 | "Disable user 123" | | enable_user | ✅ 启用用户 | "Enable user 123" | | is_active_user | 🔍 检查用户是否处于活动状态 | "Check if user 123 is active" | | assign_user_to_project | 👤 将用户分配到项目并指定特定角色 | "Assign user 1 to project 'Website' with role 'project-member'" |

🏃 ScrumSprint 插件 API

| 工具 | 描述 | 示例 | | ---- | ---- | ---- | | create_sprint | ➕ 创建新的冲刺 | "Create a sprint named 'Sprint 1' in project 'My Project' starting '2024-01-01' and ending '2024-01-14' with goal 'Complete onboarding features'" | | get_sprint_by_id | 🔍 通过 ID 检索冲刺 | "Get details for sprint with ID 123" | | update_sprint | ✏️ 更新现有冲刺 | "Update sprint 123 in project 'My Project' to be completed" | | remove_sprint | 🗑️ 通过 ID 删除冲刺 | "Remove sprint with ID 123" | | get_all_sprints_by_project | 📋 检索给定项目的所有冲刺 | "Get all sprints for project 'My Project'" |

💻 使用示例

项目工作流

# 创建一个新项目
"Create a new project called 'Mobile App Development'"

# 向项目中添加任务
"Create task 'Design UI mockups' in project 'Mobile App Development'"
"Create task 'Set up development environment' in project 'Mobile App Development'"

# 获取所有任务
"Get tasks for 'Mobile App Development' project"

# 在列之间移动任务
"Move task 1 to 'In Progress' column"
"Move task 2 to 'Done' column"

团队管理

# 创建一个新的团队成员
"Create user 'alice.smith' with password 'secure123' and email 'alice@company.com'"

# 将用户分配到项目
"Assign user 'alice.smith' to project 'Mobile App Development' as project-member"

# 将任务分配给团队成员
"Assign task 1 to user 'alice.smith'"

任务组织

# 创建类别以更好地组织任务
"Create category 'Critical Bugs'"
"Create category 'Feature Requests'"

# 为任务添加评论
"Add comment 'This needs urgent attention' to task 5"

# 设置截止日期
"Set due date for task 3 to 2024-01-20"

🔧 开发

从源代码构建

# 克隆仓库
git clone https://github.com/bivex/kanboard-mcp.git
cd kanboard-mcp

# 安装依赖
go mod download

# 构建应用程序
go build -o kanboard-mcp .

# 运行测试
go test ./...

项目结构

kanboard-mcp/
├── main.go              # 主应用程序入口点
├── go.mod               # Go 模块依赖项
├── go.sum               # 依赖项校验和
├── build-release.bat    # Windows 构建脚本
├── build-release.sh     # Unix 构建脚本
├── README.md            # 本文件
└── LICENSE.md           # 许可证信息

贡献代码

  1. Fork 仓库
  2. 创建功能分支 (git checkout -b feature/amazing-feature)
  3. 提交更改 (git commit -m 'Add amazing feature')
  4. 推送到分支 (git push origin feature/amazing-feature)
  5. 打开 Pull Request

📄 许可证

本项目采用 MIT 许可证 - 详情请参阅 LICENSE.md 文件。


**为 Kanboard 社区精心打造 ❤️** [![GitHub stars](https://img.shields.io/github/stars/bivex/kanboard-mcp?style=social)](https://github.com/bivex/kanboard-mcp/stargazers) [![GitHub forks](https://img.shields.io/github/forks/bivex/kanboard-mcp?style=social)](https://github.com/bivex/kanboard-mcp/network) [![GitHub issues](https://img.shields.io/github/issues/bivex/kanboard-mcp)](https://github.com/bivex/kanboard-mcp/issues)
help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端