Kanboard MCP
什么是Kanboard MCP服务器?
Kanboard MCP服务器是一个基于Go语言开发的Model Context Protocol (MCP)服务端程序,它允许AI助手(如Claude Desktop、Cursor)通过自然语言直接与Kanboard项目管理系统进行交互。用户可以通过简单的中文指令管理项目、任务、用户和工作流。如何使用Kanboard MCP服务器?
只需配置Kanboard的API信息并设置MCP客户端即可使用。该服务器支持多种操作,包括创建项目、管理任务、分配用户等,所有操作都可以通过自然语言完成。适用场景
适用于需要将AI助手与Kanboard集成的团队,用于快速创建和管理项目、任务以及协作流程。特别适合希望用自然语言控制项目管理系统的用户。主要功能
自然语言项目管理通过简单对话即可创建、更新或删除项目,无需复杂命令
任务管理支持创建、分配、更新和删除任务,并可设置截止日期和优先级
用户和权限管理可以添加、移除用户,并为他们分配不同的项目角色
多平台兼容性与Cursor、Claude Desktop等MCP客户端兼容,可在多种环境中使用
安全认证支持API密钥和用户名/密码两种认证方式,确保数据安全
实时同步与Kanboard实时同步数据,确保所有更改立即生效
优势与局限性
优势
通过自然语言简化项目管理操作
提高工作效率,减少手动输入
支持多种MCP客户端,便于集成到现有系统
提供丰富的API接口,易于扩展
局限性
需要Kanboard API访问权限才能使用
初期配置可能对非技术用户有一定难度
某些高级功能可能需要额外配置
如何使用
安装服务器
克隆仓库并编译Go代码,生成可执行文件。
配置环境变量
设置Kanboard的API端点和认证信息。
配置MCP客户端
在MCP客户端中指定服务器路径和环境变量。
启动服务
运行编译后的可执行文件,等待MCP客户端连接。
使用案例
创建项目并分配任务用户可以通过简单的自然语言创建项目并分配任务,例如:'创建项目 '移动应用开发' 并添加任务 '设计UI原型' 和 '设置开发环境'。'
管理任务状态用户可以轻松地将任务的状态从 '待办' 改为 '进行中' 或 '已完成',例如:'将任务 123 移动到 '进行中' 列'。
管理用户权限用户可以添加新成员到项目中,例如:'将用户 'alice.smith' 添加到 '移动应用开发' 项目中作为 '项目成员'。'
常见问题
如何解决MCP客户端连接失败的问题?
请检查服务器是否正常运行,确认MCP客户端配置的路径和环境变量是否正确。
如何获取Kanboard的API密钥?
登录Kanboard后,在用户设置中找到API密钥选项,生成并复制API密钥。
如果遇到错误提示 '代理错误',该怎么办?
建议使用 mcpproxy 作为代理解决方案以避免此类问题。
是否支持多语言操作?
目前仅支持中文,但未来计划增加其他语言支持。
如何更新Kanboard MCP服务器?
可通过重新克隆仓库并重新构建来更新服务器。
相关资源
GitHub仓库
Kanboard MCP服务器的源代码和文档
MCP协议文档
MCP协议的官方文档和示例
Kanboard官方文档
Kanboard项目的完整文档
MCP客户端指南
Cursor等MCP客户端的使用指南
安装
复制以下命令到你的Client进行配置
{
"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"
}
}
}
}
注意:您的密钥属于敏感信息,请勿与任何人分享。
🚀 Kanboard MCP 服务器
这是一个强大的基于 Go 语言的 Model Context Protocol (MCP) 服务器,可实现 AI 助手(如 Claude Desktop、Cursor)与 Kanboard 项目管理系统的无缝集成。你可以直接通过自然语言命令来管理 Kanboard 项目、任务、用户和工作流。
⚠️ 重要提示
为避免出现以下问题:
![]()
我们建议使用 mcpproxy 作为代理解决方案。
📋 目录
✨ 主要特性
- 🔗 与 Kanboard 无缝集成 - 直接通过 API 与 Kanboard 进行通信
- 🤖 自然语言处理 - 使用简单的英语来管理项目
- 📊 全面的项目管理 - 处理项目、任务、用户、列等更多内容
- 🔐 安全认证 - 支持 API 密钥和用户名/密码两种认证方式
- ⚡ 高性能 - 采用 Go 语言构建,性能卓越
- 🎯 符合 MCP 标准 - 与所有 MCP 客户端兼容
🚀 快速开始
前提条件
- Go 1.21 或更高版本
- 具有 API 访问权限的 Kanboard 实例
- 兼容 MCP 的客户端(如 Cursor、Claude Desktop 等)
安装
-
克隆仓库:
git clone https://github.com/bivex/kanboard-mcp.git cd kanboard-mcp
-
构建可执行文件:
在 Windows 上:
build-release.bat
在 Linux/macOS 上:
./build-release.sh
手动构建:
go build -ldflags="-s -w" -o kanboard-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 |
📋 列出所有项目 | "显示所有 Kanboard 项目" |
create_project |
➕ 创建新项目 | "创建一个名为 '网站重新设计' 的项目,描述为 '重新设计公司网站',所有者为 1" |
get_project_by_id |
🔍 通过 ID 获取项目信息 | "获取 ID 为 123 的项目详情" |
get_project_by_name |
🔍 通过名称获取项目信息 | "获取名为 '我的项目' 的项目详情" |
get_project_by_identifier |
🔍 通过标识符获取项目信息 | "获取标识符为 'WEB-APP' 的项目详情" |
get_project_by_email |
🔍 通过电子邮件获取项目信息 | "获取电子邮件为 'project@example.com' 的项目详情" |
get_all_projects |
📋 获取所有可用项目 | "显示所有可用项目" |
update_project |
✏️ 更新项目 | "将项目 1 的名称更新为 '新网站',描述更新为 '更新后的描述'" |
remove_project |
🗑️ 删除项目 | "删除 ID 为 456 的项目" |
enable_project |
✅ 启用项目 | "启用项目 123" |
disable_project |
🚫 禁用项目 | "禁用项目 123" |
enable_project_public_access |
🌐 启用项目的公共访问权限 | "启用项目 123 的公共访问权限" |
disable_project_public_access |
🔒 禁用项目的公共访问权限 | "禁用项目 123 的公共访问权限" |
get_project_activity |
📢 获取项目的活动流 | "显示项目 123 的活动" |
get_project_activities |
📊 获取项目的活动源 | "获取项目 1、2 和 3 的活动" |
📝 任务管理
工具 | 描述 | 示例 |
---|---|---|
get_tasks |
📋 获取项目任务 | "获取 '网站重新设计' 项目的任务" |
create_task |
➕ 创建新任务 | "在 '网站重新设计' 项目中创建任务 '设计主页'" |
update_task |
✏️ 修改现有任务 | "将任务 123 的描述更新为 '新需求'" |
delete_task |
🗑️ 删除任务 | "删除 ID 为 456 的任务" |
get_task |
🔍 通过唯一 ID 获取任务 | "获取任务 789 的详情" |
get_task_by_reference |
🔍 通过外部引用获取任务 | "获取项目 1 中引用为 'TICKET-1234' 的任务" |
get_all_tasks |
📋 获取所有可用任务 | "获取项目 1 的所有活跃任务" |
get_overdue_tasks |
⏰ 获取所有逾期任务 | "显示所有逾期任务" |
get_overdue_tasks_by_project |
⏰ 获取特定项目的所有逾期任务 | "显示项目 1 的逾期任务" |
open_task |
✅ 将任务状态设置为打开 | "打开任务 123" |
close_task |
❌ 将任务状态设置为关闭 | "关闭任务 123" |
move_task_position |
➡️ 在同一看板内将任务移动到另一列、位置或泳道 | "将任务 123 移动到项目 1 的第 2 列、第 1 个位置、第 1 个泳道" |
move_task_to_project |
➡️ 将任务移动到另一个项目 | "将任务 123 移动到项目 456" |
duplicate_task_to_project |
📋 将任务复制到另一个项目 | "将任务 123 复制到项目 456" |
search_tasks |
🔍 使用搜索引擎查找任务 | "在项目 2 中搜索查询 '分配人:无人' 的任务" |
assign_task |
👤 将任务分配给用户 | "将 API 任务分配给 John" |
set_task_due_date |
📅 设置任务截止日期 | "将登录任务的截止日期设置为 2024-01-15" |
💬 评论管理
工具 | 描述 | 示例 |
---|---|---|
create_comment |
➕ 创建新评论 | "为任务 123 创建一条评论 '会议记录',由用户 1 发布,对应用管理员可见" |
get_task_comments |
📋 获取任务评论 | "显示任务 123 的所有评论" |
get_comment |
🔍 获取评论信息 | "获取评论 789 的详情" |
update_comment |
✏️ 更新评论 | "将评论 456 的内容更新为 '修订后的记录'" |
remove_comment |
🗑️ 删除评论 | "删除 ID 为 101 的评论" |
🏗️ 列管理
工具 | 描述 | 示例 |
---|---|---|
get_columns |
📋 列出项目列 | "显示项目 123 的所有列" |
get_column |
🔍 获取单个列 | "获取列 456 的详情" |
create_column |
➕ 添加新列 | "在项目 123 中创建一个 '测试' 列,任务限制为 5 个,描述为 '用于用户验收测试'" |
update_column |
✏️ 修改列设置 | "将列 123 的标题更改为 '审核',任务限制为 3 个,描述为 '需要最终审核'" |
change_column_position |
🔄 更改列的位置 | "将列 123 移动到项目 456 的第 3 个位置" |
delete_column |
🗑️ 删除列 | "删除未使用的 '草稿' 列" |
🏷️ 类别管理
工具 | 描述 | 示例 |
---|---|---|
get_categories |
📋 列出项目类别 | "显示项目 123 的所有任务类别" |
get_category |
🔍 获取类别信息 | "获取类别 456 的详情" |
create_category |
➕ 添加任务类别 | "在项目 123 中创建一个 '漏洞修复' 类别,颜色为 '红色'" |
update_category |
✏️ 修改类别 | "将类别 123 重命名为 '关键问题',颜色设置为 '蓝色'" |
delete_category |
🗑️ 删除类别 | "删除未使用的 '存档' 类别" |
🏊 泳道管理
工具 | 描述 | 示例 |
---|---|---|
get_swimlanes |
📋 列出项目的所有泳道(启用或禁用),并按位置排序 | "显示项目 1 的所有泳道" |
get_active_swimlanes |
📋 获取项目的启用泳道列表(如果启用了默认泳道则包含在内) | "获取项目 1 的活跃泳道" |
get_swimlane |
🔍 通过 ID 获取泳道 | "获取 ID 为 1 的泳道详情" |
get_swimlane_by_id |
🔍 通过 ID 获取泳道 | "获取 ID 为 1 的泳道详情" |
get_swimlane_by_name |
🔍 通过名称获取泳道 | "获取项目 1 中名为 '泳道 1' 的泳道详情" |
change_swimlane_position |
🔄 移动泳道的位置(仅适用于活跃泳道) | "将项目 1 中泳道 2 的位置更改为 3" |
create_swimlane |
➕ 添加新泳道 | "在项目 1 中创建一个 '前端团队' 泳道" |
update_swimlane |
✏️ 更新泳道属性 | "将项目 1 中泳道 1 的名称更新为 '跨平台团队'" |
remove_swimlane |
🗑️ 删除泳道 | "从项目 2 中删除泳道 1" |
disable_swimlane |
🚫 禁用泳道 | "从项目 2 中禁用泳道 1" |
enable_swimlane |
✅ 启用泳道 | "从项目 2 中启用泳道 1" |
📋 看板管理
工具 | 描述 | 示例 |
---|---|---|
get_board |
📋 获取显示看板所需的所有信息 | "显示项目 123 的看板" |
🧑💻 当前用户管理
工具 | 描述 | 示例 |
---|---|---|
get_me |
👤 获取当前登录用户的会话信息 | "获取我的用户会话信息" |
get_my_dashboard |
📊 获取当前登录用户的仪表盘 | "显示我的仪表盘" |
get_my_activity_stream |
📢 获取当前登录用户的最后 100 个事件 | "显示我的近期活动" |
create_my_private_project |
➕ 为当前登录用户创建一个私人项目 | "创建一个名为 '我的秘密项目' 的私人项目,描述为 '用于个人任务'" |
get_my_projects_list |
📋 获取当前登录用户参与的项目 | "列出我参与的所有项目" |
get_my_overdue_tasks |
⏰ 获取当前登录用户的逾期任务 | "显示我所有逾期的任务" |
get_my_projects |
📝 获取当前登录用户参与的项目的详细信息 | "获取我所有项目的详细信息" |
🔗 外部任务链接管理
工具 | 描述 | 示例 |
---|---|---|
get_external_task_link_types |
📋 获取所有已注册的外部链接提供程序 | "显示所有外部链接类型" |
get_ext_link_provider_deps |
⛓️ 获取给定提供程序的可用依赖项 | "获取 'weblink' 提供程序的依赖项" |
create_external_task_link |
➕ 创建新的外部链接 | "为任务 123 创建一个外部链接到 'http://example.com/doc.pdf',依赖项为 '相关',类型为 '附件'" |
update_external_task_link |
✏️ 更新外部任务链接 | "将任务 789 的外部链接 456 的标题更新为 '更新后的文档',URL 更新为 'http://new.example.com/doc.pdf'" |
get_external_task_link_by_id |
🔍 通过 ID 获取外部任务链接 | "获取任务 789 的外部链接 456" |
get_all_external_task_links |
📋 获取附加到任务的所有外部链接 | "显示任务 123 的所有外部链接" |
remove_external_task_link |
🗑️ 删除外部链接 | "从任务 789 中删除外部链接 456" |
🔗 内部任务链接管理
工具 | 描述 | 示例 |
---|---|---|
create_task_link |
➕ 在两个任务之间创建链接 | "在任务 123 和任务 456 之间创建一个链接类型为 1 的链接" |
update_task_link |
✏️ 更新任务链接 | "将任务 123 和任务 456 之间的任务链接 789 的链接类型更新为 2" |
get_task_link_by_id |
🔍 通过 ID 获取任务链接 | "获取任务链接 101 的详情" |
get_all_task_links |
📋 获取与任务相关的所有链接 | "显示任务 123 的所有链接" |
remove_task_link |
🗑️ 删除两个任务之间的链接 | "删除任务链接 101" |
🔗 链接管理
工具 | 描述 | 示例 |
---|---|---|
get_all_links |
📋 获取任务之间可能的关系列表 | "显示所有可能的任务关系" |
get_opposite_link_id |
🔍 获取任务链接的相反链接 ID | "获取链接 2 的相反链接 ID" |
get_link_by_label |
🔍 通过标签获取链接 | "获取标签为 '阻塞' 的链接详情" |
get_link_by_id |
🔍 通过 ID 获取链接 | "获取 ID 为 4 的链接详情" |
create_link |
➕ 创建新的任务关系 | "创建一个链接 'foo',相反标签为 'bar'" |
update_link |
✏️ 更新链接 | "将链接 14 的相反链接更新为 12,标签更新为 'boo'" |
remove_link |
🗑️ 删除链接 | "删除 ID 为 14 的链接" |
📂 项目文件管理
工具 | 描述 | 示例 |
---|---|---|
create_project_file |
➕ 创建并上传新的项目附件 | "为项目 1 创建一个名为 '我的文档.pdf' 的文件,Base64 内容为 'Zm9vYmFy'" |
get_all_project_files |
📋 获取附加到项目的所有文件 | "显示项目 123 的所有文件" |
get_project_file |
🔍 获取文件信息 | "获取项目 123 中文件 456 的详情" |
download_project_file |
📥 下载项目文件内容(Base64 编码) | "从项目 123 下载文件 456" |
remove_project_file |
🗑️ 删除与项目关联的文件 | "从项目 123 中删除文件 456" |
remove_all_project_files |
🗑️ 删除与项目关联的所有文件 | "从项目 123 中删除所有文件" |
📝 项目元数据管理
工具 | 描述 | 示例 |
---|---|---|
get_project_metadata |
📋 获取项目元数据 | "获取项目 123 的所有元数据" |
get_project_metadata_by_name |
🔍 获取单个元数据值 | "获取项目 123 的元数据 'my_key'" |
save_project_metadata |
💾 添加或更新元数据 | "为项目 123 保存元数据 'key1:value1, key2:value2'" |
remove_project_metadata |
🗑️ 删除项目元数据 | "从项目 123 中删除元数据 'my_key'" |
🔐 项目权限管理
工具 | 描述 | 示例 |
---|---|---|
get_project_users |
📋 获取项目的所有成员 | "显示项目 123 的所有用户" |
get_assignable_users |
👥 获取可分配到项目任务的用户(除查看者外的所有成员) | "获取项目 123 的可分配用户" |
add_project_user |
➕ 授予用户对项目的访问权限 | "将用户 1 添加到项目 123 中,角色为 '项目成员'" |
add_project_group |
➕ 授予组对项目的访问权限 | "将组 456 添加到项目 123 中,角色为 '项目查看者'" |
remove_project_user |
🗑️ 撤销用户对项目的访问权限 | "从项目 123 中移除用户 1" |
remove_project_group |
🗑️ 撤销组对项目的访问权限 | "从项目 123 中移除组 456" |
change_project_user_role |
✏️ 更改用户在项目中的角色 | "将用户 1 在项目 123 中的角色更改为 '项目管理员'" |
change_project_group_role |
✏️ 更改组在项目中的角色 | "将组 456 在项目 123 中的角色更改为 '项目管理员'" |
get_project_user_role |
🔍 获取用户在给定项目中的角色 | "获取用户 1 在项目 123 中的角色" |
📝 子任务管理
工具 | 描述 | 示例 |
---|---|---|
create_subtask |
➕ 创建新的子任务 | "为任务 123 创建一个子任务 '审核设计',分配给用户 1" |
get_subtask |
🔍 获取子任务信息 | "获取子任务 456 的详情" |
get_all_subtasks |
📋 获取任务的所有可用子任务 | "显示任务 123 的所有子任务" |
update_subtask |
✏️ 更新子任务 | "将任务 123 的子任务 456 的状态更新为 2(已完成)" |
remove_subtask |
🗑️ 删除子任务 | "删除 ID 为 456 的子任务" |
⏰ 子任务时间跟踪
工具 | 描述 | 示例 |
---|---|---|
has_subtask_timer |
⏱️ 检查给定子任务和用户的计时器是否已启动 | "检查用户 4 对 子任务 123 的计时器是否处于活动状态" |
set_subtask_start_time |
▶️ 为用户启动子任务计时器 | "用户 4 启动子任务 123 的计时器" |
set_subtask_end_time |
⏹️ 为用户停止子任务计时器 | "用户 4 停止子任务 123 的计时器" |
get_subtask_time_spent |
📊 获取用户在子任务上花费的时间 | "获取用户 4 在子任务 123 上花费的时间" |
🏷️ 标签管理
工具 | 描述 | 示例 |
---|---|---|
get_all_tags |
📋 获取所有标签 | "显示所有可用标签" |
get_tags_by_project |
📋 获取给定项目的所有标签 | "显示项目 123 的标签" |
create_tag |
➕ 创建新标签 | "为项目 123 创建标签 '后端',颜色为 1" |
update_tag |
✏️ 重命名标签 | "将标签 456 重命名为 '前端',颜色设置为 2" |
remove_tag |
🗑️ 删除标签 | "删除 ID 为 456 的标签" |
set_task_tags |
🏷️ 为任务分配/创建/更新标签 | "为项目 456 中的任务 123 设置标签 '紧急'、'漏洞'" |
get_task_tags |
🔍 获取分配给任务的标签 | "获取任务 123 分配的标签" |
📂 任务文件管理
工具 | 描述 | 示例 |
---|---|---|
create_task_file |
➕ 创建并上传新的任务附件 | "为项目 1 中的任务 2 创建一个名为 '会议记录.txt' 的文件,Base64 内容为 'Zm9vYmFy'" |
get_all_task_files |
📋 获取附加到任务的所有文件 | "显示任务 123 的所有文件" |
get_task_file |
🔍 获取文件信息 | "获取文件 456 的详情" |
download_task_file |
📥 下载文件内容(Base64 编码) | "下载文件 456" |
remove_task_file |
🗑️ 删除文件 | "删除 ID 为 456 的文件" |
remove_all_task_files |
🗑️ 删除与任务关联的所有文件 | "从任务 123 中删除所有文件" |
📝 任务元数据管理
工具 | 描述 | 示例 |
---|---|---|
get_task_metadata |
📋 通过任务唯一 ID 获取与任务相关的所有元数据 | "获取任务 1 的所有元数据" |
get_task_metadata_by_name |
🔍 通过任务唯一 ID 和元键(名称)获取与任务相关的元数据 | "获取任务 1 的元数据 'metaKey1'" |
save_task_metadata |
💾 保存/更新任务元数据 | "为任务 1 保存元数据 'metaName:metaValue'" |
remove_task_metadata |
🗑️ 按名称删除任务元数据 | "从任务 1 中删除元数据 'metaKey1'" |
⚙️ 应用程序管理
工具 | 描述 | 示例 |
---|---|---|
get_version |
📋 获取应用程序版本 | "Kanboard 的版本是多少?" |
get_timezone |
🌐 获取当前登录用户的时区 | "我当前的时区是什么?" |
get_default_task_colors |
🌈 获取所有默认任务颜色 | "显示所有默认任务颜色" |
get_default_task_color |
🎨 获取默认任务颜色 | "默认任务颜色是什么?" |
get_color_list |
📋 获取任务颜色列表 | "列出所有可用的任务颜色" |
get_application_roles |
👥 获取应用程序角色 | "列出所有应用程序角色" |
get_project_roles |
👥 获取项目角色 | "列出所有项目角色" |
🤖 自动操作管理
工具 | 描述 | 示例 |
---|---|---|
get_available_actions |
📋 获取可用的自动操作列表 | "显示可用的自动操作" |
get_available_action_events |
📋 获取操作的可用事件列表 | "显示可用的操作事件" |
get_compatible_action_events |
🔍 获取与操作兼容的事件列表 | "获取与操作 'TaskClose' 兼容的事件" |
get_actions |
📋 获取项目的操作列表 | "获取项目 123 的操作" |
create_action |
➕ 创建操作 | "为项目 1 创建一个操作,事件为 'task.move.column',操作为 '\Kanboard\Action\TaskClose',参数为 'column_id:3'" |
remove_action |
🗑️ 删除操作 | "删除 ID 为 456 的操作" |
👥 组管理
工具 | 描述 | 示例 |
---|---|---|
create_group |
➕ 创建新组 | "创建一个名为 '开发团队' 的组,外部 ID 为 'dev_001'" |
update_group |
✏️ 更新组 | "将组 123 重命名为 'QA 团队',并将其外部 ID 更改为 'qa_001'" |
remove_group |
🗑️ 删除组 | "删除 ID 为 456 的组" |
get_group |
🔍 获取一个组 | "获取组 789 的详情" |
get_all_groups |
📋 获取所有组 | "显示所有用户组" |
👥 组成员管理
工具 | 描述 | 示例 |
---|---|---|
get_member_groups |
📋 获取给定用户所属的所有组 | "显示用户 1 所属的所有组" |
get_group_members |
👥 获取组的所有成员 | "列出组 123 的所有成员" |
add_group_member |
➕ 将用户添加到组中 | "将用户 456 添加到组 789 中" |
remove_group_member |
🗑️ 从组中移除用户 | "从组 789 中移除用户 456" |
is_group_member |
❓ 检查用户是否为组的成员 | "用户 456 是否为组 789 的成员?" |
👥 用户管理
工具 | 描述 | 示例 |
---|---|---|
get_users |
📋 列出所有系统用户 | "显示所有用户" |
create_user |
➕ 创建新用户 | "创建用户 'john',密码为 '123456'" |
create_ldap_user |
➕ 创建通过 LDAP 认证的新用户 | "创建 LDAP 用户 'jane'" |
get_user |
🔍 通过 ID 获取用户信息 | "获取 ID 为 123 的用户详情" |
get_user_by_name |
🔍 通过用户名获取用户信息 | "获取用户 'john' 的详情" |
update_user |
✏️ 更新用户信息 | "将用户 123 的角色更新为 '应用管理员'" |
remove_user |
🗑️ 删除用户 | "删除 ID 为 456 的用户" |
disable_user |
❌ 禁用用户 | "禁用用户 123" |
enable_user |
✅ 启用用户 | "启用用户 123" |
is_active_user |
🔍 检查用户是否活跃 | "检查用户 123 是否活跃" |
assign_user_to_project |
👤 将用户分配到项目中,并指定特定角色 | "将用户 1 分配到项目 '网站' 中,角色为 '项目成员'" |
🏃 ScrumSprint 插件 API
工具 | 描述 | 示例 |
---|---|---|
create_sprint |
➕ 创建新的冲刺 | "在项目 '我的项目' 中创建一个名为 '冲刺 1' 的冲刺,开始时间为 '2024-01-01',结束时间为 '2024-01-14',目标为 '完成入职功能'" |
get_sprint_by_id |
🔍 通过 ID 检索冲刺 | "获取 ID 为 123 的冲刺详情" |
update_sprint |
✏️ 更新现有的冲刺 | "将项目 '我的项目' 中的冲刺 123 更新为已完成" |
remove_sprint |
🗑️ 通过 ID 删除冲刺 | "删除 ID 为 123 的冲刺" |
get_all_sprints_by_project |
📋 检索给定项目的所有冲刺 | "获取项目 '我的项目' 的所有冲刺" |
📖 使用示例
项目工作流
# 创建新项目
"创建一个名为 '移动应用开发' 的新项目"
# 向项目中添加任务
"在项目 '移动应用开发' 中创建任务 '设计 UI 原型'"
"在项目 '移动应用开发' 中创建任务 '设置开发环境'"
# 获取所有任务
"获取 '移动应用开发' 项目的任务"
# 在列之间移动任务
"将任务 1 移动到 '进行中' 列"
"将任务 2 移动到 '已完成' 列"
团队管理
# 创建新团队成员
"创建用户 'alice.smith',密码为 'secure123',电子邮件为 'alice@company.com'"
# 将用户分配到项目
"将用户 'alice.smith' 分配到项目 '移动应用开发' 中,角色为项目成员"
# 将任务分配给团队成员
"将任务 1 分配给用户 'alice.smith'"
任务组织
# 创建类别以更好地组织任务
"创建类别 '关键漏洞'"
"创建类别 '功能请求'"
# 为任务添加评论
"为任务 5 添加评论 '这需要紧急关注'"
# 设置截止日期
"将任务 3 的截止日期设置为 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 # 许可证信息
贡献
- 分叉仓库
- 创建功能分支 (
git checkout -b feature/amazing-feature
) - 提交更改 (
git commit -m '添加出色的功能'
) - 推送到分支 (
git push origin feature/amazing-feature
) - 打开拉取请求
📄 许可证
本项目采用 MIT 许可证 - 详情请参阅 LICENSE.md 文件。
Z
Zen MCP Server
Zen MCP是一个多模型AI协作开发服务器,为Claude和Gemini CLI等AI编码助手提供增强的工作流工具和跨模型上下文管理。它支持多种AI模型的无缝协作,实现代码审查、调试、重构等开发任务,并能保持对话上下文在不同工作流间的延续。
Python
53
5分
C
Container Use
Container Use是一个开源工具,为编码代理提供容器化隔离环境,支持多代理并行开发且互不干扰。
Go
25
5分

Search1api
Search1API MCP Server是一个基于Model Context Protocol (MCP)的服务器,提供搜索和爬取功能,支持多种搜索服务和工具。
TypeScript
549
4分

Duckduckgo MCP Server
已认证
DuckDuckGo搜索MCP服务器,为Claude等LLM提供网页搜索和内容抓取服务
Python
1.3K
4.3分

Apple Notes MCP
一个为Claude桌面端提供本地Apple Notes数据库访问的服务器,支持读取和搜索笔记内容。
Python
322
4.3分

MCP Alchemy
已认证
MCP Alchemy是一个连接Claude Desktop与多种数据库的工具,支持SQL查询、数据库结构分析和数据报告生成。
Python
533
4.2分

Postgresql MCP
一个基于FastMCP库的PostgreSQL数据库MCP服务,提供对指定表的CRUD操作、模式检查和自定义SQL查询功能。
Python
218
4分

Agentic Radar
Agentic Radar是一个用于分析和评估代理系统的安全扫描工具,帮助开发者、研究人员和安全专家理解代理系统的工作流程并识别潜在漏洞。
Python
652
5分
精选MCP服务推荐

Figma Context MCP
Framelink Figma MCP Server是一个为AI编程工具(如Cursor)提供Figma设计数据访问的服务器,通过简化Figma API响应,帮助AI更准确地实现设计到代码的一键转换。
TypeScript
7.1K
4.5分

Duckduckgo MCP Server
已认证
DuckDuckGo搜索MCP服务器,为Claude等LLM提供网页搜索和内容抓取服务
Python
1.3K
4.3分

Firecrawl MCP Server
Firecrawl MCP Server是一个集成Firecrawl网页抓取能力的模型上下文协议服务器,提供丰富的网页抓取、搜索和内容提取功能。
TypeScript
4.6K
5分

Edgeone Pages MCP Server
EdgeOne Pages MCP是一个通过MCP协议快速部署HTML内容到EdgeOne Pages并获取公开URL的服务
TypeScript
497
4.8分

Minimax MCP Server
MiniMax Model Context Protocol (MCP) 是一个官方服务器,支持与强大的文本转语音、视频/图像生成API交互,适用于多种客户端工具如Claude Desktop、Cursor等。
Python
1.2K
4.8分

Exa Web Search
已认证
Exa MCP Server是一个为AI助手(如Claude)提供网络搜索功能的服务器,通过Exa AI搜索API实现实时、安全的网络信息获取。
TypeScript
2.2K
5分

Baidu Map
已认证
百度地图MCP Server是国内首个兼容MCP协议的地图服务,提供地理编码、路线规划等10个标准化API接口,支持Python和Typescript快速接入,赋能智能体实现地图相关功能。
Python
1.1K
4.5分

Context7
Context7 MCP是一个为AI编程助手提供实时、版本特定文档和代码示例的服务,通过Model Context Protocol直接集成到提示中,解决LLM使用过时信息的问题。
TypeScript
5.9K
4.7分