使用说明

项目简介

Honeybadger MCP服务器是一个桥梁,连接了AI智能体和Honeybadger错误监控服务。它实现了Model Context Protocol (MCP),使得任何兼容MCP协议的客户端(如Claude)都能无缝集成,从而让AI智能体能够查询和分析Honeybadger项目中的错误信息,辅助开发和问题排查。

主要功能点

  • 列出错误 (list_faults): 允许AI智能体检索和过滤Honeybadger项目中的错误。可以根据关键词搜索、按创建或发生时间过滤、按频率或最近程度排序,并支持分页查看结果。
  • 获取错误详情 (get_fault_details): 允许AI智能体获取特定错误的详细信息,包括错误发生的具体时间、堆栈信息等,同样支持按创建时间过滤通知和分页查看。

安装步骤

推荐使用Docker安装,步骤更简洁:

  1. 安装 Docker: 如果您的机器上没有安装 Docker,请先根据您的操作系统安装 Docker。

  2. 拉取镜像并运行: 使用以下命令拉取并运行 Honeybadger MCP 服务器的 Docker 镜像。您需要将 '.env' 文件放置在运行命令的目录下,或者直接在命令中设置环境变量。'.env' 文件内容请参考 服务器配置 部分。

    docker run --env-file .env -p 8050:8050 honeybadger/mcp

或者选择使用 uv (Python 环境) 安装:

  1. 安装 uv: 如果您还没有安装 uv,请先安装 uv。
    pip install uv
  2. 克隆仓库: 将 GitHub 仓库克隆到本地。
    git clone https://github.com/bobtista/honeybadger-mcp.git
    cd honeybadger-mcp
  3. 安装依赖: 使用 uv 安装项目依赖。
    uv pip install -e .
  4. 配置环境变量: 复制 '.env.example' 文件为 '.env',并根据您的 Honeybadger 项目信息编辑 '.env' 文件。'.env' 文件内容请参考 服务器配置 部分。

服务器配置

MCP 客户端需要配置服务器的连接信息才能使用 Honeybadger MCP 服务器。配置信息通常是 JSON 格式,以下是针对不同传输方式 (SSE 和 Stdio) 的配置示例。请将以下 JSON 配置添加到您的 MCP 客户端的服务器配置中 (例如 Claude Desktop 的配置文件)。

1. SSE 传输配置 (推荐):

如果您使用 SSE 传输方式运行 Honeybadger MCP 服务器 (默认方式),请使用以下配置:

{
  "mcpServers": {
    "honeybadger": {
      "transport": "sse",
      "url": "http://localhost:8050/sse"
    }
  }
}

2. Stdio 传输配置:

如果您选择使用 Stdio 传输方式,MCP 客户端可以直接启动服务器进程。请使用以下配置:

{
  "mcpServers": {
    "honeybadger": {
      "command": "honeybadger-mcp-server",
      "args": [
        "--transport",
        "stdio",
        "--api-key",
        "YOUR-HONEYBADGER-API-KEY",  // 替换为您的 Honeybadger API Key
        "--project-id",
        "YOUR-HONEYBADGER-PROJECT-ID" // 替换为您的 Honeybadger Project ID
      ]
    }
  }
}

如果您使用 Docker 运行 Stdio 传输的服务器,可以使用以下配置:

{
  "mcpServers": {
    "honeybadger": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "honeybadger/mcp",
        "--transport",
        "stdio",
        "--api-key",
        "YOUR-HONEYBADGER-API-KEY",  // 替换为您的 Honeybadger API Key
        "--project-id",
        "YOUR-HONEYBADGER-PROJECT-ID" // 替换为您的 Honeybadger Project ID
      ]
    }
  }
}

重要环境变量配置 (.env 文件示例):

Honeybadger MCP 服务器需要以下环境变量进行配置,您可以通过 '.env' 文件或者直接在运行命令时设置。

HONEYBADGER_API_KEY=YOUR-HONEYBADGER-API-KEY  # 您的 Honeybadger API Key (必填)
HONEYBADGER_PROJECT_ID=YOUR-HONEYBADGER-PROJECT-ID # 您的 Honeybadger Project ID (必填)
TRANSPORT=sse # 传输协议,可选 'sse' 或 'stdio',默认为 'sse'
HOST=127.0.0.1 # SSE 传输时绑定的主机地址,默认为 127.0.0.1
PORT=8050 # SSE 传输时监听的端口,默认为 8050
LOG_LEVEL=INFO # 日志级别,可选 INFO, DEBUG, 等,默认为 INFO

基本使用方法

配置完成后,您的 MCP 客户端 (如 Claude) 就可以通过 'list_faults' 和 'get_fault_details' 这两个工具来与 Honeybadger MCP 服务器交互了。

例如,在 Claude 中,您可以指示 Claude 使用 'list_faults' 工具来查询最近发生的错误,或者使用 'get_fault_details' 工具来获取特定错误的详细信息。工具的具体参数可以参考仓库 README.md 中的 "Tool Usage Examples" 部分。

工具调用示例 (在 MCP 客户端中):

# 列出错误示例
result = await client.call_tool("list_faults", {
    "q": "DatabaseError",           # 可选,搜索关键词
    "created_after": 1710806400,  # 可选,Unix 时间戳,筛选创建时间之后的错误
    "limit": 10,                  # 可选,返回结果数量限制
    "order": "recent"             # 可选,排序方式,'recent' (最近发生) 或 'frequent' (最频繁)
})

# 获取错误详情示例
result = await client.call_tool("get_fault_details", {
    "fault_id": "错误ID",        # 必填,要查询的错误 ID
    "limit": 5                    # 可选,返回通知数量限制
})

请根据您的 MCP 客户端的具体使用方式来调用这些工具。

信息

分类

开发者工具