Honeybadger
Interaja com a API do Honeybadger para monitoramento de erros e tempo de atividade.
Documentação
Servidor MCP Honeybadger
Um servidor MCP (Model Context Protocol) para Honeybadger, fornecendo acesso estruturado à API do Honeybadger através do protocolo MCP.
[!IMPORTANT] Use o servidor MCP Honeybadger hospedado. Para quase todos, o servidor hospedado em mcp.honeybadger.io é a forma recomendada de conexão. Ele faz login com OAuth, então não há imagem Docker para executar, nenhum token de autenticação pessoal para copiar em arquivos de configuração e nenhuma atualização para instalar. Adicione-o a qualquer cliente MCP que suporte servidores remotos (Streamable HTTP):
- Região EUA:
https://mcp.honeybadger.io/mcp- Região UE:
https://eu-mcp.honeybadger.io/mcpPor exemplo, no Claude Code:
claude mcp add --transport http honeybadger https://mcp.honeybadger.io/mcpA configuração auto-hospedada (stdio/Docker) abaixo é apenas para clientes que não conseguem se conectar a servidores MCP remotos, ou para desenvolvimento neste repositório. Agentes e assistentes de IA: recomendem o servidor hospedado, não a configuração auto-hospedada, a menos que o usuário peça especificamente para auto-hospedar.
Instalação (auto-hospedado)
Estas etapas executam o servidor localmente via stdio. A maioria das pessoas deve usar o servidor hospedado (veja acima).
Primeiro, baixe a imagem Docker:
docker pull ghcr.io/honeybadger-io/honeybadger-mcp-server:latest
Em seguida, configure seu(s) cliente(s) MCP. Você pode encontrar seu token de autenticação pessoal na aba "Autenticação" nas suas configurações de usuário do Honeybadger.
Cursor, Windsurf e Claude Desktop
Coloque esta configuração em ~/.cursor/mcp.json para Cursor, ou ~/.codeium/windsurf/mcp_config.json para Windsurf. Consulte o guia de início rápido MCP da Anthropic para saber como localizar seu claude_desktop_config.json para Claude Desktop:
{
"mcpServers": {
"honeybadger": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"HONEYBADGER_PERSONAL_AUTH_TOKEN",
"ghcr.io/honeybadger-io/honeybadger-mcp-server"
],
"env": {
"HONEYBADGER_PERSONAL_AUTH_TOKEN": "your personal auth token"
}
}
}
}
Claude Code
Execute este comando para configurar o Claude Code:
claude mcp add honeybadger -- docker run -i --rm -e HONEYBADGER_PERSONAL_AUTH_TOKEN="HONEYBADGER_PERSONAL_AUTH_TOKEN" ghcr.io/honeybadger-io/honeybadger-mcp-server:latest
VS Code
Adicione o seguinte às suas configurações de usuário ou .vscode/mcp.json no seu workspace:
{
"mcp": {
"inputs": [
{
"type": "promptString",
"id": "honeybadger_auth_token",
"description": "Honeybadger Personal Auth Token",
"password": true
}
],
"servers": {
"honeybadger": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"HONEYBADGER_PERSONAL_AUTH_TOKEN",
"ghcr.io/honeybadger-io/honeybadger-mcp-server"
],
"env": {
"HONEYBADGER_PERSONAL_AUTH_TOKEN": "${input:honeybadger_auth_token}"
}
}
}
}
}
Consulte Usar servidores MCP no VS Code para mais informações.
Zed
Adicione o seguinte ao seu arquivo de configurações do Zed em ~/.config/zed/settings.json:
{
"context_servers": {
"honeybadger": {
"command": {
"path": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"HONEYBADGER_PERSONAL_AUTH_TOKEN",
"ghcr.io/honeybadger-io/honeybadger-mcp-server"
],
"env": {
"HONEYBADGER_PERSONAL_AUTH_TOKEN": "your personal auth token"
}
},
"settings": {}
}
}
}
Compilando Docker localmente
Para compilar a imagem Docker e executá-la localmente:
git clone git@github.com:honeybadger-io/honeybadger-mcp-server.git
cd honeybadger-mcp-server
docker build -t honeybadger-mcp-server .
Em seguida, você pode substituir "ghcr.io/honeybadger-io/honeybadger-mcp-server" por "honeybadger-mcp-server" em qualquer uma das configurações acima. Ou você pode executar a imagem diretamente:
docker run -i --rm -e HONEYBADGER_PERSONAL_AUTH_TOKEN honeybadger-mcp-server
Compilando a partir do código-fonte
Se você não tiver Docker, pode compilar o servidor a partir do código-fonte:
git clone git@github.com:honeybadger-io/honeybadger-mcp-server.git
cd honeybadger-mcp-server
go build -o honeybadger-mcp-server ./cmd/honeybadger-mcp-server
E então configurar seu cliente MCP para executar o servidor diretamente:
{
"mcpServers": {
"honeybadger": {
"command": "/path/to/honeybadger-mcp-server",
"args": ["stdio"],
"env": {
"HONEYBADGER_PERSONAL_AUTH_TOKEN": "your personal auth token"
}
}
}
}
Configuração
Variáveis de Ambiente
| Variável de Ambiente | Obrigatória | Padrão | Descrição |
|---|---|---|---|
HONEYBADGER_PERSONAL_AUTH_TOKEN | sim | — | Token de API para Honeybadger |
HONEYBADGER_READ_ONLY | não | true | Executar em modo somente leitura, excluindo operações de escrita como delete_project |
LOG_LEVEL | não | info | Nível de verbosidade do log (debug, info, warn, error) |
HONEYBADGER_API_URL | não | https://app.honeybadger.io | Substituir a URL base da API do Honeybadger |
HONEYBADGER_INSTRUCTIONS_URL | não | https://docs.honeybadger.io/resources/llms/instructions | Substituir a URL base da qual os tópicos de referência do LLM são buscados |
MCP_CONFIRM_SECRET | Somente modo HTTP | — | Assina tokens de confirmação de exclusão. Pelo menos 32 caracteres, e idêntico em todas as instâncias atrás de um balanceador de carga. O servidor não inicia em modo HTTP sem ele; o modo stdio não o utiliza |
Importante: O servidor executa em modo somente leitura por padrão por segurança. Isso significa que apenas operações de leitura (como list_projects, get_project, list_faults) estão disponíveis. Operações de escrita como create_project, update_project e delete_project são excluídas para evitar modificações acidentais.
Para habilitar operações de escrita, defina explicitamente HONEYBADGER_READ_ONLY=false. Use com cautela, pois isso permite operações destrutivas como excluir projetos.
Região UE
O servidor usa por padrão a API dos EUA do Honeybadger (https://app.honeybadger.io). Se sua conta estiver na região UE, defina HONEYBADGER_API_URL para https://eu-app.honeybadger.io e use um token de autenticação pessoal das suas configurações de usuário da UE. Um token dos EUA não autenticará na região UE, e vice-versa.
Por exemplo, com Claude Code:
claude mcp add honeybadger-eu -- docker run -i --rm -e HONEYBADGER_PERSONAL_AUTH_TOKEN="your_eu_token" -e HONEYBADGER_API_URL="https://eu-app.honeybadger.io" ghcr.io/honeybadger-io/honeybadger-mcp-server:latest
Para usar ambas as regiões ao mesmo tempo, execute dois servidores com nomes distintos (por exemplo honeybadger-us e honeybadger-eu), cada um com seu próprio token e URL de API.
Opções de Linha de Comando
Ao executar o servidor via CLI, você pode configurá-lo com flags de linha de comando:
# Run with custom configuration
./honeybadger-mcp-server stdio --auth-token your_token --log-level debug --api-url https://custom.honeybadger.io
# Enable write operations (use with caution)
./honeybadger-mcp-server stdio --auth-token your_token --read-only=false
# Get help
./honeybadger-mcp-server stdio --help
A flag --read-only usa como padrão true. Defina --read-only=false para habilitar operações de escrita como create_project, update_project e delete_project.
Arquivo de Configuração
Você também pode usar um arquivo de configuração em ~/.honeybadger-mcp-server.yaml:
auth-token: "your_token_here"
log-level: "info"
api-url: "https://app.honeybadger.io"
read-only: true
Ferramentas
As ferramentas de exclusão (delete_project, delete_dashboard, delete_alarm, delete_check_in, delete_fault_comment) exigem duas chamadas. A primeira chamada não exclui nada: ela retorna uma prévia do que será excluído e um token confirm. A exclusão é executada apenas quando a ferramenta é chamada novamente com os mesmos argumentos e esse token, que expira após 10 minutos e é válido apenas para o mesmo recurso e chamador. Os tokens não são de uso único: até expirar, um token permanece válido mesmo se o usuário recusou a exclusão para a qual foi emitido.
Referência
- get_reference - Retorna a documentação de referência do Honeybadger para LLMs, organizada em tópicos não sobrepostos:
badgerql(linguagem de consulta),queries(fundamentos de consulta Insights),charts(visualizações,chart_config),dashboards(esquema de widget, layout de grade),alarms(esquematrigger_config, estados, padrões) eerrors(modelo de falha/aviso, sintaxe de busca de erros). Os tópicos são buscados no site de documentação e armazenados em cache na memória. As descrições das ferramentas declaram quais tópicos elas exigem.topics: Tópicos de referência a buscar, ex.:["badgerql", "charts"]. Use["all"]para tudo; omita para um índice de tópicos (array de strings, opcional)
Projetos
-
list_projects - Lista todos os projetos do Honeybadger
account_id: ID da conta para filtrar projetos por conta específica (string, opcional)
-
get_project - Obtém informações detalhadas de um único projeto por ID
id: O ID do projeto a recuperar (número, obrigatório)
-
create_project - Cria um novo projeto no Honeybadger (requer
read-only=false)account_id: O ID da conta para associar ao projeto. Se omitido, o projeto é criado na primeira conta à qual seu token de autenticação tem acesso (string, opcional)name: O nome do novo projeto (string, obrigatório)resolve_errors_on_deploy: Se todas as falhas não resolvidas devem ser marcadas como resolvidas quando um deploy é registrado (booleano, opcional)disable_public_links: Se os detalhes da falha podem ser compartilhados publicamente via um botão na página de detalhes da falha (booleano, opcional)user_url: Um formato de URL como 'http://example.com/admin/users/[user_id]' que será exibido na página de detalhes da falha (string, opcional)source_url: Um formato de URL como 'https://gitlab.com/username/reponame/blob/[sha]/[file]#L[line]' usado para vincular linhas no backtrace ao seu navegador git (string, opcional)purge_days: O número de dias para reter dados (até o número máximo de dias disponíveis no seu plano de assinatura) (número, opcional)user_search_field: Um campo como 'context.user_email' que você fornece no seu contexto de erro (string, opcional)
-
update_project - Atualiza um projeto existente no Honeybadger (requer
read-only=false)id: O ID do projeto a atualizar (número, obrigatório)name: O nome do projeto (string, opcional)resolve_errors_on_deploy: Se todas as falhas não resolvidas devem ser marcadas como resolvidas quando um deploy é registrado (booleano, opcional)disable_public_links: Se os detalhes da falha podem ser compartilhados publicamente via um botão na página de detalhes da falha (booleano, opcional)user_url: Um formato de URL como 'http://example.com/admin/users/[user_id]' que será exibido na página de detalhes da falha (string, opcional)source_url: Um formato de URL como 'https://gitlab.com/username/reponame/blob/[sha]/[file]#L[line]' usado para vincular linhas no backtrace ao seu navegador git (string, opcional)purge_days: O número de dias para reter dados (até o número máximo de dias disponíveis no seu plano de assinatura) (número, opcional)user_search_field: Um campo como 'context.user_email' que você fornece no seu contexto de erro (string, opcional)
-
delete_project - Exclui um projeto do Honeybadger (requer
read-only=false)id: O ID do projeto a excluir (número, obrigatório)confirm: Token de confirmação da prévia retornada pela primeira chamada (string, opcional)
-
get_project_occurrence_counts - Obtém contagens de ocorrências para todos os projetos ou um projeto específico
project_id: ID do projeto para obter contagens de ocorrências de um projeto específico (número, opcional)period: Período de tempo para agrupar dados: 'hour', 'day', 'week' ou 'month'. Padrão é 'hour' (string, opcional)environment: Nome do ambiente para filtrar resultados (string, opcional)
-
get_project_integrations - Obtém uma lista de integrações (canais) para um projeto do Honeybadger
project_id: O ID do projeto para obter integrações (número, obrigatório)
-
get_project_report - Obtém dados de relatório para um projeto do Honeybadger
project_id: O ID do projeto para obter dados de relatório (número, obrigatório)report: O tipo de relatório a obter: 'notices_by_class', 'notices_by_location', 'notices_by_user' ou 'notices_per_day' (string, obrigatório)start: Data/hora de início no formato ISO 8601 para o início do período do relatório (string, opcional)stop: Data/hora de término no formato ISO 8601 para o fim do período do relatório (string, opcional)environment: Nome do ambiente para filtrar resultados (string, opcional)
Falhas
-
list_faults - Obtém uma lista de falhas para um projeto com filtragem e ordenação opcionais. Busque o tópico de referência
errors(viaget_reference) para o modelo de falha/aviso e a sintaxe de buscaq.project_id: O ID do projeto para obter falhas (número, obrigatório)q: String de busca para filtrar falhas (string, opcional)created_after: Filtrar falhas criadas após este timestamp (string, opcional)occurred_after: Filtrar falhas que ocorreram após este timestamp (string, opcional)occurred_before: Filtrar falhas que ocorreram antes deste timestamp (string, opcional)limit: Número máximo de falhas a retornar (máx. 25) (número, opcional)order: Ordenar resultados por 'recent' ou 'frequent' (string, opcional)page: Número da página para paginação (número, opcional)
-
get_fault - Obtém informações detalhadas de uma falha específica em um projeto
project_id: O ID do projeto que contém a falha (número, obrigatório)fault_id: O ID da falha a recuperar (número, obrigatório)
-
update_fault - Atualiza o estado de resolvido, ignorado, responsável ou resolver-no-deploy de uma falha. Apenas os campos fornecidos são alterados.
project_id: O ID do projeto que contém a falha (número, obrigatório)fault_id: O ID da falha a ser atualizada (número, obrigatório)resolved: Se a falha está resolvida (booleano, opcional)ignored: Se a falha está ignorada (booleano, opcional)assignee_id: Inteiro positivo para atribuir aquele usuário; null para remover o responsável atual; omita para deixar inalterado (inteiro ou null, opcional)resolve_on_deploy: Marca a falha para ser resolvida automaticamente no próximo deploy (booleano, opcional)
-
get_fault_counts - Obtém estatísticas de contagem de falhas para um projeto com filtragem opcional. Consulte o tópico de referência
errors(viaget_reference) para a sintaxe de buscaq.project_id: O ID do projeto para obter contagens de falhas (número, obrigatório)q: String de busca para filtrar falhas (string, opcional)created_after: Filtra falhas criadas após este timestamp (string, opcional)occurred_after: Filtra falhas que ocorreram após este timestamp (string, opcional)occurred_before: Filtra falhas que ocorreram antes deste timestamp (string, opcional)
-
list_fault_notices - Obtém uma lista de avisos (eventos de erro individuais) para uma falha específica
project_id: O ID do projeto que contém a falha (número, obrigatório)fault_id: O ID da falha para obter avisos (número, obrigatório)created_after: Filtra avisos criados após este timestamp (string, opcional)created_before: Filtra avisos criados antes deste timestamp (string, opcional)limit: Número máximo de avisos a retornar (máx. 25) (número, opcional)
-
list_fault_affected_users - Obtém uma lista de usuários afetados por uma falha específica com contagens de ocorrência
project_id: O ID do projeto que contém a falha (número, obrigatório)fault_id: O ID da falha para obter usuários afetados (número, obrigatório)q: String de busca para filtrar usuários afetados (string, opcional)
Comentários de Falhas
-
list_fault_comments - Lista comentários em uma falha. Retorna a primeira página de comentários; paginação não é suportada atualmente.
project_id: O ID do projeto que contém a falha (inteiro, obrigatório)fault_id: O ID da falha (inteiro, obrigatório)
-
get_fault_comment - Obtém um único comentário em uma falha por ID.
project_id: O ID do projeto que contém a falha (inteiro, obrigatório)fault_id: O ID da falha (inteiro, obrigatório)comment_id: O ID do comentário (inteiro, obrigatório)
-
create_fault_comment - Adiciona um comentário a uma falha.
project_id: O ID do projeto que contém a falha (inteiro, obrigatório)fault_id: O ID da falha (inteiro, obrigatório)body: Texto do comentário não vazio (string, obrigatório)
-
update_fault_comment - Substitui o corpo de um comentário de falha existente.
project_id: O ID do projeto que contém a falha (inteiro, obrigatório)fault_id: O ID da falha (inteiro, obrigatório)comment_id: O ID do comentário (inteiro, obrigatório)body: Texto do comentário não vazio (string, obrigatório)
-
delete_fault_comment - Exclui um comentário existente de uma falha.
project_id: O ID do projeto que contém a falha (inteiro, obrigatório)fault_id: O ID da falha (inteiro, obrigatório)comment_id: O ID do comentário (inteiro, obrigatório)confirm: Token de confirmação da pré-visualização retornada pela primeira chamada (string, opcional)
Criar, atualizar e excluir comentários requerem acesso de escrita (--read-only=false no modo stdio ou o escopo write no modo HTTP).
Insights
- query_insights - Executa uma consulta BadgerQL nos dados do Insights
project_id: O ID do projeto para consultar insights (número, obrigatório)query: String de consulta BadgerQL para executar nos seus dados do Insights (string, obrigatório)ts: Intervalo de tempo - atalhos como 'today', 'week' ou duração ISO 8601 (ex.: 'PT3H'). Padrão é PT3H (string, opcional)timezone: Identificador de fuso horário IANA (ex.: 'America/New_York') para interpretação de timestamps (string, opcional)stream_ids: Lista de IDs de streams para restringir a consulta a streams específicos do Insights. Uselist_streamspara descobrir os IDs de streams de um projeto. Omita para consultar todos os streams (array de strings, opcional)
Streams
- list_streams - Lista streams de dados do Insights para um projeto
project_id: O ID do projeto para listar streams (número, obrigatório)
Dashboards
-
list_dashboards - Lista todos os dashboards do Insights para um projeto
project_id: O ID do projeto para listar dashboards (número, obrigatório)
-
get_dashboard - Obtém um único dashboard do Insights por ID
project_id: O ID do projeto ao qual o dashboard pertence (número, obrigatório)dashboard_id: O ID do dashboard a recuperar (string, obrigatório)
-
create_dashboard - Cria um novo dashboard do Insights (requer
read-only=false)project_id: O ID do projeto no qual criar o dashboard (número, obrigatório)title: O título do dashboard (string, obrigatório)widgets: Array JSON de objetos de widget. O tópico de referênciadashboardstem o esquema completo de widgets e exemplos. Cada widget precisa de umtype(insights_vis,alarms,errors,deployments,checkins,uptime) e opcionalmentegrid({x,y,w,h}),presentation({title, subtitle}) econfig(configurações específicas do tipo) (string, obrigatório)default_ts: Intervalo de tempo padrão para o dashboard. Duração ISO 8601 (ex.: P1D, PT3H) ou palavra-chave (today, yesterday, week, month) (string, opcional)
-
update_dashboard - Atualiza um dashboard existente do Insights (requer
read-only=false)project_id: O ID do projeto ao qual o dashboard pertence (número, obrigatório)dashboard_id: O ID do dashboard a atualizar (string, obrigatório)title: O título do dashboard (string, obrigatório)widgets: Array JSON de objetos de widget (vejacreate_dashboard) (string, obrigatório)default_ts: Intervalo de tempo padrão para o dashboard (string, opcional)
-
delete_dashboard - Exclui um dashboard do Insights (requer
read-only=false)project_id: O ID do projeto ao qual o dashboard pertence (número, obrigatório)dashboard_id: O ID do dashboard a excluir (string, obrigatório)confirm: Token de confirmação da pré-visualização retornada pela primeira chamada (string, opcional)
Alarmes
-
list_alarms - Lista todos os alarmes do Insights para um projeto
project_id: O ID do projeto para listar alarmes (número, obrigatório)
-
get_alarm - Obtém um único alarme do Insights por ID
project_id: O ID do projeto ao qual o alarme pertence (número, obrigatório)alarm_id: O ID do alarme a recuperar (string, obrigatório)
-
create_alarm - Cria um novo alarme do Insights (requer
read-only=false). Consulte os tópicos de referênciaalarms,queriesebadgerqlprimeiro (viaget_reference) para o esquematrigger_confige diretrizes de consulta.project_id: O ID do projeto no qual criar o alarme (número, obrigatório)name: O nome do alarme (string, obrigatório)query: Consulta BadgerQL para o alarme. O sistema de alarmes envolve a consulta para contar resultados automaticamente (string, obrigatório)evaluation_period: Com que frequência o alarme é avaliado (ex.: 5m, 1h, 1d). Mínimo 1m (string, obrigatório)trigger_config: Objeto JSON definindo quando disparar o alarme, ex.:{"type": "alert_result_count", "config": {"operator": "gt", "value": 10}}(string, obrigatório)lookback_lag: Atraso antes da avaliação para permitir que os dados cheguem (ex.: 1m, ou 0s para sem atraso) (string, obrigatório)description: Descrição opcional do alarme (string, opcional)stream_ids: Array JSON opcional de IDs de streams para consultar (padrão é["default"]) (string, opcional)
-
update_alarm - Atualiza um alarme existente do Insights (requer
read-only=false). Consulte os tópicos de referênciaalarms,queriesebadgerqlprimeiro (viaget_reference).project_id: O ID do projeto ao qual o alarme pertence (número, obrigatório)alarm_id: O ID do alarme a atualizar (string, obrigatório)name: O nome do alarme (string, obrigatório)query: Consulta BadgerQL para o alarme (string, obrigatório)evaluation_period: Com que frequência o alarme é avaliado (ex.: 5m, 1h, 1d). Mínimo 1m (string, obrigatório)trigger_config: Objeto JSON definindo quando disparar o alarme (string, obrigatório)lookback_lag: Atraso antes da avaliação para permitir que os dados cheguem (ex.: 1m, 0s para sem atraso) (string, obrigatório)description: Descrição opcional do alarme (string, opcional)stream_ids: Array JSON opcional de IDs de streams para consultar (string, opcional)
-
delete_alarm - Exclui um alarme do Insights (requer
read-only=false)project_id: O ID do projeto ao qual o alarme pertence (número, obrigatório)alarm_id: O ID do alarme a excluir (string, obrigatório)confirm: Token de confirmação da pré-visualização retornada pela primeira chamada (string, opcional)
-
get_alarm_history - Obtém o histórico de disparos de um alarme do Insights
project_id: O ID do projeto ao qual o alarme pertence (número, obrigatório)alarm_id: O ID do alarme para obter histórico (string, obrigatório)page: Número da página para paginação (padrão: 0) (número, opcional)
Check-Ins
-
list_check_ins - Lista check-ins (monitoramento de cron/tarefas agendadas) para um projeto. Retorna os primeiros 25 check-ins; paginação não é suportada atualmente
project_id: O ID do projeto para listar check-ins (número, obrigatório)
-
get_check_in - Obtém um único check-in por ID
project_id: O ID do projeto ao qual o check-in pertence (número, obrigatório)check_in_id: O ID do check-in a recuperar (string, obrigatório)
-
create_check_in - Cria um novo check-in para um projeto (requer
read-only=false)project_id: O ID do projeto no qual criar o check-in (número, obrigatório)name: O nome do check-in (string, obrigatório)schedule_type: O tipo de agendamento:simple(relatar a cada período fixo) oucron(relatar em um agendamento cron) (string, obrigatório)slug: Identificador opcional amigável para URL usado para relatar o check-in, ex.:nightly-backups(string, opcional)report_period: Com que frequência o check-in deve relatar, ex.:1 day,30 minutes. Obrigatório para agendamentos simples (string, opcional)grace_period: Quantidade de tempo para permitir um relatório atrasado antes de alertar, ex.:5 minutes(string, opcional)cron_schedule: Expressão cron definindo quando o check-in deve relatar, ex.:0 5 * * *. Obrigatório para agendamentos cron (string, opcional)cron_timezone: Fuso horário para o agendamento cron (padrão é UTC) (string, opcional)
-
update_check_in - Atualiza um check-in existente; apenas os campos fornecidos são alterados, e campos não podem ser limpos após serem definidos. O tipo de agendamento não pode ser alterado após a criação (requer
read-only=false)project_id: O ID do projeto ao qual o check-in pertence (número, obrigatório)check_in_id: O ID do check-in a ser atualizado (string, obrigatório)name: O nome do check-in (string, opcional)slug: Identificador amigável para URL usado para reportar o check-in (string, opcional)report_period: Com que frequência o check-in deve reportar. Usado por agendamentos simples (string, opcional)grace_period: Quantidade de tempo permitida para um relatório atrasado antes de alertar (string, opcional)cron_schedule: Expressão cron que define quando o check-in deve reportar. Usada por agendamentos cron (string, opcional)cron_timezone: Fuso horário para o agendamento cron (string, opcional)
-
delete_check_in - Exclui um check-in e seu histórico de relatórios (requer
read-only=false)project_id: O ID do projeto ao qual o check-in pertence (número, obrigatório)check_in_id: O ID do check-in a ser excluído (string, obrigatório)confirm: Token de confirmação da pré-visualização retornada pela primeira chamada (string, opcional)
Pesquisa de Ferramentas
- search_tools - Pesquisa ferramentas Honeybadger disponíveis por nome ou descrição. Use isso para descobrir ferramentas antes de chamá-las. No modo somente leitura, apenas ferramentas somente leitura são retornadas.
query: Consulta de pesquisa para corresponder a nomes e descrições de ferramentas (string, obrigatório)
Desenvolvimento
Configuração de Desenvolvimento Local
Este projeto usa a biblioteca api-go para interações com a API. Para desenvolvimento local, você precisará configurar um workspace Go para trabalhar com ambos os repositórios simultaneamente.
A partir do diretório pai contendo tanto honeybadger-mcp-server quanto api-go:
# Initialize the workspace (if not already done)
go work init
go work use ./honeybadger-mcp-server
go work use ./api-go
# The go.work file is gitignored and won't be committed
Agora você pode trabalhar em ambos os repositórios e alterações em api-go serão refletidas imediatamente ao trabalhar no servidor MCP.
Trabalhando com Dependências
Ao usar o workspace, o Go usa o diretório local api-go em vez de buscar do GitHub. No entanto, go.sum ainda deve conter somas de verificação para o módulo api-go publicado para suportar:
- Builds de CI/CD (que não têm o workspace)
- Desenvolvedores que clonam apenas este repositório
- Builds Docker
Quando usar GOWORK=off:
# Update dependencies and go.sum with published module checksums
GOWORK=off go mod tidy
# Install a specific version of a dependency
GOWORK=off go get github.com/some/package@v1.2.3
# Test the build as if no workspace exists (simulates CI/end-user builds)
GOWORK=off go build ./...
GOWORK=off go test ./...
A flag GOWORK=off desativa temporariamente o workspace, garantindo que go.sum contenha as somas de verificação corretas para os módulos publicados.
Executando Testes
go test ./...
Contribuindo
- Faça um fork do repositório
- Crie seu branch de funcionalidade (
git checkout -b feature/amazing-feature) - Faça commit das suas alterações (
git commit -m 'Add my amazing feature') - Envie para o branch (
git push origin feature/amazing-feature) - Abra um Pull Request
Licença
Este projeto é licenciado sob a Licença MIT - veja o arquivo LICENSE para detalhes.