项目简介
Backlog MCP 服务器是基于 Model Context Protocol (MCP) 实现的应用后端,专门用于与 Nulab 的 Backlog 服务进行交互。它将 Backlog 的各种 API 功能封装成标准化工具,供支持 MCP 的大型语言模型(LLM)客户端(如 Claude Desktop, Cline, Cursor 等)调用,从而 enabling AI 代理以智能化的方式管理您的 Backlog 项目。
主要功能点
- 全面的 Backlog 功能集成: 支持对 Backlog 中的项目、任务(Issue)、Wiki 页面、Git 仓库、Pull Request、通知、关注列表等进行创建、读取、更新、删除、搜索等操作。
- 丰富的工具集: 提供了多达数十个细粒度的工具,覆盖 Backlog 的核心使用场景,例如:
- 获取项目列表、添加/更新/删除项目、获取项目详情。
- 获取任务列表、添加/更新/删除任务、获取任务计数、获取任务详情、管理任务评论。
- 获取 Wiki 页面列表、获取 Wiki 计数、获取 Wiki 详情、添加 Wiki 页面。
- 获取 Git 仓库列表、获取 Git 仓库详情。
- 获取 Pull Request 列表、获取 Pull Request 计数、获取 Pull Request 详情、添加/更新 Pull Request、管理 Pull Request 评论。
- 获取通知、通知计数、标记通知为已读、重置未读通知计数。
- 获取关注列表项目、关注列表计数。
- 获取用户、优先级、分辨率、任务类型、类别等元数据。
- 响应优化: 支持类似 GraphQL 的字段选择,减少响应数据量;支持令牌限制,防止响应过大超出 LLM 的上下文窗口。
- 多语言支持: 支持通过配置文件或环境变量覆盖工具描述,方便本地化(已提供日语翻译模板)。
- 标准协议通信: 通过 Stdio 传输协议与 MCP 客户端进行 JSON-RPC 通信。
安装步骤
运行 Backlog MCP 服务器需要 Docker 或 Node.js 环境以及一个有效的 Backlog 账号和 API 密钥。
- 获取 Backlog API Key: 登录您的 Backlog 空间,在“个人设置” -> “API” 页面生成或获取您的 API 密钥。
- 选择安装方式:
- 推荐方式 (使用 Docker): 这是最便捷的方式,无需手动安装 Node.js 环境。确保您的系统安装了 Docker。
- 手动安装 (使用 Node.js): 如果您偏好 Node.js 环境,需要先安装 Node.js 和 npm,然后克隆仓库并构建项目。
服务器配置 (在 MCP 客户端中配置)
MCP 服务器是供 MCP 客户端调用的。您需要在您的 LLM 客户端(如 Claude Desktop, Cline 等)的 MCP 配置界面添加 Backlog MCP 服务器的配置。配置通常是 JSON 格式,关键信息包括:
- 'server name':MCP 服务器的唯一标识名称,例如 '"backlog"'。
- 'command':用于启动 Backlog MCP 服务器的可执行命令。
- 如果使用 Docker:填写 '"docker"'。
- 如果手动安装:填写 '"node"'。
- 'args':传递给启动命令的参数列表。
- 如果使用 Docker:填写 '["run", "-i", "--rm", "-e", "BACKLOG_DOMAIN", "-e", "BACKLOG_API_KEY", "ghcr.io/nulab/backlog-mcp-server"]'。这些参数告诉 Docker 以后台交互模式运行一次性的容器,并将 'BACKLOG_DOMAIN' 和 'BACKLOG_API_KEY' 两个环境变量从宿主机传递到容器中。您可能还需要添加其他 '-e' 参数来传递可选的环境变量(如 'MAX_TOKENS', 'OPTIMIZE_RESPONSE'),或使用 '-v' 参数挂载配置文件以实现多语言支持或覆盖默认配置。
- 如果手动安装:填写 '["路径/到/backlog-mcp-server/build/index.js"]'。这是指向服务器主脚本的路径。
- 'env':MCP 客户端在启动服务器进程时设置的环境变量。这是传递 Backlog 域名和 API 密钥的主要方式。您需要在此处设置您的 'BACKLOG_DOMAIN' (例如 '"your-domain.backlog.com"') 和 'BACKLOG_API_KEY' (您的 API 密钥)。同时,可以在此设置可选的 'MAX_TOKENS' (例如 '"10000"') 和 'OPTIMIZE_RESPONSE' (例如 '"true"') 环境变量来调整响应行为。
请参考您的 MCP 客户端的具体文档来添加和编辑 MCP 服务器配置。务必将配置中的占位符(如 'your-domain.backlog.com', 'your-api-key', '路径/到/...')替换为您的实际值。
基本使用方法
一旦在您的 MCP 客户端中成功配置并连接了 Backlog MCP 服务器,AI 代理就能够识别并调用服务器暴露的工具。您可以通过自然语言与 AI 交互来执行 Backlog 操作:
- 获取项目列表: “列出我的所有 Backlog 项目。” AI 可能会调用 'get_project_list' 工具。
- 创建新任务: “在项目 XYZ 中创建一个类型为 Bug、优先级为高、标题是 '修复首页按钮' 的任务。” AI 可能会调用 'add_issue' 工具,并填充相应的参数。
- 获取任务详情: “显示任务 ABC-123 的详细信息。” AI 可能会调用 'get_issue' 工具。
- 添加评论: “在任务 XYZ-456 的评论中补充一下测试步骤。” AI 可能会调用 'add_issue_comment' 工具。
- 使用字段选择 (如果开启了 OPTIMIZE_RESPONSE): “显示项目 PQR 的详情,只包括它的名称和项目键。” AI 可能会调用 'get_project' 工具,并传入 'fields: "{ name projectKey }"' 参数。
AI 代理会根据您的请求选择合适的工具,并向 MCP 服务器发送相应的 JSON-RPC 调用。服务器执行操作后,将结果返回给 AI,AI 再将结果以用户友好的方式呈现给您。
信息
分类
开发者工具