Honeybadger
Interaja com a API do Honeybadger para monitoramento e relatório de erros usando LLMs.
Documentação
Servidor MCP Honeybadger
Uma implementação de servidor Model Context Protocol (MCP) para interagir com a API do Honeybadger. Este servidor permite que agentes de IA busquem e analisem dados de erros dos seus projetos Honeybadger.
Visão Geral
Este servidor MCP fornece uma ponte entre agentes de IA e o serviço de monitoramento de erros Honeybadger. Ele segue as melhores práticas estabelecidas pela Anthropic para construir servidores MCP, permitindo integração perfeita com qualquer cliente compatível com MCP.
Recursos
O servidor fornece duas ferramentas essenciais para interagir com o Honeybadger:
-
list_faults: Liste e filtre falhas do seu projeto Honeybadger- Pesquise por consulta de texto
- Filtre por timestamps de criação ou ocorrência
- Ordene por frequência ou recência
- Pagine os resultados
-
get_fault_details: Obtenha informações detalhadas sobre falhas específicas- Filtre notificações por horário de criação
- Pagine pelas notificações
- Resultados ordenados por horário de criação em ordem decrescente
Pré-requisitos
- Python 3.10+
- Chave de API Honeybadger e ID do Projeto
- Docker se estiver executando o servidor MCP como contêiner (recomendado)
Instalação
Usando uv
-
Instale o uv se você não o tiver:
pip install uv -
Clone este repositório:
git clone https://github.com/bobtista/honeybadger-mcp.git cd honeybadger-mcp -
Instale as dependências:
uv pip install -e . -
Instale as dependências de desenvolvimento (opcional):
uv pip install -e ".[dev]" -
Crie seu arquivo de ambiente:
cp .env.example .env # Edit .env with your configuration
Usando Docker (Recomendado)
-
Construa a imagem Docker:
docker build -t honeybadger/mcp --build-arg PORT=8050 . -
Crie um arquivo
.enve configure suas variáveis de ambiente
Configuração
Você pode configurar o servidor usando variáveis de ambiente ou argumentos de linha de comando:
| Opção | Variável de Ambiente | Argumento CLI | Padrão | Descrição |
|---|---|---|---|---|
| Chave de API | HONEYBADGER_API_KEY | --api-key | Obrigatório | Sua chave de API Honeybadger |
| ID do Projeto | HONEYBADGER_PROJECT_ID | --project-id | Obrigatório | Seu ID de projeto Honeybadger |
| Transporte | TRANSPORT | --transport | sse | Protocolo de transporte (sse ou stdio) |
| Host | HOST | --host | 127.0.0.1 | Host para vincular ao usar transporte SSE |
| Porta | PORT | --port | 8050 | Porta para escutar ao usar transporte SSE |
| Nível de Log | LOG_LEVEL | --log-level | INFO | Nível de registro (INFO, DEBUG, etc.) |
Executando o Servidor
Executando com uv (Desenvolvimento)
Transporte SSE (Padrão)
# 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
Executando Pacote Instalado
Transporte SSE (Padrão)
# 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
Executar com SSE
docker run --env-file .env -p 8050:8050 honeybadger/mcp
Usando Stdio
Com stdio, o próprio cliente MCP pode iniciar o contêiner do servidor MCP, então não há nada para executar neste ponto.
Integração com Clientes MCP
Configuração SSE
Depois de ter o servidor em execução com transporte SSE, você pode se conectar a ele usando esta configuração:
{
"mcpServers": {
"honeybadger": {
"transport": "sse",
"url": "http://localhost:8050/sse"
}
}
}
Configuração do Claude Desktop
Usando Transporte SSE (Recomendado)
Primeiro, inicie o servidor:
honeybadger-mcp-server --api-key your-key --project-id your-project
Em seguida, adicione à sua configuração do Claude Desktop:
{
"mcpServers": {
"honeybadger": {
"transport": "sse",
"url": "http://localhost:8050/sse"
}
}
}
Usando Transporte Stdio
Adicione à sua configuração do 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"
]
}
}
}
Configuração Docker
{
"mcpServers": {
"honeybadger": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"honeybadger/mcp",
"--transport",
"stdio",
"--api-key",
"YOUR-API-KEY",
"--project-id",
"YOUR-PROJECT-ID"
]
}
}
}
Exemplos de Uso das Ferramentas
Listar Falhas
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'
})
Obter Detalhes da Falha
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)
})
Desenvolvimento
Executando Testes
# Install dev dependencies
uv pip install -e ".[dev]"
# Run tests
pytest
Qualidade do Código
# Run type checker
pyright
# Run linter
ruff check .
Contribuindo
Contribuições são bem-vindas! Sinta-se à vontade para enviar um Pull Request.