返回市场
快连宝盒-MCP

快连宝盒-MCP

作者:mattbalmer2 星标更新:2025-07-06

项目介绍

KnBn MCP Server

一个基于模型上下文协议(MCP)的服务器,提供给AI助手以结构化方式访问看板功能。该服务器基于KnBn CLI工具,通过MCP工具和资源暴露看板操作。

概述

KnBn MCP Server使AI助手能够通过标准化的MCP协议与看板进行程序化的交互。它提供了三种主要的交互方法:

  • MCP工具:用于创建、更新和管理看板、任务、列、标签和冲刺的交互操作。
  • MCP资源:通过结构化的URI模式提供对看板数据的只读访问。
  • CLI集成:基于经过验证的KnBn CLI,实现可靠的看板操作。

特性

  • 看板管理:创建、列出和迁移看板。
  • 任务操作:包括批量更新在内的完整CRUD操作。
  • 列管理:创建、更新、删除和列出看板列。
  • 标签系统:添加、更新、删除和列出带有颜色的任务标签。
  • 冲刺管理:创建和管理开发冲刺。
  • 资源访问:通过MCP资源提供只读数据访问。
  • 迁移支持:升级看板文件到最新格式版本。

安装

作为MCP服务器

  1. 安装包:
npm install knbn-mcp
  1. 在您的MCP客户端(例如Claude Desktop)中配置:
{
  "mcpServers": {
    "knbn": {
      "command": "npx",
      "args": ["knbn-mcp"]
    }
  }
}

开发用途

  1. 克隆仓库:
git clone https://github.com/mattbalmer/knbn-mcp.git
cd knbn-mcp
  1. 安装依赖项:
npm install
  1. 构建项目:
npm run build
  1. 运行测试:
npm test

使用

MCP工具

服务器提供了组织好的工具类别:

看板工具

  • list_boards - 列出所有.knbn看板文件
  • get_board - 获取完整的看板内容
  • create_board - 创建具有名称和描述的新看板
  • migrate - 将看板文件迁移到最新版本

任务工具

  • create_task - 创建具有标题、描述、优先级和故事点数的任务
  • get_task - 根据ID获取任务详情
  • list_tasks - 列出/过滤任务,按列、标签、优先级或冲刺
  • update_task - 更新任务属性
  • update_tasks_batch - 高效地更新多个任务

列工具

  • create_column - 在指定位置添加新列
  • list_columns - 列出所有列,可选任务计数
  • update_column - 重命名现有列
  • remove_column - 删除列

标签工具

  • add_label - 创建具有名称和颜色的标签
  • list_labels - 列出所有可用标签
  • update_label - 修改标签名称或颜色
  • remove_label - 从看板中删除标签

冲刺工具

  • add_sprint - 创建具有日期、容量和描述的冲刺
  • list_sprints - 列出按状态筛选的冲刺
  • update_sprint - 修改冲刺属性
  • remove_sprint - 删除冲刺

MCP资源

通过结构化的URIs访问看板数据:

  • knbn://boards - 所有看板文件的列表
  • knbn://board/{filename} - 完整的看板数据
  • knbn://board/{filename}/summary - 带有指标的看板摘要
  • knbn://board/{filename}/tasks - 来自看板的所有任务

示例用法

// 创建一个新的看板
await mcpClient.callTool("create_board", {
  name: "Project Alpha",
  description: "Project Alpha的开发看板",
  filename: "alpha.knbn"
});

// 创建一个任务
await mcpClient.callTool("create_task", {
  title: "实现认证",
  description: "添加登录和注册功能",
  column: "待办事项",
  priority: 1,
  storyPoints: 5,
  labels: ["后端", "安全"],
  filename: "alpha.knbn"
});

// 将任务移动到不同的列
await mcpClient.callTool("update_task", {
  id: 1,
  column: "进行中",
  filename: "alpha.knbn"
});

// 获取看板摘要
const summary = await mcpClient.readResource("knbn://board/alpha.knbn/summary");

开发

脚本

  • npm run build - 将TypeScript编译成JavaScript
  • npm test - 运行Jest测试
  • npm run test:watch - 在监视模式下运行测试
  • npm run test:coverage - 生成覆盖率报告

架构

src/
├── server.ts           # 主MCP服务器入口点
├── patch.ts            # MCP SDK扩展
├── tools/              # 按领域组织的MCP工具
│   ├── board/          # 看板管理工具
│   ├── tasks/          # 任务管理工具
│   ├── columns/        # 列管理工具
│   ├── labels/         # 标签管理工具
│   └── sprints/        # 冲刺管理工具
└── resources/          # 用于数据访问的MCP资源
    └── board-resource.ts

测试

测试位于tests/,示例文件在tests/fixtures/。运行测试套件:

npm test

生成覆盖率报告:

npm run test:coverage

看板文件格式

看板数据存储在.knbn文件中,采用结构化格式。MCP服务器自动处理所有文件操作,但您也可以直接使用KnBn CLI与这些文件互动。

贡献

  1. 分叉仓库
  2. 创建功能分支
  3. 进行更改
  4. 为新功能添加测试
  5. 运行测试套件
  6. 提交拉取请求

许可证

MIT许可证 - 查看LICENSE以获取详细信息。

相关项目