honeycomb-mcp-server

by kajirita2002
Verified

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Provides tools for interacting with the Honeycomb API, enabling operations such as retrieving, creating, and updating Honeycomb datasets, queries, events, boards, markers, SLOs, and triggers to streamline observability and monitoring workflows.

Servidor MCP Honeycomb

Lea esto en japonés

Descripción general

Este servidor es una interfaz que utiliza el Protocolo de contexto de modelo (MCP) para permitir que Claude AI interactúe con la API de Honeycomb .

Con este servidor MCP, Claude AI puede realizar operaciones como recuperar, crear y actualizar conjuntos de datos de Honeycomb, consultas, eventos, tableros, marcadores, SLO y activadores.

Acerca del repositorio

Este repositorio proporciona una implementación independiente del servidor Honeycomb MCP. Integra Claude AI con Honeycomb para optimizar los flujos de trabajo de observabilidad y monitorización.

Configuración

Prerrequisitos

  • Node.js 18 o superior
  • Clave API de Honeycomb

Instalación

# Install globally npm install -g @kajirita2002/honeycomb-mcp-server # Or use directly with npx npx @kajirita2002/honeycomb-mcp-server

Configuración de variables de entorno

# Set environment variables export HONEYCOMB_API_KEY="your_honeycomb_api_key"

Ejemplo de configuración de MCP

Si está utilizando este servidor MCP, agregue la siguiente configuración a su archivo mcp_config.json :

"honeycomb": { "command": "npx", "args": ["-y", "@kajirita2002/honeycomb-mcp-server"], "env": { "HONEYCOMB_API_KEY": "your_honeycomb_api_key" } }

Iniciando el servidor

# Start the server npm start

Herramientas disponibles

Este servidor MCP proporciona las siguientes herramientas:

Autenticación

  1. honeycomb_auth
    • Se autentica con la API de Honeycomb
    • Aporte:
      • apiKey (cadena, opcional): clave de API de Honeycomb (si no se proporciona, utiliza una variable de entorno)

Gestión de conjuntos de datos

  1. honeycomb_datasets_list
    • Enumera todos los conjuntos de datos disponibles
    • No se requieren parámetros de entrada
  2. honeycomb_dataset_get
    • Obtiene información sobre un conjunto de datos específico
    • Aporte:
      • datasetSlug (cadena, obligatoria): Slug del conjunto de datos
  3. honeycomb_datasets_create
    • Crea un nuevo conjunto de datos
    • Aporte:
      • name (cadena, obligatorio): nombre del conjunto de datos
      • description (cadena, opcional): Descripción del conjunto de datos

Gestión de columnas

  1. honeycomb_columns_list
    • Enumera todas las columnas de un conjunto de datos
    • Aporte:
      • datasetSlug (cadena, obligatoria): Slug del conjunto de datos

Gestión de consultas

  1. honeycomb_query_create
    • Crea una nueva consulta para un conjunto de datos
    • Aporte:
      • datasetSlug (cadena, obligatoria): Slug del conjunto de datos
      • query (objeto, requerido): Configuración de la consulta
  2. honeycomb_query_result_create
    • Ejecuta una consulta y devuelve los resultados.
    • Aporte:
      • datasetSlug (cadena, obligatoria): Slug del conjunto de datos
      • query (objeto, requerido): Configuración de la consulta

Gestión de eventos

  1. honeycomb_event_create
    • Crea un nuevo evento en un conjunto de datos
    • Aporte:
      • datasetSlug (cadena, obligatoria): Slug del conjunto de datos
      • data (objeto, requerido): Datos del evento

Junta Directiva

  1. honeycomb_boards_list
    • Enumera todos los tableros
    • No se requieren parámetros de entrada
  2. honeycomb_board_get
    • Obtiene información sobre un tablero específico
    • Aporte:
      • boardId (cadena, obligatoria): ID del tablero
  3. honeycomb_board_create
    • Crea un nuevo tablero
    • Aporte:
      • name (cadena, obligatorio): Nombre del tablero
      • description (cadena, opcional): Descripción del tablero
      • query_ids (matriz de cadenas, opcional): ID de consulta que se incluirán en el tablero
  4. honeycomb_board_update
    • Actualiza un tablero existente
    • Aporte:
      • boardId (cadena, obligatoria): ID del tablero a actualizar
      • name (cadena, opcional): Nuevo nombre para el tablero
      • description (cadena, opcional): Nueva descripción para el tablero
      • query_ids (matriz de cadenas, opcional): nuevos ID de consulta para incluir en el tablero

Gestión de marcadores

  1. honeycomb_markers_list
    • Enumera todos los marcadores de un conjunto de datos
    • Aporte:
      • datasetSlug (cadena, obligatoria): Slug del conjunto de datos
  2. honeycomb_marker_create
    • Crea un nuevo marcador
    • Aporte:
      • datasetSlug (cadena, obligatoria): Slug del conjunto de datos
      • message (cadena, obligatorio): Mensaje para el marcador
      • type (cadena, obligatorio): Tipo del marcador
      • start_time (cadena, obligatoria): hora de inicio del marcador
      • end_time (cadena, opcional): hora de finalización del marcador
      • url (cadena, opcional): URL asociada con el marcador
    • Aporte:
      • datasetSlug (cadena, obligatoria): Slug del conjunto de datos
      • markerId (cadena, obligatoria): ID del marcador a eliminar

Ejemplo de uso

A continuación se muestra un ejemplo de Claude utilizando este servidor MCP para crear un nuevo conjunto de datos Honeycomb y agregar un evento:

[Claude] Please create a new dataset in Honeycomb called "Application Monitoring" with a description "Monitoring for our production application". [User] I'll help you create a new dataset in Honeycomb. [Claude] I'll create a new dataset for you in Honeycomb. I'll use the honeycomb_datasets_create tool: Input: { "name": "Application Monitoring", "description": "Monitoring for our production application" } The dataset has been created successfully! [Claude] Now, let me add an event to this dataset. I'll create an event with some sample metrics. I'll use the honeycomb_event_create tool: Input: { "datasetSlug": "application-monitoring", "data": { "service": "api-gateway", "duration_ms": 45.2, "status_code": 200, "endpoint": "/users", "method": "GET" } } Event created successfully! You can now see this event in the Honeycomb UI under the Application Monitoring dataset. [Claude] I can also create a query to analyze this data. Let me create a query that shows the average duration by endpoint. I'll use the honeycomb_query_create tool: Input: { "datasetSlug": "application-monitoring", "query": { "calculations": [ { "op": "AVG", "column": "duration_ms" } ], "breakdowns": ["endpoint"], "time_range": 3600 } }

Patrones de integración comunes

  1. Automatización de la observabilidad
    [User] Claude, please help me set up a new SLO for API response times. [Claude] I can help with that. Let me create an SLO to track API response times. I'll use honeycomb_slo_create with these parameters: { "datasetSlug": "production-api", "name": "API Response Time SLO", "description": "Tracks response time for critical API endpoints", "sli": { "alias": "Response Time < 300ms", "conditions": { "column": "duration_ms", "operator": "<", "value": 300 } }, "time_period_days": 30, "target_per_million": 995000 }
  2. Investigación de incidentes
    [User] We're seeing elevated error rates in production. Can you help investigate? [Claude] I'll help investigate the elevated error rates. Let me query the recent error data. First, I'll use honeycomb_query_result_create: { "datasetSlug": "production", "query": { "calculations": [ { "op": "COUNT" } ], "filters": [ { "column": "status_code", "operator": ">=", "value": 500 } ], "breakdowns": ["service", "endpoint"], "time_range": 3600, "granularity": 60 } }

Creando el conjunto de datos "Monitoreo de aplicaciones" con la descripción "Monitoreo para nuestra aplicación de producción"...

[Claude usa honeycomb_datasets_create]

¡El conjunto de datos se ha creado correctamente! Ahora podemos añadirle eventos.

¿Quieres que cree un evento de muestra en el conjunto de datos para probarlo?

[Usuario] Sí, agregue un evento de muestra.

[Claude] Agregaré un evento de muestra al conjunto de datos "Monitoreo de aplicaciones".

[Claude usa honeycomb_event_create]

¡Éxito! He añadido un evento de ejemplo a tu conjunto de datos "Monitoreo de aplicaciones" con los siguientes datos: { "service": "api-server", "message": "Inicio de sesión exitoso", "duration_ms": 45, "status_code": 200, "endpoint": "/api/login", "timestamp": "2025-03-25T14:30:00Z" }

Este evento representa una operación de inicio de sesión de usuario exitosa que tardó 45 ms en completarse.

Ahora puede ver este evento en su panel de Honeycomb y comenzar a crear consultas para analizar sus datos.

## Error Handling This MCP server returns error information in a consistent format. When an error occurs, the following structure is returned: ```json { "error": { "message": "Detailed error description", "code": "ERROR_CODE" } }

Códigos de error comunes

  • AUTH_ERROR : Error de autenticación. Verifique su clave API.
  • NOT_FOUND : No se encontró el recurso solicitado.
  • INVALID_PARAMETER : Uno o más parámetros no son válidos.
  • RATE_LIMIT : Se ha alcanzado el límite de velocidad de la API de Honeycomb.
  • SERVER_ERROR : Ocurrió un error interno del servidor.

Consejos para la solución de problemas

  1. Problemas de autenticación
    • Asegúrese de que su HONEYCOMB_API_KEY esté configurada correctamente
    • Verifique que la clave API tenga los permisos adecuados
  2. Conjunto de datos no encontrado
    • Confirme que el slug del conjunto de datos sea correcto (verifique si hay errores tipográficos)
    • Asegúrese de que el conjunto de datos exista en su cuenta de Honeycomb
  3. Problemas de ejecución de consultas
    • Validar que los parámetros de consulta estén formateados correctamente
    • Compruebe que los nombres de las columnas en las consultas coincidan con los de su conjunto de datos

Contribuyendo

¡Agradecemos las contribuciones al servidor Honeycomb MCP! Puedes contribuir de la siguiente manera:

Configuración de desarrollo

  1. Bifurcar el repositorio
  2. Clona tu bifurcación
    git clone https://github.com/your-username/honeycomb-mcp-server.git
  3. Instalar dependencias
    npm install
  4. Realiza tus cambios
  5. Ejecutar la compilación
    npm run build
  6. Pruebe sus cambios localmente

Proceso de solicitud de extracción

  1. Crear una rama de características
    git checkout -b feat-your-feature-name
  2. Confirme sus cambios siguiendo el formato de confirmaciones convencionales
    git commit -m "feat: add new feature"
  3. Empuja hacia tu tenedor
    git push origin feat-your-feature-name
  4. Abrir una solicitud de extracción

Estándares de codificación

  • Utilice TypeScript para todo el código nuevo
  • Seguir el estilo de código existente
  • Agregar comentarios para las API públicas
  • Escribir pruebas para nuevas funcionalidades

Licencia

Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.

ID: 29kwahuexd