项目简介

Honeybadger MCP 服务器是一个基于Model Context Protocol (MCP) 标准的应用后端,旨在将Honeybadger的错误监控、正常运行时间监控和各种应用状态的API功能,以一种LLM友好的方式提供给支持MCP的客户端(如AI编码助手)。它允许LLM直接查询项目状态、故障详情,甚至管理项目(如果启用写入权限),从而实现自动化的问题诊断和响应。

主要功能点

  • 项目管理: 获取所有项目列表、查询单个项目详情、创建、更新及删除项目(需启用写入模式)。
  • 故障监控: 获取项目故障列表、查询单个故障的详细信息、查看故障通知及受影响用户列表、获取故障统计计数。
  • 报告生成: 获取项目报告数据,如按类别、位置、用户或日期统计的通知。
  • 安全控制: 支持只读模式,默认禁用所有写入操作,确保数据安全。
  • 配置灵活: 可通过环境变量、命令行参数或配置文件配置API令牌、日志级别和API URL。

安装步骤

  1. 拉取Docker镜像:
    docker pull ghcr.io/honeybadger-io/honeybadger-mcp-server:latest
  2. 获取Honeybadger个人认证令牌: 访问您的Honeybadger用户设置页面的“Authentication”标签页,找到您的个人认证令牌。

服务器配置

MCP客户端需要配置一个MCP服务器才能与之交互。以下是常见MCP客户端的配置示例,您只需要将'your personal auth token'替换为您自己的令牌即可。

  • 对于Cursor、Windsurf或Claude Desktop: 将以下JSON片段添加到您的MCP配置文件中(通常位于'~/.cursor/mcp.json'、'~/.codeium/windsurf/mcp_config.json'或'claude_desktop_config.json')。

    {
      "mcpServers": {
        "honeybadger": {
          "command": "docker",
          "args": [
            "run",
            "-i",
            "--rm",
            "-e",
            "HONEYBADGER_PERSONAL_AUTH_TOKEN",
            "ghcr.io/honeybadger-io/honeybadger-mcp-server"
          ],
          "env": {
            "HONEYBADGER_PERSONAL_AUTH_TOKEN": "your personal auth token" // 替换为您的Honeybadger个人认证令牌
          }
        }
      }
    }

    此配置指定使用Docker命令启动Honeybadger MCP服务器,并通过环境变量传递您的Honeybadger个人认证令牌。

  • 对于Claude Code: 在命令行运行以下命令来添加服务器配置:

    claude mcp add honeybadger -- docker run -i --rm -e HONEYBADGER_PERSONAL_AUTH_TOKEN="your personal auth token" ghcr.io/honeybadger-io/honeybadger-mcp-server:latest

    此命令通过Claude Code CLI直接配置Docker容器启动服务器,并传递认证令牌。

  • 对于VS Code: 将以下JSON片段添加到您的用户设置 ('settings.json') 或工作区设置 ('.vscode/mcp.json') 中。VS Code会提示您输入认证令牌。

    {
      "mcp": {
        "inputs": [
          {
            "type": "promptString",
            "id": "honeybadger_auth_token",
            "description": "Honeybadger Personal Auth Token",
            "password": true
          }
        ],
        "servers": {
          "honeybadger": {
            "command": "docker",
            "args": [
              "run",
              "-i",
              "--rm",
              "-e",
              "HONEYBADGER_PERSONAL_AUTH_TOKEN",
              "ghcr.io/honeybadger-io/honeybadger-mcp-server"
            ],
            "env": {
              "HONEYBADGER_PERSONAL_AUTH_TOKEN": "${input:honeybadger_auth_token}" // VS Code会自动提示您输入令牌
            }
          }
        }
      }
    }

    此配置指示VS Code在启动MCP服务器时提示用户输入认证令牌,并将其作为环境变量传递。

  • 对于Zed: 将以下JSON片段添加到您的Zed设置文件 ('~/.config/zed/settings.json') 中。

    {
      "context_servers": {
        "honeybadger": {
          "command": {
            "path": "docker",
            "args": [
              "run",
              "-i",
              "--rm",
              "-e",
              "HONEYBADGER_PERSONAL_AUTH_TOKEN",
              "ghcr.io/honeybadger-io/honeybadger-mcp-server"
            ],
            "env": {
              "HONEYBADGER_PERSONAL_AUTH_TOKEN": "your personal auth token" // 替换为您的Honeybadger个人认证令牌
            }
          },
          "settings": {}
        }
      }
    }

    此配置定义了一个名为'honeybadger'的上下文服务器,并通过Docker命令启动并传递认证令牌。

  • 启用写入操作(可选且谨慎): 默认情况下,服务器以只读模式运行,禁止'create_project'、'update_project'、'delete_project'等修改操作。如需启用写入操作,可在Docker命令中添加环境变量'-e HONEYBADGER_READ_ONLY=false'。 示例 (Docker):

    {
      "mcpServers": {
        "honeybadger": {
          "command": "docker",
          "args": [
            "run",
            "-i",
            "--rm",
            "-e",
            "HONEYBADGER_PERSONAL_AUTH_TOKEN",
            "-e",
            "HONEYBADGER_READ_ONLY=false", // <-- 添加此行以启用写入操作
            "ghcr.io/honeybadger-io/honeybadger-mcp-server"
          ],
          "env": {
            "HONEYBADGER_PERSONAL_AUTH_TOKEN": "your personal auth token"
          }
        }
      }
    }

基本使用方法

一旦MCP客户端(如Cursor、Claude Code等)配置并连接了Honeybadger MCP服务器,LLM就可以通过自然语言请求访问Honeybadger的数据和功能。例如:

  • "列出我所有在Honeybadger上的项目。"
  • "查询项目ID为123的详细信息。"
  • "查看项目123中最新发生的5个故障。"
  • "获取项目456中名为'NoMethodError'的故障的受影响用户列表。"
  • "如果启用了写入模式,可以尝试:创建一个名为'New Webapp'的新Honeybadger项目。" LLM会根据其对工具的理解,将您的自然语言请求转换为对服务器内部工具的调用,并返回相应结果。

信息

分类

开发者工具