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

要求
Node.js 18+
具有完全权限的 Honeycomb API 密钥:
查询分析访问权限
SLO 和触发器的读取权限
数据集操作的环境级别访问
Honeycomb MCP 实际上是 Honeycomb 的完整替代接口,因此您需要对 API 拥有广泛的权限。
Related MCP server: Redis
仅限 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-requestshoneycomb://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_time和end_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执照
麻省理工学院
Appeared in Searches
- Natural Language to SQL Conversion and Executing MySQL Queries to Retrieve Data
- Tools for generating charts based on data
- A tool for analyzing user feedback data to support app product development
- A generic RESTful API request tool for testing and integration
- Analyser les données des marchés boursiers pour améliorer les stratégies d'investissement