hny-mcp

MIT License
2
12
  • Linux
  • Apple

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

  • Required runtime environment for operating the MCP server, with version 16+ needed.

  • Package manager used for installation and building the MCP server.

MCP de panal

Un servidor de Protocolo de Contexto de Modelo para interactuar con los datos de observabilidad de Honeycomb. Este servidor permite a los LLM como Claude analizar y consultar directamente sus conjuntos de datos de Honeycomb en múltiples entornos.

Solo Honeycomb Enterprise

Actualmente, esto solo está disponible para clientes de Honeycomb Enterprise.

Cómo funciona

Actualmente, este es un proceso de servidor único que debe ejecutar en su propia computadora . No está autenticado. Toda la información entre su cliente y el servidor utiliza STDIO.

Instalación

pnpm install pnpm run build

El artefacto de compilación va a la carpeta /build .

Configuración

Para utilizar este servidor MCP, debe proporcionar claves de API de Honeycomb a través de variables de entorno en su configuración de MCP.

{ "mcpServers": { "honeycomb": { "command": "node", "args": [ "/fully/qualified/path/to/honeycomb-mcp/build/index.mjs" ], "env": { "HONEYCOMB_API_KEY": "your_api_key" } } } }

Para múltiples entornos:

{ "mcpServers": { "honeycomb": { "command": "node", "args": [ "/fully/qualified/path/to/honeycomb-mcp/build/index.mjs" ], "env": { "HONEYCOMB_ENV_PROD_API_KEY": "your_prod_api_key", "HONEYCOMB_ENV_STAGING_API_KEY": "your_staging_api_key" } } } }

Importante: Estas variables de entorno deben configurarse en el bloque env de su configuración de MCP.

Configuración de la UE

Los clientes de la UE también deben establecer una configuración HONEYCOMB_API_ENDPOINT , ya que el MCP tiene como opción predeterminada la instancia que no es de la UE.

# Optional custom API endpoint (defaults to https://api.honeycomb.io) HONEYCOMB_API_ENDPOINT=https://api.eu1.honeycomb.io/

Configuración de almacenamiento en caché

El servidor MCP implementa el almacenamiento en caché para todas las llamadas a la API de Honeycomb que no sean de consulta para mejorar el rendimiento y reducir el uso de la API. El almacenamiento en caché se puede configurar mediante estas variables de entorno:

# Enable/disable caching (default: true) HONEYCOMB_CACHE_ENABLED=true # Default TTL in seconds (default: 300) HONEYCOMB_CACHE_DEFAULT_TTL=300 # Resource-specific TTL values in seconds (defaults shown) HONEYCOMB_CACHE_DATASET_TTL=900 # 15 minutes HONEYCOMB_CACHE_COLUMN_TTL=900 # 15 minutes HONEYCOMB_CACHE_BOARD_TTL=900 # 15 minutes HONEYCOMB_CACHE_SLO_TTL=900 # 15 minutes HONEYCOMB_CACHE_TRIGGER_TTL=900 # 15 minutes HONEYCOMB_CACHE_MARKER_TTL=900 # 15 minutes HONEYCOMB_CACHE_RECIPIENT_TTL=900 # 15 minutes HONEYCOMB_CACHE_AUTH_TTL=3600 # 1 hour # Maximum cache size (items per resource type) HONEYCOMB_CACHE_MAX_SIZE=1000

Compatibilidad del cliente

Honeycomb MCP se ha probado con los siguientes clientes:

Probablemente funcionará con otros clientes.

Características

  • Consultar conjuntos de datos de Honeycomb en múltiples entornos
  • Ejecute consultas analíticas con soporte para:
    • Múltiples tipos de cálculo (COUNT, AVG, P95, etc.)
    • Averías y filtros
    • Análisis basado en el tiempo
  • Supervisar los SLO y su estado (solo Enterprise)
  • Analizar columnas y patrones de datos
  • Ver y analizar activadores
  • Acceder a los metadatos del conjunto de datos y a la información del esquema
  • Rendimiento optimizado con almacenamiento en caché basado en TTL para todas las llamadas API que no sean de consulta

Recursos

Acceda a los conjuntos de datos de Honeycomb mediante URI en el formato: honeycomb://{environment}/{dataset}

Por ejemplo:

  • honeycomb://production/api-requests
  • honeycomb://staging/backend-services

La respuesta de recursos incluye:

  • Nombre del conjunto de datos
  • Información de la columna (nombre, tipo, descripción)
  • Detalles del esquema

Herramientas

  • list_datasets : enumera todos los conjuntos de datos en un entorno
    { "environment": "production" }
  • get_columns : Obtener información de la columna para un conjunto de datos
    { "environment": "production", "dataset": "api-requests" }
  • run_query : Ejecuta consultas analíticas con opciones enriquecidas
    { "environment": "production", "dataset": "api-requests", "calculations": [ { "op": "COUNT" }, { "op": "P95", "column": "duration_ms" } ], "breakdowns": ["service.name"], "time_range": 3600 }
  • analyze_columns : analiza columnas específicas en un conjunto de datos ejecutando consultas estadísticas y devolviendo métricas calculadas.
  • list_slos : enumera todos los SLO para un conjunto de datos
    { "environment": "production", "dataset": "api-requests" }
  • get_slo : Obtener información detallada de SLO
    { "environment": "production", "dataset": "api-requests", "sloId": "abc123" }
  • list_triggers : enumera todos los activadores de un conjunto de datos
    { "environment": "production", "dataset": "api-requests" }
  • get_trigger : Obtener información detallada del disparador
    { "environment": "production", "dataset": "api-requests", "triggerId": "xyz789" }
  • get_trace_link : genera un enlace profundo a un seguimiento específico en la interfaz de usuario de Honeycomb
  • get_instrumentation_help : Proporciona orientación sobre la instrumentación de OpenTelemetry
    { "language": "python", "filepath": "app/services/payment_processor.py" }

Ejemplos de consultas con Claude

Pregúntale a Claude cosas como:

  • "¿Qué conjuntos de datos están disponibles en el entorno de producción?"
  • "Muéstrame la latencia P95 del servicio API durante la última hora"
  • "¿Cuál es la tasa de error desglosada por nombre de servicio?"
  • ¿Hay algún SLO que esté a punto de superar su presupuesto?
  • "Muéstrame todos los activadores activos en el entorno de prueba"
  • "¿Qué columnas están disponibles en el conjunto de datos de la API de producción?"

Respuestas optimizadas de la herramienta

Todas las respuestas de la herramienta están optimizadas para reducir el uso de la ventana de contexto y al mismo tiempo mantener la información esencial:

  • Lista de conjuntos de datos : devuelve solo nombre, slug y descripción
  • Obtener columnas : devuelve información de columna simplificada centrándose en el nombre, el tipo y la descripción
  • Ejecutar consulta :
    • Incluye resultados reales y metadatos necesarios
    • Agrega estadísticas de resumen calculadas automáticamente
    • Solo incluye datos de series para consultas de mapas de calor
    • Omite metadatos detallados, enlaces y detalles de ejecución.
  • Analizar columna :
    • Devuelve valores superiores, recuentos y estadísticas clave
    • Calcula automáticamente métricas numéricas cuando corresponde
  • Información de SLO : optimizada para indicadores de estado clave y métricas de rendimiento
  • Información del disparador : centrada en el estado del disparador, las condiciones y los objetivos de notificación

Esta optimización garantiza que las respuestas sean concisas pero completas, lo que permite a los LLM procesar más datos dentro de las limitaciones del contexto.

Especificación de consulta para run_query

La herramienta run_query admite una especificación de consulta integral:

  • cálculos : Matriz de operaciones a realizar
    • Operaciones admitidas: CONTAR, CONCURRENCIA, CONTAR_DISTINTOS, MAPA DE CALOR, SUMA, PROMEDIO, MÁXIMO, MÍNIMO, P001, P01, P05, P10, P25, P50, P75, P90, P95, P99, P999, TASA_PROMEDIO, TASA_SUMA, TASA_MÁXIMA
    • Algunas operaciones como COUNT y CONCURRENCY no requieren una columna
    • Ejemplo: {"op": "HEATMAP", "column": "duration_ms"}
  • filtros : Matriz de condiciones de filtro
    • Operadores admitidos: =, !=, >, >=, <, <=, empieza por, no empieza por, existe, no existe, contiene, no contiene, en, no en
    • Ejemplo: {"column": "error", "op": "=", "value": true}
  • filter_combination : "AND" o "OR" (el valor predeterminado es "AND")
  • Desgloses : Matriz de columnas para agrupar los resultados por
    • Ejemplo: ["service.name", "http.status_code"]
  • pedidos : Matriz que especifica cómo ordenar los resultados
    • Debe hacer referencia a columnas de desgloses o cálculos
    • La operación HEATMAP no se puede utilizar en pedidos
    • Ejemplo: {"op": "COUNT", "order": "descending"}
  • time_range : rango de tiempo relativo en segundos (por ejemplo, 3600 para la última hora)
    • Se puede combinar con start_time o end_time, pero no con ambos.
  • start_time y end_time : marcas de tiempo UNIX para rangos de tiempo absolutos
  • tener : Filtrar resultados según valores de cálculo
    • Ejemplo: {"calculate_op": "COUNT", "op": ">", "value": 100}

Consultas de ejemplo

A continuación se muestran algunos ejemplos de consultas del mundo real:

Detectar llamadas API lentas

{ "environment": "production", "dataset": "api-requests", "calculations": [ {"column": "duration_ms", "op": "HEATMAP"}, {"column": "duration_ms", "op": "MAX"} ], "filters": [ {"column": "trace.parent_id", "op": "does-not-exist"} ], "breakdowns": ["http.target", "name"], "orders": [ {"column": "duration_ms", "op": "MAX", "order": "descending"} ] }

Distribución de llamadas a bases de datos (semana pasada)

{ "environment": "production", "dataset": "api-requests", "calculations": [ {"column": "duration_ms", "op": "HEATMAP"} ], "filters": [ {"column": "db.statement", "op": "exists"} ], "breakdowns": ["db.statement"], "time_range": 604800 }

Recuento de excepciones por excepción y llamador

{ "environment": "production", "dataset": "api-requests", "calculations": [ {"op": "COUNT"} ], "filters": [ {"column": "exception.message", "op": "exists"}, {"column": "parent_name", "op": "exists"} ], "breakdowns": ["exception.message", "parent_name"], "orders": [ {"op": "COUNT", "order": "descending"} ] }

Desarrollo

pnpm install pnpm run build

Requisitos

  • Node.js 16+
  • Claves API de Honeycomb con permisos adecuados:
    • Acceso a consultas para análisis
    • Acceso de lectura para SLO y activadores
    • Acceso a nivel de entorno para operaciones de conjuntos de datos

Licencia

Instituto Tecnológico de Massachusetts (MIT)

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Servidor para interactuar con los datos de observabilidad de Honeycomb. Este servidor permite a los LLM como Claude analizar y consultar directamente sus conjuntos de datos de Honeycomb.

  1. Honeycomb Enterprise Only
    1. How it works
      1. Installation
        1. Configuration
          1. EU Configuration
          2. Caching Configuration
        2. Client compatibility
          1. Features
            1. Resources
            2. Tools
            3. Example Queries with Claude
            4. Optimized Tool Responses
            5. Query Specification for run_query
            6. Example Queries
          2. Development
            1. Requirements
              1. License
                ID: 8zeou4ict1