Honeycomb MCP Server
A Model Context Protocolβ server for interacting with Honeycomb observability data. This server enables LLMs like Claude to directly analyze and query your Honeycomb datasets across multiple environments.
Features
- Query Honeycomb datasets across multiple environments
- Analyze columns and data patterns
- Run analytics queries with support for:
- Multiple calculation types (COUNT, AVG, P95, etc.)
- Breakdowns and filters
- Time-based analysis
- Monitor SLOs and their status
- View and analyze Triggers
- Access dataset metadata and schema information
Installation
pnpm install
pnpm run buildConfiguration
Create a configuration file at .mcp-honeycomb.json in one of these locations:
- Current directory
- Home directory (
~/.mcp-honeycomb.json) - Custom location specified by
MCP_HONEYCOMB_CONFIGenvironment variable
Example configuration:
{
"environments": [
{
"name": "production",
"apiKey": "your_prod_api_key"
},
{
"name": "staging",
"apiKey": "your_staging_api_key"
}
]
}Usage
With Claude or other MCP Clients
The server exposes both resources and tools for interacting with Honeycomb data.
Resources
Access Honeycomb datasets using URIs in the format:
honeycomb://{environment}/{dataset}
For example:
honeycomb://production/api-requestshoneycomb://staging/backend-services
The resource response includes:
- Dataset name
- Column information (name, type, description)
- Schema details
Tools
-
list_datasets: List all datasets in an environment{ "environment": "production" } -
get_columns: Get column information for a dataset{ "environment": "production", "dataset": "api-requests" } -
run_query: Run analytics queries with rich options{ "environment": "production", "dataset": "api-requests", "calculations": [ { "op": "COUNT" }, { "op": "P95", "column": "duration_ms" } ], "breakdowns": ["service.name"], "time_range": 3600 } -
analyze_column: Get statistical analysis of a column{ "environment": "production", "dataset": "api-requests", "column": "duration_ms" } -
list_slos: List all SLOs for a dataset{ "environment": "production", "dataset": "api-requests" } -
get_slo: Get detailed SLO information{ "environment": "production", "dataset": "api-requests", "sloId": "abc123" } -
list_triggers: List all triggers for a dataset{ "environment": "production", "dataset": "api-requests" } -
get_trigger: Get detailed trigger information{ "environment": "production", "dataset": "api-requests", "triggerId": "xyz789" }
Example Queries
Ask Claude things like:
- βWhat datasets are available in the production environment?β
- βShow me the P95 latency for the API service over the last hourβ
- βWhatβs the error rate broken down by service name?β
- βAre there any SLOs close to breaching their budget?β
- βShow me all active triggers in the staging environmentβ
- βWhat columns are available in the production API dataset?β
Development
pnpm install
pnpm run buildRequirements
- Node.js 16+
- Honeycomb API keys with appropriate permissions:
- Query access for analytics
- Read access for SLOs and Triggers
- Environment-level access for dataset operations
License
MIT