Honeybadger
Interactúa con la API de Honeybadger para la monitorización y reporte de errores usando LLMs.
Documentación
Servidor MCP de Honeybadger
Una implementación de servidor de Protocolo de Contexto de Modelo (MCP) para interactuar con la API de Honeybadger. Este servidor permite a los agentes de IA obtener y analizar datos de errores de tus proyectos de Honeybadger.
Descripción general
Este servidor MCP proporciona un puente entre los agentes de IA y el servicio de monitoreo de errores de Honeybadger. Sigue las mejores prácticas establecidas por Anthropic para construir servidores MCP, permitiendo una integración perfecta con cualquier cliente compatible con MCP.
Características
El servidor proporciona dos herramientas esenciales para interactuar con Honeybadger:
-
list_faults: Lista y filtra fallos de tu proyecto de Honeybadger- Busca por consulta de texto
- Filtra por marcas de tiempo de creación u ocurrencia
- Ordena por frecuencia o actualidad
- Pagina los resultados
-
get_fault_details: Obtén información detallada sobre fallos específicos- Filtra avisos por tiempo de creación
- Pagina a través de los avisos
- Resultados ordenados por tiempo de creación descendente
Requisitos previos
- Python 3.10+
- Clave de API de Honeybadger e ID de proyecto
- Docker si se ejecuta el servidor MCP como contenedor (recomendado)
Instalación
Usando uv
-
Instala uv si no lo tienes:
pip install uv -
Clona este repositorio:
git clone https://github.com/bobtista/honeybadger-mcp.git cd honeybadger-mcp -
Instala las dependencias:
uv pip install -e . -
Instala las dependencias de desarrollo (opcional):
uv pip install -e ".[dev]" -
Crea tu archivo de entorno:
cp .env.example .env # Edit .env with your configuration
Usando Docker (Recomendado)
-
Construye la imagen de Docker:
docker build -t honeybadger/mcp --build-arg PORT=8050 . -
Crea un archivo
.envy configura tus variables de entorno
Configuración
Puedes configurar el servidor usando variables de entorno o argumentos de línea de comandos:
| Opción | Variable de Entorno | Argumento CLI | Predeterminado | Descripción |
|---|---|---|---|---|
| Clave de API | HONEYBADGER_API_KEY | --api-key | Requerido | Tu clave de API de Honeybadger |
| ID de Proyecto | HONEYBADGER_PROJECT_ID | --project-id | Requerido | Tu ID de proyecto de Honeybadger |
| Transporte | TRANSPORT | --transport | sse | Protocolo de transporte (sse o stdio) |
| Host | HOST | --host | 127.0.0.1 | Host al que vincularse al usar transporte SSE |
| Puerto | PORT | --port | 8050 | Puerto para escuchar al usar transporte SSE |
| Nivel de Registro | LOG_LEVEL | --log-level | INFO | Nivel de registro (INFO, DEBUG, etc.) |
Ejecutando el Servidor
Ejecutando con uv (Desarrollo)
Transporte SSE (Predeterminado)
# 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-project
Usando Stdio
uv run src/honeybadger_mcp_server/server.py --transport stdio --api-key your-key --project-id your-project
Ejecutando el Paquete Instalado
Transporte SSE (Predeterminado)
# 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-project
Usando Stdio
honeybadger-mcp-server --transport stdio --api-key your-key --project-id your-project
Usando Docker
Ejecutar con SSE
docker run --env-file .env -p 8050:8050 honeybadger/mcp
Usando Stdio
Con stdio, el propio cliente MCP puede iniciar el contenedor del servidor MCP, por lo que no hay nada que ejecutar en este punto.
Integración con Clientes MCP
Configuración SSE
Una vez que tengas el servidor ejecutándose con transporte SSE, puedes conectarte a él usando esta configuración:
{
"mcpServers": {
"honeybadger": {
"transport": "sse",
"url": "http://localhost:8050/sse"
}
}
}
Configuración de Claude Desktop
Usando Transporte SSE (Recomendado)
Primero, inicia el servidor:
honeybadger-mcp-server --api-key your-key --project-id your-project
Luego agrega a tu configuración de Claude Desktop:
{
"mcpServers": {
"honeybadger": {
"transport": "sse",
"url": "http://localhost:8050/sse"
}
}
}
Usando Transporte Stdio
Agrega a tu configuración de Claude Desktop:
{
"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"
]
}
}
}
Configuración de Docker
{
"mcpServers": {
"honeybadger": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"honeybadger/mcp",
"--transport",
"stdio",
"--api-key",
"YOUR-API-KEY",
"--project-id",
"YOUR-PROJECT-ID"
]
}
}
}
Ejemplos de Uso de Herramientas
Listar Fallos
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'
})
Obtener Detalles de un Fallo
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)
})
Desarrollo
Ejecutando Pruebas
# Install dev dependencies
uv pip install -e ".[dev]"
# Run tests
pytest
Calidad del Código
# Run type checker
pyright
# Run linter
ruff check .
Contribuciones
¡Las contribuciones son bienvenidas! No dudes en enviar una Solicitud de Extracción (Pull Request).