
Honeybadger
β 1from bobtista
Interact with the Honeybadger API for error monitoring and reporting using LLMs.
Honeybadger MCP Server
A Model Context Protocol (MCP) server implementation for interacting with the Honeybadger API. This server allows AI agents to fetch and analyze error data from your Honeybadger projects.
Overview
This MCP server provides a bridge between AI agents and the Honeybadger error monitoring service. It follows the best practices laid out by Anthropic for building MCP servers, allowing seamless integration with any MCP-compatible client.
Features
The server provides two essential tools for interacting with Honeybadger:
-
list_faults: List and filter faults from your Honeybadger project- Search by text query
- Filter by creation or occurrence timestamps
- Sort by frequency or recency
- Paginate results
-
get_fault_details: Get detailed information about specific faults- Filter notices by creation time
- Paginate through notices
- Results ordered by creation time descending
Integration with MCP Clients
SSE Configuration
Once you have the server running with SSE transport, you can connect to it using this configuration:
{
"mcpServers": {
"honeybadger": {
"transport": "sse",
"url": "http://localhost:8050/sse"
}
}
}Claude Desktop Configuration
Using SSE Transport (Recommended)
First, start the server:
honeybadger-mcp-server --api-key your-key --project-id your-projectThen add to your Claude Desktop config:
{
"mcpServers": {
"honeybadger": {
"transport": "sse",
"url": "http://localhost:8050/sse"
}
}
}Using Stdio Transport
Add to your Claude Desktop config:
{
"mcpServers": {
"honeybadger": {
"command": "uv",
"args": [
"run",
"--project",
"/path/to/honeybadger-mcp",
"src/honeybadger_mcp_server/server.py",
"--transport",
"stdio",
"--api-key",
"YOUR-API-KEY",
"--project-id",
"YOUR-PROJECT-ID"
]
}
}
}Docker Configuration
{
"mcpServers": {
"honeybadger": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"honeybadger/mcp",
"--transport",
"stdio",
"--api-key",
"YOUR-API-KEY",
"--project-id",
"YOUR-PROJECT-ID"
]
}
}
}Development
Running Tests
# Install dev dependencies
uv pip install -e ".[dev]"
# Run tests
pytestCode Quality
# Run type checker
pyright
# Run linter
ruff check .Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
pip install uvPrerequisites
- Python 3.10+
- Honeybadger API key and Project ID
- Docker if running the MCP server as a container (recommended)
Installation
Using uv
-
Install uv if you don't have it:
pip install uv -
Clone this repository:
git clone https://github.com/bobtista/honeybadger-mcp.git cd honeybadger-mcp -
Install dependencies:
uv pip install -e . -
Install development dependencies (optional):
uv pip install -e ".[dev]" -
Create your environment file:
cp .env.example .env # Edit .env with your configuration
Using Docker (Recommended)
-
Build the Docker image:
docker build -t honeybadger/mcp --build-arg PORT=8050 . -
Create a
.envfile and configure your environment variables
Configuration
You can configure the server using either environment variables or command-line arguments:
| Option | Env Variable | CLI Argument | Default | Description |
|---|---|---|---|---|
| API Key | HONEYBADGER_API_KEY | --api-key | Required | Your Honeybadger API key |
| Project ID | HONEYBADGER_PROJECT_ID | --project-id | Required | Your Honeybadger project ID |
| Transport | TRANSPORT | --transport | sse | Transport protocol (sse or stdio) |
| Host | HOST | --host | 127.0.0.1 | Host to bind to when using SSE transport |
| Port | PORT | --port | 8050 | Port to listen on when using SSE transport |
| Log Level | LOG_LEVEL | --log-level | INFO | Logging level (INFO, DEBUG, etc.) |
Running the Server
Running with uv (Development)
SSE Transport (Default)
# Using environment variables:
HONEYBADGER_API_KEY=your-key HONEYBADGER_PROJECT_ID=your-project uv run src/honeybadger_mcp_server/server.py
# Using CLI arguments:
uv run src/honeybadger_mcp_server/server.py --api-key your-key --project-id your-projectUsing Stdio
uv run src/honeybadger_mcp_server/server.py --transport stdio --api-key your-key --project-id your-projectRunning Installed Package
SSE Transport (Default)
# Using environment variables:
HONEYBADGER_API_KEY=your-key HONEYBADGER_PROJECT_ID=your-project honeybadger-mcp-server
# Using CLI arguments:
honeybadger-mcp-server --api-key your-key --project-id your-projectUsing Stdio
honeybadger-mcp-server --transport stdio --api-key your-key --project-id your-projectUsing Docker
Run with SSE
docker run --env-file .env -p 8050:8050 honeybadger/mcpUsing Stdio
With stdio, the MCP client itself can spin up the MCP server container, so nothing to run at this point.
Tool Usage Examples
List Faults
result = await client.call_tool("list_faults", {
"q": "RuntimeError", # Optional search term
"created_after": 1710806400, # Unix timestamp (2024-03-19T00:00:00Z)
"occurred_after": 1710806400, # Filter by occurrence time
"limit": 10, # Max 25 results
"order": "recent" # 'recent' or 'frequent'
})Get Fault Details
result = await client.call_tool("get_fault_details", {
"fault_id": "abc123",
"created_after": 1710806400, # Unix timestamp
"created_before": 1710892800, # Optional end time
"limit": 5 # Number of notices (max 25)
})No common issues documented yet. If you hit a problem, the repository's GitHub Issues page is the best place to look.