分布式问题跟踪服务器

一个基于Git的分布式问题跟踪服务器,提供创建、列出、显示、删除问题以及管理评论和状态的功能。

  • by tobihans
  • Go
  • 本地部署
  • 更新于
在 GitHub 查看 tobihans/gitbug-mcp

使用说明

Git Bug MCP服务器

[!小心] 使用风险自负。 我还没有检查代码。这只是我的一个实验。

一个(vibe编码的)模型上下文协议(MCP)服务器,提供与以下对象交互的工具 git bug,一个嵌入Git的分布式bug跟踪器。

特性

服务器提供以下MCP工具:

核心问题管理

  1. create_issue -创建新bug

    • 参数: title (必填), message (必填)
    • 创建一个带有标题和描述的新bug
  2. list_issues -使用可选过滤列出错误

    • 参数: status, author, label, format, query (全部可选)
    • 支持按状态(打开/关闭)、作者、标签和自定义查询进行筛选
  3. show_issue -显示特定错误的详细信息

    • 参数: bug_id (必填), format, field (可选)
    • 显示完整的错误详细信息或特定字段
  4. delete_issue -从存储库中删除错误

    • 参数: bug_id (必填)
    • 永久删除bug(注意:这仅适用于桥接导入的bug)

评论管理

  1. add_comment -为现有bug添加注释
    • 参数: bug_id (必填), message (必填)
    • 为指定的bug添加新注释

状态管理

  1. update_issue_status -更改错误状态
    • 参数: bug_id (必填), status (必填:“打开”或“关闭”)
    • 打开或关闭指定的错误

产权管理

  1. update_issue_title -编辑bug标题
    • 参数: bug_id (必填), title (必填)
    • 更新指定错误的标题

安装

  1. 确保你有 git-bug 已安装并在PATH中可用
  2. 构建MCP服务器:
    go build -o gitbug-mcp
    

用法

作为独立的MCP服务器

使用stdio传输运行服务器:

./gitbug-mcp

使用克劳德桌面

添加到您的Claude Desktop配置(claude_desktop_config.json):

{
  "mcpServers": {
    "gitbug-mcp": {
      "command": "/path/to/gitbug-mcp",
      "args": []
    }
  }
}

工具使用示例

创建新问题:

{
  "tool": "create_issue",
  "arguments": {
    "title": "Bug in authentication flow",
    "message": "Users cannot login with valid credentials on the production environment."
  }
}

列出所有未决问题:

{
  "tool": "list_issues",
  "arguments": {
    "status": "open",
    "format": "default"
  }
}

显示问题详细信息:

{
  "tool": "show_issue",
  "arguments": {
    "bug_id": "abc123def456",
    "format": "default"
  }
}

添加评论:

{
  "tool": "add_comment",
  "arguments": {
    "bug_id": "abc123def456",
    "message": "I can reproduce this issue on my machine."
  }
}

关闭问题:

{
  "tool": "update_issue_status",
  "arguments": {
    "bug_id": "abc123def456",
    "status": "closed"
  }
}

需求

  • 转到1.25.1或更高版本
  • git-bug 已安装并位于PATH中
  • 初始化了git bug的git仓库

安全说明

  • 服务器执行 git-bug 命令与 GIT_BUG_NON_INTERACTIVE=1 防止交互式提示
  • 所有命令都在上下文取消支持下执行
  • 服务器对输入进行消毒,但依赖于git bug自己的安全模型

错误处理

所有工具都返回结构化错误响应:

  • 成功:返回包含相关数据的工具结果
  • 错误:返回一条错误消息,详细说明问题所在

发展

要修改或扩展服务器,请执行以下操作:

  1. 按照现有模式添加新的工具功能
  2. 将它们注册到 registerTools()
  3. 使用正确的JSON模式标记更新参数结构
  4. 使用您的MCP客户端进行测试

许可证

MIT许可证-有关详细信息,请参阅许可证文件。