honeycomb mcp server
honeycomb-mcp-server
honeycomb-mcp-server
Read this in Japanese
This server is an interface that uses the Model Context Protocol (MCP) to enable Claude AI to interact with the Honeycomb API.
With this MCP server, Claude AI can perform operations such as retrieving, creating, and updating Honeycomb datasets, queries, events, boards, markers, SLOs, and triggers.
This repository provides a standalone implementation of the Honeycomb MCP server. It integrates Claude AI with Honeycomb to streamline observability and monitoring workflows.
# Install globally
npm install -g @kajirita2002/honeycomb-mcp-server
# Or use directly with npx
npx @kajirita2002/honeycomb-mcp-server
# Set environment variables
export HONEYCOMB_API_KEY="your_honeycomb_api_key"
If you're using this MCP server, add the following configuration to your mcp_config.json
file:
"honeycomb": {
"command": "npx",
"args": ["-y", "@kajirita2002/honeycomb-mcp-server"],
"env": {
"HONEYCOMB_API_KEY": "your_honeycomb_api_key"
}
}
# Start the server
npm start
This MCP server provides the following tools:
honeycomb_auth
apiKey
(string, optional): Honeycomb API key (if not provided, uses environment variable)honeycomb_datasets_list
No input parameters required
honeycomb_dataset_get
Input:
datasetSlug
(string, required): Slug of the datasethoneycomb_datasets_create
name
(string, required): Name of the datasetdescription
(string, optional): Description of the datasethoneycomb_columns_list
datasetSlug
(string, required): Slug of the datasethoneycomb_query_create
Input:
datasetSlug
(string, required): Slug of the datasetquery
(object, required): Query configurationhoneycomb_query_result_create
datasetSlug
(string, required): Slug of the datasetquery
(object, required): Query configurationhoneycomb_event_create
datasetSlug
(string, required): Slug of the datasetdata
(object, required): Event datahoneycomb_boards_list
No input parameters required
honeycomb_board_get
Input:
boardId
(string, required): ID of the boardhoneycomb_board_create
Input:
name
(string, required): Name of the boarddescription
(string, optional): Description of the boardquery_ids
(array of strings, optional): Query IDs to include in the boardhoneycomb_board_update
boardId
(string, required): ID of the board to updatename
(string, optional): New name for the boarddescription
(string, optional): New description for the boardquery_ids
(array of strings, optional): New query IDs to include in the boardhoneycomb_markers_list
Input:
datasetSlug
(string, required): Slug of the datasethoneycomb_marker_create
datasetSlug
(string, required): Slug of the datasetmessage
(string, required): Message for the markertype
(string, required): Type of the markerstart_time
(string, required): Start time for the markerend_time
(string, optional): End time for the markerurl
(string, optional): URL associated with the markerdatasetSlug
(string, required): Slug of the datasetmarkerId
(string, required): ID of the marker to deleteHere's an example of Claude using this MCP server to create a new Honeycomb dataset and add an event:
[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
}
}
Observability Automation
[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
}
Incident Investigation
[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
}
}
Creating dataset "Application Monitoring" with the description "Monitoring for our production application"...
[Claude uses honeycomb_datasets_create]
The dataset has been successfully created! Now we can add events to it.
Would you like me to create a sample event in the dataset to test it?
[User] Yes, please add a sample event.
[Claude] I'll add a sample event to the "Application Monitoring" dataset.
[Claude uses honeycomb_event_create]
Success! I've added a sample event to your "Application Monitoring" dataset with the following data: { "service": "api-server", "message": "User login successful", "duration_ms": 45, "status_code": 200, "endpoint": "/api/login", "timestamp": "2025-03-25T14:30:00Z" }
This event represents a successful user login operation that took 45ms to complete.
You can now view this event in your Honeycomb dashboard and start building queries to analyze your data.
## 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"
}
}
AUTH_ERROR
: Authentication failed. Check your API key.NOT_FOUND
: The requested resource was not found.INVALID_PARAMETER
: One or more parameters are invalid.RATE_LIMIT
: Honeycomb API rate limit has been reached.SERVER_ERROR
: Internal server error occurred.HONEYCOMB_API_KEY
is set correctlyVerify the API key has appropriate permissions
Dataset Not Found
Make sure the dataset exists in your Honeycomb account
Query Execution Issues
Contributions to the Honeycomb MCP server are welcome! Here's how you can contribute:
git clone https://github.com/your-username/honeycomb-mcp-server.git
npm install
npm run build
git checkout -b feat-your-feature-name
git commit -m "feat: add new feature"
git push origin feat-your-feature-name
This project is licensed under the MIT License - see the LICENSE file for details.