返回市场
回溯-MCP-服务器-锈钢

回溯-MCP-服务器-锈钢

作者:safx11 星标更新:2025-10-07

项目介绍

Backlog MCP Server (mcp-backlog-server)

mcp-backlog-server 是一个用于与 Backlog API 进行交互的 Model Context Protocol (MCP) 服务器。此服务器允许兼容 MCP 的客户端(如 AI 助手)使用 Backlog 功能。

安装

使用 Homebrew(推荐用于 macOS/Linux)

最简单的安装方式是通过 Homebrew:

# 添加 tap(仅需一次)
brew tap safx/tap

# 安装工具
brew install mcp-backlog-server  # 用于 AI 助手的 MCP 服务器
brew install blg                 # Backlog 命令行工具(可选)

更新到最新版本:

brew update
brew upgrade mcp-backlog-server
brew upgrade blg

卸载:

brew uninstall mcp-backlog-server
brew uninstall blg
brew untap safx/tap  # 可选:移除 tap

其他安装方法

对于其他平台或不希望使用 Homebrew 的情况:

  • 预构建二进制文件:从 发布页面 下载
  • 从源代码构建:克隆仓库并运行 cargo build --release

示例配置用于 MCP 客户端

Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "backlog": {
      "command": "/path/to/target/release/mcp-backlog-server",
      "args": [],
      "env": {
        "BACKLOG_BASE_URL": "https://your-space.backlog.com",
        "BACKLOG_API_KEY": "YOUR_BACKLOG_API_KEY",
        "BACKLOG_PROJECTS": "PROJ,DEMO",
        "BACKLOG_PREFIX": "backlog_"
      }
    }
  }
}

Cline

在您的 Cline MCP 配置中添加以下内容:

{
  "mcpServers": {
    "backlog_mcp_server": {
      "autoApprove": [],
      "disabled": false,
      "timeout": 60,
      "command": "/path/to/target/release/mcp-backlog-server",
      "args": [],
      "env": {
        "BACKLOG_BASE_URL": "https://your-space.backlog.com",
        "BACKLOG_API_KEY": "YOUR_BACKLOG_API_KEY",
        "BACKLOG_PROJECTS": "PROJ,DEMO",
        "BACKLOG_PREFIX": "backlog_"
      },
      "transportType": "stdio"
    }
  }
}

Gemini CLI

~/.gemini/settings.json:

{
  "mcpServers": {
    "backlog_mcp_server": {
      "command": "/path/to/target/release/mcp-backlog-server",
      "timeout": 10000,
      "args": [],
      "env": {
        "BACKLOG_BASE_URL": "https://your-space.backlog.com",
        "BACKLOG_API_KEY": "YOUR_BACKLOG_API_KEY",
        "BACKLOG_PROJECTS": "PROJ,DEMO",
        "BACKLOG_PREFIX": "backlog_"
      }
    }
  }
}

注意:域名必须是 backlog.combacklog.jpbacklogtool.com

可用工具

以下工具按其所属模块分组:

工具概要

默认配置下,您有访问 34 个工具 来实现 Backlog 自动化:

  • 文档(3 个工具):查看文档树、获取详细信息、下载附件
  • Git/拉取请求(8 个工具):管理仓库、PR、评论和附件
  • 问题(12 个工具):查看、创建、更新问题,管理评论、附件、共享文件和优先级
  • 项目(3 个工具):获取项目状态、问题类型和自定义字段定义
  • 共享文件(2 个工具):浏览和下载项目共享文件
  • 用户(1 个工具):列出空间用户
  • 维基(5 个工具):管理维基页面、附件和内容更新

该服务器包括用于收集信息的 读操作 和用于执行操作的 写操作

注意:工具名称遵循 category_resource_action 模式(例如,issue_details_getwiki_update),以支持基于类别的过滤,如 --allowedTools "mcp__backlog__issue_*"

文档工具

  • document_details_get:检索特定 Backlog 文档的详细信息
  • document_attachment_download:下载文档附件
  • document_tree_get:获取指定项目的文档树

Git 工具

  • git_repository_list_get:获取指定项目的 Git 仓库列表
  • git_repository_details_get:获取特定 Git 仓库的详细信息
  • git_pr_list_get:获取指定仓库的拉取请求列表
  • git_pr_details_get:获取特定拉取请求的详细信息
  • git_pr_attachment_list_get:获取特定拉取请求的附件列表
  • git_pr_comment_list_get:获取特定拉取请求的评论列表
  • git_pr_attachment_download:下载拉取请求附件
  • git_pr_comment_add:向特定拉取请求添加评论

问题工具

  • issue_details_get:检索特定 Backlog 问题的详细信息
  • issue_milestone_list_get:检索指定项目的版本(里程碑)列表
  • issue_list_by_milestone_get:检索与指定里程碑关联的问题列表
  • issue_update:更新 Backlog 问题,包括摘要、描述和自定义字段
  • issue_comment_list_get:获取特定问题的评论
  • issue_attachment_list_get:获取指定问题的附件列表
  • issue_attachment_download:下载问题附件
  • issue_shared_file_list_get:获取与指定问题链接的共享文件列表
  • issue_comment_update:更新 Backlog 问题上的现有评论
  • issue_add:在 Backlog 项目中创建新问题,支持自定义字段
  • issue_comment_add:向特定问题添加评论
  • issue_priority_list_get:获取空间中可用的优先级类型列表

项目工具

  • project_status_list_get:获取指定项目的状态列表
  • project_issue_type_list_get:获取指定项目的问题类型列表
  • project_custom_field_list_get:获取指定项目的自定义字段定义列表

共享文件工具

  • file_shared_list_get:获取指定项目目录的共享文件列表
  • file_shared_download:下载共享文件

用户工具

  • user_list_get:获取空间中的用户列表

维基工具

  • wiki_list_get:获取维基页面列表
  • wiki_details_get:获取特定维基页面的详细信息
  • wiki_attachment_list_get:获取特定维基页面的附件列表
  • wiki_attachment_download:从维基页面下载附件
  • wiki_update:更新维基页面

文件下载功能

所有文件下载工具(document_attachment_downloadissue_attachment_downloadgit_pr_attachment_downloadwiki_attachment_downloadfile_shared_download)支持格式检测和处理:

格式检测

  • 图像:具有 image/* 内容类型的文件被检测并作为 base64 编码的图像通过 rmcp::model::Content::image 返回
  • 文本:具有基于文本的内容类型(text/*application/jsonapplication/xml 等)或包含有效 UTF-8 文本的文件作为纯文本通过 rmcp::model::Content::text 返回
  • 原始字节:所有其他文件作为带有 base64 编码内容、文件名和 MIME 类型的 JSON 对象返回

手动格式覆盖

您可以使用可选的 format 参数明确指定格式:

  • "image":强制作为图像处理(验证内容类型)
  • "text":强制作为文本处理(验证 UTF-8 编码)
  • "raw":强制作为原始字节处理(无验证)

内容类型检测

系统使用多种策略来确定文件是否为文本:

  • 分析 Content-Type 头
  • 检查 UTF-8 有效性
  • 字符组成分析(图形字符、空白字符和有效的 UTF-8 字符)

如何构建

# 默认构建(包括所有可写功能)
cargo build --package mcp-backlog-server

特性标志

MCP 服务器支持多个特性标志以启用不同的写操作:

  • issue_writable(默认启用)

    • 启用:issue_updateissue_comment_updateissue_addissue_comment_add 工具
    • 允许 AI 代理创建问题、修改问题内容和管理评论
  • git_writable(默认启用)

    • 启用:git_pr_comment_add 工具
    • 允许 AI 代理向拉取请求添加评论
  • wiki_writable(默认启用)

    • 启用:wiki_update 工具
    • 允许 AI 代理更新维基页面内容、名称和通知设置

构建配置

# 仅读模式(无写操作)
cargo build --package mcp-backlog-server --no-default-features

# 选择性特性
cargo build --package mcp-backlog-server --features issue_writable
cargo build --package mcp-backlog-server --features "issue_writable,git_writable"
cargo build --package mcp-backlog-server --features "issue_writable,git_writable,wiki_writable"

配置

要运行此服务器,必须设置以下环境变量:

  • BACKLOG_BASE_URL:您的 Backlog 空间的 URL(例如,https://your-space.backlog.com
  • BACKLOG_API_KEY:您的 Backlog API 密钥。您可以在 Backlog 的个人设置页面中生成一个。

可选环境变量:

  • BACKLOG_PROJECTS:允许的项目键的逗号分隔列表(例如,MFP,DEMO,TEST)。当设置时,服务器将仅允许访问指定的项目。如果没有设置,则所有可通过 API 密钥访问的项目都可用。
  • BACKLOG_PREFIX:工具名称的自定义前缀(默认:backlog_)。例如,设置 BACKLOG_PREFIX="" 将移除前缀,使工具可以通过 issue_details_get 而不是 backlog_issue_details_get 访问。设置 BACKLOG_PREFIX="my_" 将工具更改为 my_issue_details_get

这些环境变量预计会在启动服务器时由 MCP 客户端系统传递。

运行(用于本地测试)

设置环境变量后,可以使用以下命令直接运行服务器:

# 默认运行,包含所有特性
BACKLOG_BASE_URL="https://your-space.backlog.com" \
BACKLOG_API_KEY="your_backlog_api_key" \
cargo run --package mcp-backlog-server