异常管理服务器

Honeybadger MCP服务器是一个提供与Honeybadger API交互的工具,专注于检索和管理项目及其异常(故障)。

  • by nachoal
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 nachoal/honeybadger-mcp

使用说明

蜜獾MCP服务器

一个MCP服务器,提供与Honeybager API交互的工具,专注于检索和管理项目及其异常(故障)。

特性

  • 项目管理(列表、创建、更新、删除)
  • 故障(异常)管理
  • 查看故障详细信息和发生情况
  • 更新故障状态(解决、忽略、分配)
  • 暂停和取消暂停故障通知

安装

先决条件

  • Python 3.12+
  • uv(Python包管理器)
  • 克劳德代码CLI

设置步骤

  1. 将此存储库克隆到本地计算机:
git clone https://github.com/yourusername/honeybadger-mcp.git
cd honeybadger-mcp
  1. 使用uv安装依赖项:
uv sync
  1. 重要:创建一个 .env 使用您的Honeybager API令牌在项目目录中的文件:
# Create .env file in the honeybadger-mcp directory
echo "HONEYBADGER_API_TOKEN=your_api_token_here" > .env

⚠️ 备注:The .env 文件必须与位于同一目录中 server.py 以便正确加载令牌。

添加到克劳德代码

选项1:使用Claude CLI(推荐)

claude mcp add honeybadger -s user -- /path/to/uv --directory /path/to/honeybadger-mcp run server.py

例如,如果您克隆到 ~/code/mcp-servers/honeybadger-mcp:

claude mcp add honeybadger -s user -- ~/.cargo/bin/uv --directory ~/code/mcp-servers/honeybadger-mcp run server.py

选项2:手动配置

编辑您的Claude配置文件:

  • macOS/Linux: ~/.claude.json
  • 窗户: %USERPROFILE%\.claude.json

将以下内容添加到 mcpServers 章节:

{
  "mcpServers": {
    "honeybadger": {
      "type": "stdio",
      "command": "/path/to/uv",
      "args": [
        "--directory",
        "/path/to/honeybadger-mcp",
        "run",
        "server.py"
      ],
      "env": {}
    }
  }
}

替换 /path/to/uv 根据您的实际紫外线安装路径(例如。, ~/.cargo/bin/uv)以及 /path/to/honeybadger-mcp 有了这个项目的完整路径。

API代币要求

Honeybager API令牌必须:

  • 是有效的个人访问令牌(不是项目API密钥)
  • 拥有访问数据API的必要权限
  • 与活动帐户关联

您可以在用户设置下的Honeybacker仪表板中查找或创建您的个人访问令牌。有关更多信息,请参阅 Honeybager API文档.

用法

运行服务器

python server.py

验证安装

添加MCP服务器后,验证其是否正常工作:

  1. 重新启动Claude Code或重新加载配置
  2. 在Claude Code中,键入 /mcp 查看可用的MCP服务器
  3. 你应该在列表中看到“蜜獾”
  4. 通过让Claude列出你的Honeybacker项目来进行测试

直接测试API函数

您可以使用附带的test_server.py脚本直接测试API函数:

# Make the script executable
chmod +x test_server.py

# Show help information
./test_server.py --help

# List all projects
./test_server.py projects

# Get details for a specific project
./test_server.py project 12345

# List faults for a project
./test_server.py faults 12345 --query "environment:production -is:resolved"

# Update a fault
./test_server.py update-fault 12345 67890 --resolved true

故障排除

如果您在使用API时遇到403 Forbidden错误:

  1. 验证您的API令牌是否正确并且尚未过期
  2. 请确保您使用的是个人访问令牌,而不是项目API密钥
  3. 检查您的帐户是否具有必要的权限
  4. 确认您的帐户处于活动状态且信誉良好

有关更详细的错误信息,请运行test_server.py脚本,该脚本将显示完整的错误响应。

API工具

服务器提供以下工具:

项目管理

  • get_projects(account_id) -列出所有项目,可选择按帐户筛选
  • get_project(project_id) -获取特定项目的详细信息
  • create_project(name, ...) -创建新项目
  • update_project(project_id, ...) -更新现有项目
  • delete_project(project_id) -删除项目
  • get_project_occurrences(project_id, period, environment) -获取项目的事件数据

故障管理

  • get_faults(project_id, query, limit, order) -列出项目的故障
  • get_fault_details(project_id, fault_id) -获取特定故障的详细信息
  • get_fault_summary(project_id, query) -获取故障汇总统计
  • update_fault(project_id, fault_id, resolved, ignored, assignee_id) -更新故障状态
  • delete_fault(project_id, fault_id) -删除故障
  • get_fault_occurrences(project_id, fault_id, period) -获取随时间变化的事件数据
  • pause_fault_notifications(project_id, fault_id, time, count) -暂停通知
  • unpause_fault_notifications(project_id, fault_id) -未暂停通知
  • bulk_resolve_faults(project_id, query) -一次解决多个故障

示例用法

下面是一个如何与Claude一起使用此服务器的示例:

I want to check the status of exceptions in my Honeybadger project.

Let me list all my projects.

[Claude uses get_projects to list your projects]

I want to see all unresolved exceptions in the production environment for project ID 12345.

[Claude uses get_faults with query="environment:production -is:resolved" to list faults]

Let me get more details about fault ID 67890.

[Claude uses get_fault_details to show fault details]

I'll mark this fault as resolved.

[Claude uses update_fault to resolve the fault]

许可证

麻省理工学院