Honeybadger

Interactúa con la API de Honeybadger para la monitorización de errores y tiempo de actividad.

Documentación

Servidor MCP de Honeybadger

Un servidor MCP (Protocolo de Contexto de Modelo) para Honeybadger, que proporciona acceso estructurado a la API de Honeybadger a través del protocolo MCP.

[!IMPORTANTE] Usa el servidor MCP alojado de Honeybadger. Para casi todo el mundo, el servidor alojado en mcp.honeybadger.io es la forma recomendada de conectarse. Te permite iniciar sesión con OAuth, por lo que no hay imagen de Docker que ejecutar, ni token de autenticación personal que copiar en archivos de configuración, ni actualizaciones que instalar. Añádelo a cualquier cliente MCP que admita servidores remotos (HTTP Streamable):

  • Región de EE. UU.: https://mcp.honeybadger.io/mcp
  • Región de la UE: https://eu-mcp.honeybadger.io/mcp

Por ejemplo, en Claude Code:

claude mcp add --transport http honeybadger https://mcp.honeybadger.io/mcp

La configuración autohospedada (stdio/Docker) que se muestra a continuación es solo para clientes que no pueden conectarse a servidores MCP remotos, o para desarrollo en este repositorio. Agentes y asistentes de IA: recomienden el servidor alojado, no la configuración autohospedada, a menos que el usuario pida específicamente autohospedarse.

Instalación (autohospedada)

Estos pasos ejecutan el servidor localmente a través de stdio. La mayoría de las personas deberían usar el servidor alojado en su lugar (ver arriba).

Primero, descarga la imagen de Docker:

docker pull ghcr.io/honeybadger-io/honeybadger-mcp-server:latest

Luego, configura tu(s) cliente(s) MCP. Puedes encontrar tu token de autenticación personal en la pestaña "Autenticación" en tu configuración de usuario de Honeybadger.

Cursor, Windsurf y Claude Desktop

Coloca esta configuración en ~/.cursor/mcp.json para Cursor, o ~/.codeium/windsurf/mcp_config.json para Windsurf. Consulta la guía de inicio rápido de MCP de Anthropic para saber cómo localizar tu 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

Ejecuta este comando para configurar 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

Añade lo siguiente a tu configuración de usuario o .vscode/mcp.json en tu espacio de trabajo:

{
  "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}"
        }
      }
    }
  }
}

Consulta Usar servidores MCP en VS Code para más información.

Zed

Añade lo siguiente a tu archivo de configuración de Zed en ~/.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": {}
    }
  }
}

Compilar Docker localmente

Para compilar la imagen de Docker y ejecutarla localmente:

git clone git@github.com:honeybadger-io/honeybadger-mcp-server.git
cd honeybadger-mcp-server
docker build -t honeybadger-mcp-server .

Luego puedes reemplazar "ghcr.io/honeybadger-io/honeybadger-mcp-server" con "honeybadger-mcp-server" en cualquiera de las configuraciones anteriores. O puedes ejecutar la imagen directamente:

docker run -i --rm -e HONEYBADGER_PERSONAL_AUTH_TOKEN honeybadger-mcp-server

Compilar desde el código fuente

Si no tienes Docker, puedes compilar el servidor desde el código fuente:

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

Y luego configurar tu cliente MCP para ejecutar el servidor directamente:

{
  "mcpServers": {
    "honeybadger": {
      "command": "/path/to/honeybadger-mcp-server",
      "args": ["stdio"],
      "env": {
        "HONEYBADGER_PERSONAL_AUTH_TOKEN": "your personal auth token"
      }
    }
  }
}

Configuración

Variables de entorno

Variable de entornoObligatoriaPredeterminadoDescripción
HONEYBADGER_PERSONAL_AUTH_TOKENsí—Token de API para Honeybadger
HONEYBADGER_READ_ONLYnotrueEjecutar en modo de solo lectura, excluyendo operaciones de escritura como delete_project
LOG_LEVELnoinfoVerbosidad del registro (debug, info, warn, error)
HONEYBADGER_API_URLnohttps://app.honeybadger.ioAnular la URL base para la API de Honeybadger
HONEYBADGER_INSTRUCTIONS_URLnohttps://docs.honeybadger.io/resources/llms/instructionsAnular la URL base de la que se obtienen los temas de referencia del LLM
MCP_CONFIRM_SECRETSolo modo HTTP—Firma los tokens de confirmación de eliminación. Al menos 32 caracteres, e idéntico en cada instancia detrás de un balanceador de carga. El servidor no se iniciará en modo HTTP sin él; el modo stdio no lo usa

Importante: El servidor se ejecuta en modo de solo lectura de forma predeterminada por seguridad. Esto significa que solo están disponibles operaciones de lectura (como list_projects, get_project, list_faults). Operaciones de escritura como create_project, update_project y delete_project están excluidas para evitar modificaciones accidentales.

Para habilitar operaciones de escritura, establece explícitamente HONEYBADGER_READ_ONLY=false. Úsalo con precaución, ya que permite operaciones destructivas como eliminar proyectos.

Región de la UE

El servidor usa por defecto la API de EE. UU. de Honeybadger (https://app.honeybadger.io). Si tu cuenta está en la región de la UE, establece HONEYBADGER_API_URL a https://eu-app.honeybadger.io y usa un token de autenticación personal de tu configuración de usuario de la UE. Un token de EE. UU. no se autenticará contra la región de la UE, y viceversa.

Por ejemplo, con 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 regiones a la vez, ejecuta dos servidores con nombres distintos (por ejemplo honeybadger-us y honeybadger-eu), cada uno con su propio token y URL de API.

Opciones de línea de comandos

Al ejecutar el servidor a través de la CLI, puedes configurarlo con banderas de línea de comandos:

# 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

La bandera --read-only tiene como valor predeterminado true. Establece --read-only=false para habilitar operaciones de escritura como create_project, update_project y delete_project.

Archivo de configuración

También puedes usar un archivo de configuración en ~/.honeybadger-mcp-server.yaml:

auth-token: "your_token_here"
log-level: "info"
api-url: "https://app.honeybadger.io"
read-only: true

Herramientas

Las herramientas de eliminación (delete_project, delete_dashboard, delete_alarm, delete_check_in, delete_fault_comment) requieren dos llamadas. La primera llamada no elimina nada: devuelve una vista previa de lo que se eliminará y un token confirm. La eliminación se ejecuta solo cuando la herramienta se llama de nuevo con los mismos argumentos y ese token, que caduca después de 10 minutos y es válido solo para el mismo recurso y llamador. Los tokens no son de un solo uso: hasta que caduque, un token sigue siendo válido incluso si el usuario rechazó la eliminación para la que se emitió.

Referencia

  • get_reference - Devuelve la documentación de referencia de Honeybadger para LLMs, organizada en temas no superpuestos: badgerql (lenguaje de consulta), queries (fundamentos de consultas de Insights), charts (vistas de visualización, chart_config), dashboards (esquema de widgets, diseño de cuadrícula), alarms (esquema de trigger_config, estados, patrones) y errors (modelo de fallo/aviso, sintaxis de búsqueda de errores). Los temas se obtienen del sitio de documentación y se almacenan en caché en memoria. Las descripciones de las herramientas declaran qué temas requieren.
    • topics : Temas de referencia a obtener, p. ej. ["badgerql", "charts"]. Usa ["all"] para todo; omítelo para un índice de temas (matriz de cadenas, opcional)

Proyectos

  • list_projects - Lista todos los proyectos de Honeybadger

    • account_id : ID de cuenta para filtrar proyectos por cuenta específica (cadena, opcional)
  • get_project - Obtiene información detallada de un solo proyecto por ID

    • id : El ID del proyecto a recuperar (número, obligatorio)
  • create_project - Crea un nuevo proyecto de Honeybadger (requiere read-only=false)

    • account_id : El ID de cuenta para asociar el proyecto. Si se omite, el proyecto se crea en la primera cuenta a la que tu token de autenticación tenga acceso (cadena, opcional)
    • name : El nombre del nuevo proyecto (cadena, obligatorio)
    • resolve_errors_on_deploy : Si todos los fallos no resueltos deben marcarse como resueltos cuando se registra un despliegue (booleano, opcional)
    • disable_public_links : Si se permite que los detalles de fallos sean públicamente compartibles mediante un botón en la página de detalles del fallo (booleano, opcional)
    • user_url : Un formato de URL como 'http://example.com/admin/users/[user_id]' que se mostrará en la página de detalles del fallo (cadena, opcional)
    • source_url : Un formato de URL como 'https://gitlab.com/username/reponame/blob/[sha]/[file]#L[line]' que se usa para enlazar líneas en el backtrace a tu navegador de git (cadena, opcional)
    • purge_days : El número de días para retener datos (hasta el máximo de días disponibles en tu plan de suscripción) (número, opcional)
    • user_search_field : Un campo como 'context.user_email' que proporcionas en tu contexto de error (cadena, opcional)
  • update_project - Actualiza un proyecto existente de Honeybadger (requiere read-only=false)

    • id : El ID del proyecto a actualizar (número, obligatorio)
    • name : El nombre del proyecto (cadena, opcional)
    • resolve_errors_on_deploy : Si todos los fallos no resueltos deben marcarse como resueltos cuando se registra un despliegue (booleano, opcional)
    • disable_public_links : Si se permite que los detalles de fallos sean públicamente compartibles mediante un botón en la página de detalles del fallo (booleano, opcional)
    • user_url : Un formato de URL como 'http://example.com/admin/users/[user_id]' que se mostrará en la página de detalles del fallo (cadena, opcional)
    • source_url : Un formato de URL como 'https://gitlab.com/username/reponame/blob/[sha]/[file]#L[line]' que se usa para enlazar líneas en el backtrace a tu navegador de git (cadena, opcional)
    • purge_days : El número de días para retener datos (hasta el máximo de días disponibles en tu plan de suscripción) (número, opcional)
    • user_search_field : Un campo como 'context.user_email' que proporcionas en tu contexto de error (cadena, opcional)
  • delete_project - Elimina un proyecto de Honeybadger (requiere read-only=false)

    • id : El ID del proyecto a eliminar (número, obligatorio)
    • confirm : Token de confirmación de la vista previa devuelta por la primera llamada (cadena, opcional)
  • get_project_occurrence_counts - Obtiene recuentos de ocurrencias para todos los proyectos o un proyecto específico

    • project_id : ID de proyecto para obtener recuentos de ocurrencias de un proyecto específico (número, opcional)
    • period : Período de tiempo para agrupar datos: 'hour', 'day', 'week' o 'month'. El valor predeterminado es 'hour' (cadena, opcional)
    • environment : Nombre del entorno para filtrar resultados (cadena, opcional)
  • get_project_integrations - Obtiene una lista de integraciones (canales) para un proyecto de Honeybadger

    • project_id : El ID del proyecto para obtener integraciones (número, obligatorio)
  • get_project_report - Obtiene datos de informe para un proyecto de Honeybadger

    • project_id : El ID del proyecto para obtener datos de informe (número, obligatorio)
    • report : El tipo de informe a obtener: 'notices_by_class', 'notices_by_location', 'notices_by_user' o 'notices_per_day' (cadena, obligatorio)
    • start : Fecha/hora de inicio en formato ISO 8601 para el comienzo del período de informe (cadena, opcional)
    • stop : Fecha/hora de finalización en formato ISO 8601 para el final del período de informe (cadena, opcional)
    • environment : Nombre del entorno para filtrar resultados (cadena, opcional)

Fallos

  • list_faults - Obtiene una lista de fallos para un proyecto con filtrado y ordenamiento opcionales. Obtén el tema de referencia errors (a través de get_reference) para el modelo de fallo/aviso y la sintaxis de búsqueda q.

    • project_id : El ID del proyecto para obtener fallos (número, obligatorio)
    • q : Cadena de búsqueda para filtrar fallos (cadena, opcional)
    • created_after : Filtrar fallos creados después de esta marca de tiempo (cadena, opcional)
    • occurred_after : Filtrar fallos que ocurrieron después de esta marca de tiempo (cadena, opcional)
    • occurred_before : Filtrar fallos que ocurrieron antes de esta marca de tiempo (cadena, opcional)
    • limit : Número máximo de fallos a devolver (máx. 25) (número, opcional)
    • order : Ordenar resultados por 'recent' o 'frequent' (cadena, opcional)
    • page : Número de página para la paginación (número, opcional)
  • get_fault - Obtiene información detallada de un fallo específico en un proyecto

    • project_id : El ID del proyecto que contiene el fallo (número, obligatorio)
    • fault_id : El ID del fallo a recuperar (número, obligatorio)
  • update_fault - Actualiza el estado de resuelto, ignorado, asignado o resolución en despliegue de un fault. Solo se modifican los campos proporcionados.

    • project_id : El ID del proyecto que contiene el fault (número, obligatorio)
    • fault_id : El ID del fault a actualizar (número, obligatorio)
    • resolved : Si el fault está resuelto (booleano, opcional)
    • ignored : Si el fault está ignorado (booleano, opcional)
    • assignee_id : Entero positivo para asignar a ese usuario; null para eliminar el asignado actual; omitir para dejar sin cambios (entero o null, opcional)
    • resolve_on_deploy : Marcar el fault para que se resuelva automáticamente en el próximo despliegue (booleano, opcional)
  • get_fault_counts - Obtén estadísticas de conteo de faults para un proyecto con filtrado opcional. Consulta el tema de referencia errors (a través de get_reference) para la sintaxis de búsqueda q.

    • project_id : El ID del proyecto para obtener los conteos de faults (número, obligatorio)
    • q : Cadena de búsqueda para filtrar faults (cadena, opcional)
    • created_after : Filtrar faults creados después de esta marca de tiempo (cadena, opcional)
    • occurred_after : Filtrar faults que ocurrieron después de esta marca de tiempo (cadena, opcional)
    • occurred_before : Filtrar faults que ocurrieron antes de esta marca de tiempo (cadena, opcional)
  • list_fault_notices - Obtén una lista de avisos (eventos de error individuales) para un fault específico

    • project_id : El ID del proyecto que contiene el fault (número, obligatorio)
    • fault_id : El ID del fault para obtener avisos (número, obligatorio)
    • created_after : Filtrar avisos creados después de esta marca de tiempo (cadena, opcional)
    • created_before : Filtrar avisos creados antes de esta marca de tiempo (cadena, opcional)
    • limit : Número máximo de avisos a devolver (máx. 25) (número, opcional)
  • list_fault_affected_users - Obtén una lista de usuarios afectados por un fault específico con conteos de ocurrencia

    • project_id : El ID del proyecto que contiene el fault (número, obligatorio)
    • fault_id : El ID del fault para obtener usuarios afectados (número, obligatorio)
    • q : Cadena de búsqueda para filtrar usuarios afectados (cadena, opcional)

Comentarios de Faults

  • list_fault_comments - Lista comentarios en un fault. Devuelve la primera página de comentarios; la paginación no está soportada actualmente.

    • project_id : El ID del proyecto que contiene el fault (entero, obligatorio)
    • fault_id : El ID del fault (entero, obligatorio)
  • get_fault_comment - Obtén un solo comentario en un fault por ID.

    • project_id : El ID del proyecto que contiene el fault (entero, obligatorio)
    • fault_id : El ID del fault (entero, obligatorio)
    • comment_id : El ID del comentario (entero, obligatorio)
  • create_fault_comment - Agrega un comentario a un fault.

    • project_id : El ID del proyecto que contiene el fault (entero, obligatorio)
    • fault_id : El ID del fault (entero, obligatorio)
    • body : Texto de comentario no vacío (cadena, obligatorio)
  • update_fault_comment - Reemplaza el cuerpo de un comentario existente en un fault.

    • project_id : El ID del proyecto que contiene el fault (entero, obligatorio)
    • fault_id : El ID del fault (entero, obligatorio)
    • comment_id : El ID del comentario (entero, obligatorio)
    • body : Texto de comentario no vacío (cadena, obligatorio)
  • delete_fault_comment - Elimina un comentario existente de un fault.

    • project_id : El ID del proyecto que contiene el fault (entero, obligatorio)
    • fault_id : El ID del fault (entero, obligatorio)
    • comment_id : El ID del comentario (entero, obligatorio)
    • confirm : Token de confirmación de la vista previa devuelta por la primera llamada (cadena, opcional)

Crear, actualizar y eliminar comentarios requieren acceso de escritura (--read-only=false en modo stdio o el alcance write en modo HTTP).

Insights

  • query_insights - Ejecuta una consulta BadgerQL contra los datos de Insights
    • project_id : El ID del proyecto para consultar insights (número, obligatorio)
    • query : Cadena de consulta BadgerQL para ejecutar contra tus datos de Insights (cadena, obligatorio)
    • ts : Rango de tiempo: atajos como 'today', 'week' o duración ISO 8601 (p. ej., 'PT3H'). El valor predeterminado es PT3H (cadena, opcional)
    • timezone : Identificador de zona horaria IANA (p. ej., 'America/New_York') para la interpretación de marcas de tiempo (cadena, opcional)
    • stream_ids : Lista de IDs de streams para restringir la consulta a streams específicos de Insights. Usa list_streams para descubrir los IDs de streams de un proyecto. Omite para consultar todos los streams (arreglo de cadenas, opcional)

Streams

  • list_streams - Lista los streams de datos de Insights para un proyecto
    • project_id : El ID del proyecto para listar streams (número, obligatorio)

Dashboards

  • list_dashboards - Lista todos los dashboards de Insights para un proyecto

    • project_id : El ID del proyecto para listar dashboards (número, obligatorio)
  • get_dashboard - Obtén un solo dashboard de Insights por ID

    • project_id : El ID del proyecto al que pertenece el dashboard (número, obligatorio)
    • dashboard_id : El ID del dashboard a recuperar (cadena, obligatorio)
  • create_dashboard - Crea un nuevo dashboard de Insights (requiere read-only=false)

    • project_id : El ID del proyecto donde crear el dashboard (número, obligatorio)
    • title : El título del dashboard (cadena, obligatorio)
    • widgets : Arreglo JSON de objetos de widget. El tema de referencia dashboards tiene el esquema completo de widgets y ejemplos. Cada widget necesita un type (insights_vis, alarms, errors, deployments, checkins, uptime) y opcionalmente grid ({x,y,w,h}), presentation ({title, subtitle}) y config (configuración específica del tipo) (cadena, obligatorio)
    • default_ts : Rango de tiempo predeterminado para el dashboard. Duración ISO 8601 (p. ej., P1D, PT3H) o palabra clave (today, yesterday, week, month) (cadena, opcional)
  • update_dashboard - Actualiza un dashboard de Insights existente (requiere read-only=false)

    • project_id : El ID del proyecto al que pertenece el dashboard (número, obligatorio)
    • dashboard_id : El ID del dashboard a actualizar (cadena, obligatorio)
    • title : El título del dashboard (cadena, obligatorio)
    • widgets : Arreglo JSON de objetos de widget (consulta create_dashboard) (cadena, obligatorio)
    • default_ts : Rango de tiempo predeterminado para el dashboard (cadena, opcional)
  • delete_dashboard - Elimina un dashboard de Insights (requiere read-only=false)

    • project_id : El ID del proyecto al que pertenece el dashboard (número, obligatorio)
    • dashboard_id : El ID del dashboard a eliminar (cadena, obligatorio)
    • confirm : Token de confirmación de la vista previa devuelta por la primera llamada (cadena, opcional)

Alarmas

  • list_alarms - Lista todas las alarmas de Insights para un proyecto

    • project_id : El ID del proyecto para listar alarmas (número, obligatorio)
  • get_alarm - Obtén una sola alarma de Insights por ID

    • project_id : El ID del proyecto al que pertenece la alarma (número, obligatorio)
    • alarm_id : El ID de la alarma a recuperar (cadena, obligatorio)
  • create_alarm - Crea una nueva alarma de Insights (requiere read-only=false). Consulta primero los temas de referencia alarms, queries y badgerql (a través de get_reference) para el esquema trigger_config y las pautas de consulta.

    • project_id : El ID del proyecto donde crear la alarma (número, obligatorio)
    • name : El nombre de la alarma (cadena, obligatorio)
    • query : Consulta BadgerQL para la alarma. El sistema de alarmas envuelve la consulta para contar resultados automáticamente (cadena, obligatorio)
    • evaluation_period : Con qué frecuencia se evalúa la alarma (p. ej., 5m, 1h, 1d). Mínimo 1m (cadena, obligatorio)
    • trigger_config : Objeto JSON que define cuándo activar la alarma, p. ej. {"type": "alert_result_count", "config": {"operator": "gt", "value": 10}} (cadena, obligatorio)
    • lookback_lag : Retraso antes de evaluar para permitir que lleguen los datos (p. ej., 1m, o 0s para sin retraso) (cadena, obligatorio)
    • description : Descripción opcional de la alarma (cadena, opcional)
    • stream_ids : Arreglo JSON opcional de IDs de streams para consultar (el valor predeterminado es ["default"]) (cadena, opcional)
  • update_alarm - Actualiza una alarma de Insights existente (requiere read-only=false). Consulta primero los temas de referencia alarms, queries y badgerql (a través de get_reference).

    • project_id : El ID del proyecto al que pertenece la alarma (número, obligatorio)
    • alarm_id : El ID de la alarma a actualizar (cadena, obligatorio)
    • name : El nombre de la alarma (cadena, obligatorio)
    • query : Consulta BadgerQL para la alarma (cadena, obligatorio)
    • evaluation_period : Con qué frecuencia se evalúa la alarma (p. ej., 5m, 1h, 1d). Mínimo 1m (cadena, obligatorio)
    • trigger_config : Objeto JSON que define cuándo activar la alarma (cadena, obligatorio)
    • lookback_lag : Retraso antes de evaluar para permitir que lleguen los datos (p. ej., 1m, 0s para sin retraso) (cadena, obligatorio)
    • description : Descripción opcional de la alarma (cadena, opcional)
    • stream_ids : Arreglo JSON opcional de IDs de streams para consultar (cadena, opcional)
  • delete_alarm - Elimina una alarma de Insights (requiere read-only=false)

    • project_id : El ID del proyecto al que pertenece la alarma (número, obligatorio)
    • alarm_id : El ID de la alarma a eliminar (cadena, obligatorio)
    • confirm : Token de confirmación de la vista previa devuelta por la primera llamada (cadena, opcional)
  • get_alarm_history - Obtén el historial de activación de una alarma de Insights

    • project_id : El ID del proyecto al que pertenece la alarma (número, obligatorio)
    • alarm_id : El ID de la alarma para obtener el historial (cadena, obligatorio)
    • page : Número de página para la paginación (predeterminado: 0) (número, opcional)

Check-Ins

  • list_check_ins - Lista los check-ins (monitoreo de tareas programadas/cron) para un proyecto. Devuelve los primeros 25 check-ins; la paginación no está soportada actualmente

    • project_id : El ID del proyecto para listar check-ins (número, obligatorio)
  • get_check_in - Obtén un solo check-in por ID

    • project_id : El ID del proyecto al que pertenece el check-in (número, obligatorio)
    • check_in_id : El ID del check-in a recuperar (cadena, obligatorio)
  • create_check_in - Crea un nuevo check-in para un proyecto (requiere read-only=false)

    • project_id : El ID del proyecto donde crear el check-in (número, obligatorio)
    • name : El nombre del check-in (cadena, obligatorio)
    • schedule_type : El tipo de programación: simple (informar cada período fijo) o cron (informar en una programación cron) (cadena, obligatorio)
    • slug : Identificador opcional amigable para URL utilizado para informar el check-in, p. ej. nightly-backups (cadena, opcional)
    • report_period : Con qué frecuencia se espera que el check-in informe, p. ej. 1 day, 30 minutes. Requerido para programaciones simples (cadena, opcional)
    • grace_period : Cantidad de tiempo para permitir un informe tardío antes de alertar, p. ej. 5 minutes (cadena, opcional)
    • cron_schedule : Expresión cron que define cuándo se espera que el check-in informe, p. ej. 0 5 * * *. Requerido para programaciones cron (cadena, opcional)
    • cron_timezone : Zona horaria para la programación cron (el valor predeterminado es UTC) (cadena, opcional)
  • update_check_in - Actualizar un check-in existente; solo se modifican los campos proporcionados, y los campos no se pueden borrar una vez establecidos. El tipo de programación no se puede cambiar después de la creación (requiere read-only=false)

    • project_id : El ID del proyecto al que pertenece el check-in (número, obligatorio)
    • check_in_id : El ID del check-in a actualizar (cadena, obligatorio)
    • name : El nombre del check-in (cadena, opcional)
    • slug : Identificador amigable para URL utilizado para reportar el check-in (cadena, opcional)
    • report_period : Con qué frecuencia se espera que el check-in reporte. Se utiliza para programaciones simples (cadena, opcional)
    • grace_period : Cantidad de tiempo para permitir un reporte tardío antes de alertar (cadena, opcional)
    • cron_schedule : Expresión cron que define cuándo se espera que el check-in reporte. Se utiliza para programaciones cron (cadena, opcional)
    • cron_timezone : Zona horaria para la programación cron (cadena, opcional)
  • delete_check_in - Eliminar un check-in y su historial de reportes (requiere read-only=false)

    • project_id : El ID del proyecto al que pertenece el check-in (número, obligatorio)
    • check_in_id : El ID del check-in a eliminar (cadena, obligatorio)
    • confirm : Token de confirmación de la vista previa devuelta por la primera llamada (cadena, opcional)

Búsqueda de Herramientas

  • search_tools - Buscar herramientas disponibles de Honeybadger por nombre o descripción. Utilice esto para descubrir herramientas antes de llamarlas. En modo de solo lectura, solo se devuelven herramientas de solo lectura.
    • query : Consulta de búsqueda para coincidir con nombres y descripciones de herramientas (cadena, obligatorio)

Desarrollo

Configuración de Desarrollo Local

Este proyecto utiliza la biblioteca api-go para interacciones con la API. Para el desarrollo local, necesitará configurar un espacio de trabajo de Go para trabajar con ambos repositorios simultáneamente.

Desde el directorio principal que contiene tanto honeybadger-mcp-server como 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

Ahora puede trabajar en ambos repositorios y los cambios en api-go se reflejarán inmediatamente al trabajar en el servidor MCP.

Trabajando con Dependencias

Al usar el espacio de trabajo, Go utiliza el directorio local api-go en lugar de obtenerlo de GitHub. Sin embargo, go.sum debe contener sumas de verificación para el módulo publicado api-go para admitir:

  • Compilaciones de CI/CD (que no tienen el espacio de trabajo)
  • Desarrolladores que clonan solo este repositorio
  • Compilaciones de Docker

Cuándo 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 ./...

La bandera GOWORK=off desactiva temporalmente el espacio de trabajo, asegurando que go.sum contenga las sumas de verificación correctas para los módulos publicados.

Ejecutando Pruebas

go test ./...

Contribuciones

  1. Haga un fork del repositorio
  2. Cree su rama de características (git checkout -b feature/amazing-feature)
  3. Confirme sus cambios (git commit -m 'Add my amazing feature')
  4. Envíe a la rama (git push origin feature/amazing-feature)
  5. Abra una Solicitud de Extracción

Licencia

Este proyecto está licenciado bajo la Licencia MIT - consulte el archivo LICENSE para más detalles.