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.

蜂窝微通道板

用于与 Honeycomb 可观测性数据交互的模型上下文协议服务器。该服务器使像 Claude 这样的法学硕士 (LLM) 能够跨多个环境直接分析和查询 Honeycomb 数据集。

仅限 Honeycomb Enterprise

目前,该功能仅适用于 Honeycomb Enterprise 客户。

工作原理

目前,这是一个单服务器进程**,您必须在自己的计算机上运行**。它无需身份验证。所有信息都使用客户端和服务器之间的 STDIO 进行传输。

安装

pnpm install pnpm run build

构建工件进入/build文件夹。

配置

要使用此 MCP 服务器,您需要通过 MCP 配置中的环境变量提供 Honeycomb API 密钥。

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

对于多种环境:

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

重要提示:这些环境变量必须在 MCP 配置的env块中设置。

欧盟配置

由于 MCP 默认为非欧盟实例,因此欧盟客户还必须设置HONEYCOMB_API_ENDPOINT配置。

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

缓存配置

MCP 服务器为所有非查询 Honeycomb API 调用实现了缓存,以提高性能并减少 API 使用率。您可以使用以下环境变量配置缓存:

# 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

客户端兼容性

Honeycomb MCP 已通过以下客户端测试:

它可能会与其他客户端合作。

特征

  • 跨多个环境查询 Honeycomb 数据集
  • 运行分析查询并支持以下功能:
    • 多种计算类型(COUNT、AVG、P95 等)
    • 细分和过滤器
    • 基于时间的分析
  • 监控 SLO 及其状态(仅限企业)
  • 分析列和数据模式
  • 查看和分析触发器
  • 访问数据集元数据和架构信息
  • 通过基于 TTL 的缓存优化所有非查询 API 调用的性能

资源

使用以下格式的 URI 访问 Honeycomb 数据集: honeycomb://{environment}/{dataset}

例如:

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

资源响应包括:

  • 数据集名称
  • 列信息(名称、类型、描述)
  • 架构详细信息

工具

  • list_datasets :列出环境中的所有数据集
    { "environment": "production" }
  • get_columns :获取数据集的列信息
    { "environment": "production", "dataset": "api-requests" }
  • run_query :使用丰富的选项运行分析查询
    { "environment": "production", "dataset": "api-requests", "calculations": [ { "op": "COUNT" }, { "op": "P95", "column": "duration_ms" } ], "breakdowns": ["service.name"], "time_range": 3600 }
  • analyze_columns :通过运行统计查询并返回计算指标来分析数据集中的特定列。
  • list_slos :列出数据集的所有 SLO
    { "environment": "production", "dataset": "api-requests" }
  • get_slo :获取详细的 SLO 信息
    { "environment": "production", "dataset": "api-requests", "sloId": "abc123" }
  • list_triggers :列出数据集的所有触发器
    { "environment": "production", "dataset": "api-requests" }
  • get_trigger :获取详细的触发器信息
    { "environment": "production", "dataset": "api-requests", "triggerId": "xyz789" }
  • get_trace_link :生成指向 Honeycomb UI 中特定跟踪的深层链接
  • get_instrumentation_help :提供 OpenTelemetry 检测指导
    { "language": "python", "filepath": "app/services/payment_processor.py" }

Claude 的示例查询

向克劳德询问以下问题:

  • “生产环境中有哪些可用的数据集?”
  • “显示过去一小时内 API 服务的 P95 延迟”
  • “按服务名称细分的错误率是多少?”
  • “有哪些 SLO 接近超出预算?”
  • “显示暂存环境中的所有活动触发器”
  • “生产 API 数据集中有哪些可用的列?”

优化工具响应

所有工具响应都经过优化,以减少上下文窗口的使用,同时保留基本信息:

  • 列出数据集:仅返回名称、slug 和描述
  • 获取列:返回简化的列信息,重点关注名称、类型和描述
  • 运行查询
    • 包括实际结果和必要的元数据
    • 添加自动计算的汇总统计数据
    • 仅包含热图查询的系列数据
    • 省略详细的元数据、链接和执行细节
  • 分析列
    • 返回最高值、计数和关键统计数据
    • 在适当的时候自动计算数值指标
  • SLO 信息:精简为关键状态指标和绩效指标
  • 触发信息:重点关注触发状态、条件、通知对象

这种优化确保响应简洁而完整,从而允许 LLM 在上下文限制内处理更多数据。

run_query的查询规范

run_query工具支持全面的查询规范:

  • 计算:要执行的操作数组
    • 支持的操作:COUNT、CONCURRENCY、COUNT_DISTINCT、HEATMAP、SUM、AVG、MAX、MIN、P001、P01、P05、P10、P25、P50、P75、P90、P95、P99、P999、RATE_AVG、RATE_SUM、RATE_MAX
    • 某些操作(例如 COUNT 和 CONCURRENCY)不需要列
    • 例如: {"op": "HEATMAP", "column": "duration_ms"}
  • filters :过滤条件数组
    • 支持的运算符:=、!=、>、>=、<、<=、starts-with、does-not-start-with、exists、does-not-exist、contains、does-not-contain、in、not-in
    • 例如: {"column": "error", "op": "=", "value": true}
  • filter_combination :“AND”或“OR”(默认为“AND”)
  • breakdowns :按列对结果进行分组的数组
    • 例如: ["service.name", "http.status_code"]
  • orders :指定如何对结果进行排序的数组
    • 必须引用细分或计算中的列
    • HEATMAP 操作不能用于订单
    • 例如: {"op": "COUNT", "order": "descending"}
  • time_range :相对时间范围(以秒为单位)(例如,过去一小时为 3600 秒)
    • 可以与 start_time 或 end_time 结合使用,但不能同时与两者结合使用
  • start_timeend_time :绝对时间范围的 UNIX 时间戳
  • having :根据计算值过滤结果
    • 例如: {"calculate_op": "COUNT", "op": ">", "value": 100}

示例查询

以下是一些真实示例查询:

查找缓慢的 API 调用

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

DB 调用分布(上周)

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

按异常和调用者统计的异常数量

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

发展

pnpm install pnpm run build

要求

  • Node.js 16+
  • 具有适当权限的 Honeycomb API 密钥:
    • 查询分析访问权限
    • SLO 和触发器的读取权限
    • 数据集操作的环境级别访问

执照

麻省理工学院

You must be authenticated.

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

用于与 Honeycomb 可观测性数据交互的服务器。该服务器使像 Claude 这样的法学硕士 (LLM) 能够直接分析和查询您的 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