honeycomb-mcp-server
The Honeycomb MCP server enables Claude AI to interact with Honeycomb's API for observability and monitoring workflows. This interface provides capabilities for:
Authentication: Validate API keys and authenticate with Honeycomb
Dataset Management: List, create, update, and retrieve datasets
Column Management: List columns within datasets
Query Management: Create, retrieve, execute, and get results of queries
Event Management: Create single or batch events in datasets
Board Management: List, create, update, retrieve, and delete boards
Marker Management: List, create, update, retrieve, and delete markers
SLO Management: List, create, update, and retrieve Service Level Objectives
Trigger Management: List, create, update, retrieve, and delete triggers
Provides tools for interacting with the Honeycomb API, enabling operations such as retrieving, creating, and updating Honeycomb datasets, queries, events, boards, markers, SLOs, and triggers to streamline observability and monitoring workflows.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@honeycomb-mcp-serverlist all datasets in our Honeycomb environment"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Honeycomb MCP Server
Read this in Japanese
Overview
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.
Related MCP server: @profullstack/mcp-server
About the Repository
This repository provides a standalone implementation of the Honeycomb MCP server. It integrates Claude AI with Honeycomb to streamline observability and monitoring workflows.
Setup
Prerequisites
Node.js 18 or higher
Honeycomb API key
Installation
# Install globally
npm install -g @kajirita2002/honeycomb-mcp-server
# Or use directly with npx
npx @kajirita2002/honeycomb-mcp-serverSetting Environment Variables
# Set environment variables
export HONEYCOMB_API_KEY="your_honeycomb_api_key"MCP Configuration Example
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"
}
}Starting the Server
# Start the server
npm startAvailable Tools
This MCP server provides the following tools:
Authentication
honeycomb_authAuthenticates with the Honeycomb API and validates your API key
No input parameters required (uses environment variable)
Dataset Management
honeycomb_datasets_listLists all available datasets in your Honeycomb environment
No input parameters required
honeycomb_dataset_getGets detailed information about a specific dataset
Input:
datasetSlug(string, required): Slug of the dataset to retrieve
Column Management
honeycomb_columns_listLists all columns in a dataset with optional filtering
Input:
datasetSlug(string, required): Slug of the datasetkey_name(string, optional): Filter by a specific column key name
Query Management
honeycomb_query_createCreates a new query for a dataset
Input:
datasetSlug(string, required): Slug of the datasetquery(object, required): Query configuration object with calculation, time range, and filters
honeycomb_query_getGets information about a specific query
Input:
datasetSlug(string, required): Slug of the datasetqueryId(string, required): ID of the query to retrieve
honeycomb_query_result_createExecutes a query and returns the results (runs a query)
Input:
datasetSlug(string, required): Slug of the datasetqueryId(string, required): ID of the query to rundisable_series(boolean, optional): Whether to disable series datadisable_total_by_aggregate(boolean, optional): Whether to disable total aggregatesdisable_other_by_aggregate(boolean, optional): Whether to disable other aggregateslimit(integer, optional): Limit on the number of results
honeycomb_query_result_getGets the results of a previously executed query
Input:
datasetSlug(string, required): Slug of the datasetqueryResultId(string, required): ID of the query result to retrieve
Dataset Definitions
honeycomb_dataset_definitions_listLists dataset definitions with pagination support
Input:
page(number, optional): Page number (starting from 1)limit(number, optional): Number of results per page (default: 100, max: 1000)sort_by(string, optional): Field to sort by (e.g. 'name', 'description')sort_order(string, optional): Sort order ('asc' or 'desc')
Board Management
honeycomb_boards_listLists all available boards
No input parameters required
honeycomb_board_getGets detailed information about a specific board
Input:
boardId(string, required): ID of the board to retrieve
Example Usage
Here's an example of Claude using this MCP server to list datasets and run a query:
[Claude] Can you show me the available datasets in our Honeycomb environment?
[User] Sure, I'd like to see what datasets we have in Honeycomb.
[Claude] I'll list all the available datasets in your Honeycomb environment.
I'll use the honeycomb_datasets_list tool...
Here are your available datasets:
- production-metrics (slug: prod-metrics)
- staging-services (slug: staging-svc)
- application-logs (slug: app-logs)
Which dataset would you like to explore further?
[User] Let's look at the production-metrics dataset.
[Claude] I'll get details about the production-metrics dataset using honeycomb_dataset_get with the slug "prod-metrics"...
Now I'll create and run a query to show the average response time over the last 24 hours.
I'll use honeycomb_query_create and then honeycomb_query_result_create...
Here are the results showing the average response time trend:
[Query results visualization description]
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
}
}Common Integration Patterns
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"
}
}Common Error Codes
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.
Troubleshooting Tips
Authentication Issues
Ensure your
HONEYCOMB_API_KEYis set correctlyVerify the API key has appropriate permissions
Dataset Not Found
Confirm that the dataset slug is correct (check for typos)
Make sure the dataset exists in your Honeycomb account
Query Execution Issues
Validate that query parameters are formatted correctly
Check column names in queries match those in your dataset
Contributing
Contributions to the Honeycomb MCP server are welcome! Here's how you can contribute:
Development Setup
Fork the repository
Clone your fork
git clone https://github.com/your-username/honeycomb-mcp-server.gitInstall dependencies
npm installMake your changes
Run the build
npm run buildTest your changes locally
Pull Request Process
Create a feature branch
git checkout -b feat-your-feature-nameCommit your changes following Conventional Commits format
git commit -m "feat: add new feature"Push to your fork
git push origin feat-your-feature-nameOpen a Pull Request
Coding Standards
Use TypeScript for all new code
Follow the existing code style
Add comments for public APIs
Write tests for new functionality
License
This project is licensed under the MIT License - see the LICENSE file for details.
Available Tools
31 toolshoneycomb_authB
Get authentication information and validate API key
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions 'validate API key' which implies a read-only check, but doesn't specify what authentication information is returned, whether it includes permissions or rate limits, or what happens on validation failure. This leaves critical behavioral aspects undocumented.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is perfectly concise with just 7 words that directly state the tool's function. Every word earns its place, and there's no redundant or unnecessary information. The structure is front-loaded with the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an authentication tool with no annotations and no output schema, the description is insufficient. It doesn't explain what 'authentication information' includes, what format it returns, or what validation entails. Given the importance of authentication in API workflows and the lack of structured output documentation, this leaves too many unanswered questions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters with 100% schema description coverage, so the baseline is 4. The description appropriately doesn't discuss parameters since none exist, and it doesn't need to compensate for any schema gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with specific verbs ('Get authentication information' and 'validate API key'), making it distinct from sibling tools that perform CRUD operations on Honeycomb resources. However, it doesn't explicitly differentiate itself from hypothetical authentication alternatives beyond the sibling list provided.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, prerequisites, or context for invocation. It lacks explicit instructions on when authentication validation is needed in the workflow, which is a significant gap for an authentication-related tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
honeycomb_batch_event_createC
Create multiple events in a dataset in a single batch
| Name | Required | Description | Default |
|---|---|---|---|
| datasetSlug | Yes | Dataset slug to create events in | |
| events | Yes | Array of event data to send |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It states this is a creation operation (implying mutation) but doesn't mention authentication requirements, rate limits, error handling, whether events are validated before insertion, or what happens on partial failures. This leaves significant gaps for safe agent usage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that communicates the core functionality without unnecessary words. It's appropriately sized for a straightforward batch creation operation and front-loads the key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description is insufficient. It doesn't address critical aspects like response format, error conditions, idempotency, or how this tool differs from its single-event sibling. The agent lacks necessary context for reliable usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters adequately. The description doesn't add any meaningful semantic context beyond what's in the schema - it doesn't explain event data structure, format expectations, or constraints on the array size. Baseline 3 is appropriate when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Create multiple events') and target resource ('in a dataset in a single batch'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from its sibling 'honeycomb_event_create' (singular event creation), which would be helpful for precise tool selection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'honeycomb_event_create' for single events or other data ingestion methods. It lacks context about batch size limits, performance considerations, or prerequisites for dataset existence.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
honeycomb_board_createC
Create a new board
| Name | Required | Description | Default |
|---|---|---|---|
| description | No | Description of the board | |
| name | Yes | Name of the board | |
| query_ids | No | Query IDs to include in the board |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Create a new board' implies a write operation that likely requires permissions and may have side effects (e.g., creating a persistent resource), but it doesn't specify authentication needs, rate limits, error conditions, or what happens on success (e.g., returns a board ID). For a mutation tool with zero annotation coverage, this lack of behavioral context is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at three words, front-loading the core action and resource without any wasted text. Every word earns its place by directly conveying the tool's purpose. This efficiency makes it easy for an agent to parse quickly, though it sacrifices detail for brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a creation tool with no annotations and no output schema, the description is incomplete. It doesn't cover behavioral aspects like authentication requirements, error handling, or return values (e.g., what happens after creation). While the schema covers parameters well, the overall context for safe and effective use is lacking, especially compared to siblings that might have more descriptive names or annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with clear descriptions for name, description, and query_ids parameters in the input schema. The description adds no additional parameter semantics beyond what's already documented in the schema. According to the rules, when schema coverage is high (>80%), the baseline score is 3 even with no param info in the description, which applies here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Create a new board' clearly states the action (create) and resource (board), making the purpose immediately understandable. It distinguishes from siblings like board_get, board_update, and board_delete by specifying creation rather than retrieval, modification, or deletion. However, it doesn't specify what a 'board' is in the Honeycomb context, which could help differentiate from other creation tools like datasets_create or query_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing authentication via honeycomb_auth), when to choose this over board_update for modifications, or how it relates to board_delete or boards_list. Without such context, an agent must infer usage from the name alone, which is insufficient for optimal tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
honeycomb_board_deleteB
Delete a board
| Name | Required | Description | Default |
|---|---|---|---|
| boardId | Yes | Board ID to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Delete a board' implies a destructive mutation, but it doesn't specify whether this action is reversible, requires specific permissions, has side effects (e.g., deleting associated data), or what happens on success/failure. For a destructive tool with zero annotation coverage, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise ('Delete a board')—just three words that directly convey the core action. It's front-loaded with the essential verb and resource, with no wasted words or unnecessary elaboration. This is a model of efficiency for a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given this is a destructive mutation tool with no annotations and no output schema, the description is incomplete. It doesn't address critical context like what 'delete' entails (permanent? cascading?), authentication requirements, error handling, or return values. The 100% schema coverage helps with parameters, but overall context for safe and effective use is lacking.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no parameter semantics beyond what the input schema provides, but schema description coverage is 100% (the single parameter 'boardId' is fully described in the schema). With 0 parameters needing additional explanation from the description, the baseline is 4. The description doesn't compensate for any gaps because there are none.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Delete') and resource ('a board'), making the purpose immediately understandable. It distinguishes from siblings like honeycomb_board_get, honeycomb_board_create, and honeycomb_board_update by specifying deletion rather than retrieval, creation, or modification. However, it doesn't specify what type of board (e.g., Honeycomb board for observability) beyond the context of sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., board must exist), consequences (e.g., irreversible deletion), or when to choose deletion over update or other operations. With siblings like honeycomb_board_update available, this lack of context leaves the agent guessing about appropriate usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
honeycomb_board_getC
Get information about a specific board
| Name | Required | Description | Default |
|---|---|---|---|
| boardId | Yes | Board ID to retrieve |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. It states 'Get information' which implies a read-only operation, but doesn't specify permissions needed, rate limits, error conditions, or what the return format looks like (e.g., JSON structure). For a tool with zero annotation coverage, this leaves significant gaps in understanding its behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose ('Get information about a specific board') with zero wasted words. It's appropriately sized for a simple retrieval tool and earns its place by clearly stating the action and target.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete for a tool that retrieves data. It doesn't explain what information is returned (e.g., board details, metadata), error handling, or how it differs from sibling tools. For a read operation with no structured output documentation, more context is needed to be fully helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the single parameter 'boardId' clearly documented in the schema as 'Board ID to retrieve'. The description adds no additional meaning beyond this, such as format examples or where to find board IDs. With high schema coverage, the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get information') and resource ('about a specific board'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'honeycomb_board_update' or 'honeycomb_boards_list' beyond the basic verb, missing specificity about what type of information is retrieved.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. With siblings like 'honeycomb_boards_list' (for listing boards) and 'honeycomb_board_update' (for modifying boards), the description lacks context on prerequisites (e.g., needing a board ID) or exclusions (e.g., not for creating boards).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
honeycomb_boards_listB
List all boards
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. 'List all boards' implies a read-only operation that returns multiple items, but it doesn't specify whether this requires authentication, how results are paginated or formatted, or if there are any rate limits. This leaves significant gaps for an AI agent to understand the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description 'List all boards' is extremely concise—just three words—and front-loaded with the core action. There is no wasted language, making it efficient for quick understanding without unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete for a list operation. It doesn't explain what 'boards' are in this context (e.g., Honeycomb data visualization boards), how results are returned, or any prerequisites like authentication. For a tool with no structured support, more context is needed to be fully helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, and the input schema has 100% description coverage (though empty). The description doesn't need to add parameter semantics since there are no parameters, so it meets the baseline expectation. No additional value is required beyond stating the action.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'List all boards' clearly states the verb ('List') and resource ('boards'), making the purpose immediately understandable. However, it doesn't distinguish this tool from other list tools like honeycomb_columns_list or honeycomb_markers_list, which have similar naming patterns for different resources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With sibling tools like honeycomb_board_get (for a specific board) and honeycomb_board_create (for creating boards), there's no indication of when listing all boards is appropriate versus retrieving a single board or creating a new one.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
honeycomb_board_updateC
Update an existing board
| Name | Required | Description | Default |
|---|---|---|---|
| boardId | Yes | Board ID to update | |
| description | No | New description for the board | |
| name | No | New name for the board | |
| query_ids | No | New query IDs to include in the board |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. While 'update' implies a mutation, the description doesn't cover critical aspects like required permissions, whether changes are reversible, rate limits, or what happens to unspecified fields. This is a significant gap for a mutation tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that gets straight to the point with no wasted words. It's front-loaded with the core action, making it easy to parse quickly, though this brevity comes at the cost of missing contextual details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description is incomplete. It lacks information on behavioral traits (e.g., side effects, error handling), usage context relative to siblings, and output expectations, making it inadequate for an agent to fully understand how to invoke and interpret results from this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, meaning all parameters are documented in the input schema. The description adds no additional meaning beyond the schema, such as explaining how 'query_ids' relate to board functionality or constraints on 'name' and 'description'. With high schema coverage, the baseline score of 3 is appropriate as the schema handles parameter documentation adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Update an existing board' clearly states the verb ('update') and resource ('board'), making the purpose immediately understandable. However, it doesn't differentiate this tool from sibling tools like 'honeycomb_board_create' or 'honeycomb_board_delete' beyond the basic action, missing specific scope details that would distinguish it more clearly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing an existing board ID), exclusions (e.g., what can't be updated), or comparisons to siblings like 'honeycomb_board_create' for new boards or 'honeycomb_board_get' for retrieval, leaving usage context implied at best.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
honeycomb_columns_listC
List all columns in a dataset
| Name | Required | Description | Default |
|---|---|---|---|
| datasetSlug | Yes | Dataset slug to list columns for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states it's a list operation, implying read-only behavior, but doesn't cover aspects like pagination, rate limits, error handling, or the format of returned data, leaving gaps in understanding how the tool behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's front-loaded and wastes no space, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what the list output includes (e.g., column names, types), potential constraints, or how to interpret results, which is insufficient for a tool that likely returns structured data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with 'datasetSlug' clearly documented. The description adds no additional parameter details beyond what the schema provides, so it meets the baseline score of 3 for high schema coverage without extra value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List') and resource ('columns in a dataset'), making the purpose understandable. However, it doesn't distinguish this from sibling tools like 'honeycomb_dataset_get' or 'honeycomb_datasets_list', which operate on different resources but share similar listing patterns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. For example, it doesn't mention if this is for metadata exploration, query preparation, or other contexts, nor does it reference sibling tools that might serve related purposes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
honeycomb_dataset_getC
Get information about a specific dataset
| Name | Required | Description | Default |
|---|---|---|---|
| datasetSlug | Yes | Dataset slug to retrieve |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states 'Get information' which implies a read-only operation, but it doesn't clarify permissions, rate limits, error handling, or what 'information' includes (e.g., metadata, structure). This leaves significant gaps for a tool with no annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste. It's front-loaded and appropriately sized for a simple tool, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description is incomplete. It doesn't explain what 'information' is returned, potential errors, or behavioral traits like idempotency. For a tool with minimal structured data, this leaves the agent with insufficient context to use it effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no parameter semantics beyond the input schema, which has 100% coverage and fully documents the single parameter 'datasetSlug'. Since schema coverage is high, the baseline score is 3, as the description doesn't need to compensate but also doesn't add extra value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Get') and resource ('information about a specific dataset'), making the purpose understandable. However, it doesn't distinguish this tool from sibling tools like 'honeycomb_board_get' or 'honeycomb_marker_get', which follow the same pattern, so it lacks sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention related tools like 'honeycomb_datasets_list' for listing datasets or specify prerequisites, leaving usage context implied at best.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
honeycomb_datasets_createC
Create a new dataset
| Name | Required | Description | Default |
|---|---|---|---|
| description | No | Description of the dataset | |
| name | Yes | Name of the dataset |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. 'Create a new dataset' implies a write operation but lacks details on permissions, side effects, error handling, or response format. This is inadequate for a mutation tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero wasted words. It's front-loaded with the core action and resource, making it immediately scannable and appropriately sized for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description is incomplete. It lacks critical context such as authentication requirements, potential side effects, return values, or error conditions, which are essential for safe and effective tool invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with both parameters ('name' and 'description') fully documented in the schema. The description adds no additional parameter semantics beyond what the schema provides, so it meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Create a new dataset' clearly states the verb ('Create') and resource ('dataset'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'honeycomb_dataset_get' or 'honeycomb_datasets_list' beyond the basic action, which prevents a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. There are no mentions of prerequisites, when-not-to-use scenarios, or comparisons to sibling tools like 'honeycomb_datasets_update' or 'honeycomb_dataset_get', leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
honeycomb_datasets_listB
List all datasets in the environment
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states it's a list operation, implying read-only behavior, but doesn't cover critical aspects like pagination, rate limits, authentication requirements, or return format. For a tool with zero annotation coverage, this leaves significant gaps, scoring a 2.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with zero waste—it directly states the action and resource without fluff. It's front-loaded and efficiently communicates the core purpose, earning a perfect score for conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (0 parameters, no output schema), the description is minimal but adequate for basic understanding. However, with no annotations and no output schema, it lacks details on behavior (e.g., pagination, auth) and return values, which are important for a list operation. This incompleteness in a low-complexity context scores a 2.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, and schema description coverage is 100%, so there's no need for parameter details in the description. The baseline for 0 parameters is 4, as the description doesn't need to compensate for any schema gaps. It appropriately avoids redundant parameter information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('List') and resource ('all datasets in the environment'), making the purpose unambiguous. It distinguishes from siblings like 'honeycomb_dataset_get' (singular) and 'honeycomb_datasets_create/update' (mutations), though it doesn't explicitly mention these distinctions. The description is specific but lacks explicit sibling differentiation, warranting a 4 rather than a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., authentication), when not to use it, or compare it to similar tools like 'honeycomb_dataset_get' for single datasets. Without any usage context, it scores a 2.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
honeycomb_datasets_updateC
Update an existing dataset
| Name | Required | Description | Default |
|---|---|---|---|
| datasetSlug | Yes | Dataset slug to update | |
| description | No | New description for the dataset | |
| name | No | New name for the dataset |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but only states it's an update operation without disclosing behavioral traits. It doesn't mention authentication requirements, rate limits, whether changes are reversible, what happens to unspecified fields, or error conditions. For a mutation tool with zero annotation coverage, this leaves significant gaps in understanding how it behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded with the essential information, though it could benefit from additional context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given this is a mutation tool with no annotations and no output schema, the description is incomplete. It doesn't explain what the update operation returns, what permissions are required, or potential side effects. The 100% schema coverage helps with parameters, but overall context for safe and effective use is lacking.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters (datasetSlug, description, name) with their types and requirements. The description adds no additional meaning about parameters beyond implying an update action. This meets the baseline score when schema coverage is high.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Update') and target resource ('an existing dataset'), making the purpose immediately understandable. It distinguishes from sibling tools like honeycomb_datasets_create (creation) and honeycomb_dataset_get (retrieval), though it doesn't explicitly mention what fields can be updated beyond the basic verb+resource statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives. The description doesn't mention prerequisites (e.g., needing an existing dataset), exclusions, or comparisons to similar tools like honeycomb_board_update or honeycomb_marker_update. The agent must infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
honeycomb_event_createC
Create a new event in a dataset
| Name | Required | Description | Default |
|---|---|---|---|
| datasetSlug | Yes | Dataset slug to create event in | |
| event | Yes | Event data to send |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but provides minimal behavioral context. It states it creates an event but doesn't disclose permissions needed, rate limits, whether it's idempotent, what happens on failure, or the expected response format. This is inadequate for a mutation tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with no wasted words. It's front-loaded with the core action and resource, making it easy to scan and understand quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description is incomplete. It lacks critical context like authentication requirements, error handling, response structure, and differentiation from sibling tools, leaving significant gaps for an AI agent to use it effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters ('datasetSlug' and 'event'). The description adds no additional meaning beyond what's in the schema, such as format examples or constraints, but the baseline is 3 when schema coverage is high.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Create') and resource ('new event in a dataset'), making the purpose understandable. However, it doesn't differentiate from sibling tools like 'honeycomb_batch_event_create' or 'honeycomb_marker_create', which also create different types of entities in Honeycomb.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It doesn't mention prerequisites like authentication, compare it to 'honeycomb_batch_event_create' for bulk operations, or specify scenarios for creating events versus other entities like markers or queries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
honeycomb_marker_createC
Create a new marker for a dataset
| Name | Required | Description | Default |
|---|---|---|---|
| datasetSlug | Yes | Dataset slug to create marker for, or 'all' for all datasets | |
| end_time | No | End time for the marker (ISO format), optional for point-in-time markers | |
| message | Yes | Message for the marker | |
| start_time | Yes | Start time for the marker (ISO format) | |
| type | Yes | Type of marker | |
| url | No | URL associated with the marker |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but only states the basic action without disclosing behavioral traits. It doesn't mention permissions needed, rate limits, whether creation is idempotent, what happens on success/failure, or any side effects, which are critical for a creation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded, making it easy to understand at a glance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a creation tool with no annotations and no output schema, the description is insufficient. It lacks information on behavioral aspects, error handling, and what the tool returns, leaving gaps in understanding how to use it effectively in context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so parameters are well-documented in the schema. The description adds no additional meaning beyond the schema, such as explaining marker types or usage examples, but meets the baseline since the schema handles parameter details adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Create') and resource ('new marker for a dataset'), making the purpose evident. However, it doesn't differentiate from sibling tools like honeycomb_marker_update or honeycomb_marker_delete, which would require mentioning it's specifically for creation rather than modification or deletion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. There are no mentions of prerequisites, when-not-to-use scenarios, or comparisons with sibling tools such as honeycomb_marker_update or honeycomb_markers_list, leaving usage context unclear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
honeycomb_marker_deleteC
Delete a marker
| Name | Required | Description | Default |
|---|---|---|---|
| datasetSlug | Yes | Dataset slug the marker belongs to, or 'all' | |
| markerId | Yes | Marker ID to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. 'Delete' implies a destructive mutation, but the description doesn't address critical aspects like whether deletion is permanent, what permissions are required, if there are confirmation prompts, or what happens on success/failure. This leaves significant gaps for safe agent operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is maximally concise at three words, front-loading the essential action and resource with zero wasted text. Every word earns its place, making it efficient for quick comprehension.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation tool with no annotations and no output schema, the description is incomplete. It lacks information about behavioral consequences, error conditions, return values, and integration with sibling tools (e.g., what happens after deletion). This inadequacy could lead to misuse by an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both parameters ('datasetSlug', 'markerId') clearly documented in the schema. The description adds no additional parameter semantics beyond what the schema provides, so it meets the baseline for high schema coverage without compensating value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Delete') and resource ('a marker'), making the purpose immediately understandable. However, it doesn't differentiate this tool from sibling tools like 'honeycomb_trigger_delete' or 'honeycomb_board_delete' beyond the resource type, which prevents a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing an existing marker), related tools like 'honeycomb_marker_get' for verification, or scenarios where deletion is appropriate versus updating.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
honeycomb_marker_getC
Get information about a specific marker
| Name | Required | Description | Default |
|---|---|---|---|
| datasetSlug | Yes | Dataset slug the marker belongs to, or 'all' | |
| markerId | Yes | Marker ID to retrieve |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It doesn't disclose behavioral traits such as whether this is a read-only operation, authentication requirements, error handling (e.g., for invalid IDs), rate limits, or response format. 'Get information' implies a safe read, but this isn't explicitly stated, leaving gaps in understanding the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste. It's front-loaded with the core action ('Get information'), making it easy to scan. No unnecessary details or redundancy are present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description is incomplete for a tool with 2 parameters. It lacks context on what 'information' includes, error scenarios, or how it fits with siblings (e.g., 'honeycomb_marker_create' for creation). For a retrieval tool in a complex system like Honeycomb, more detail is needed to guide effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both parameters ('datasetSlug' and 'markerId') clearly documented in the schema. The description adds no additional meaning beyond what's in the schema (e.g., it doesn't explain what a 'marker' is in Honeycomb context or provide examples). Baseline 3 is appropriate since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the verb 'Get' and resource 'information about a specific marker', which is clear but vague. It doesn't specify what type of information (e.g., metadata, configuration, status) or distinguish from sibling tools like 'honeycomb_markers_list' (which lists multiple markers) or 'honeycomb_marker_update' (which modifies markers).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a valid marker ID), exclusions, or compare to siblings like 'honeycomb_markers_list' for listing all markers. The description only states what it does, not when to choose it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
honeycomb_markers_listC
List all markers for a dataset
| Name | Required | Description | Default |
|---|---|---|---|
| datasetSlug | Yes | Dataset slug to list markers for, or 'all' for all datasets |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but offers minimal behavioral insight. It doesn't disclose whether this is a read-only operation, if it requires specific permissions, what format the list returns, or if there are pagination/rate limits. The description is too sparse for a tool that likely returns structured data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at just 6 words, front-loading the core purpose without any wasted words. Every element ('List', 'all markers', 'for a dataset') contributes directly to understanding the tool's function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a list operation with no annotations and no output schema, the description is incomplete. It doesn't explain what markers are, what data they contain, how results are formatted, or if there are limitations. Given the context of sibling tools that manage markers, more guidance would be helpful for proper tool selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already fully documents the single parameter 'datasetSlug'. The description adds no additional parameter context beyond implying it's for listing markers, which the schema's description already covers adequately. This meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('List') and resource ('all markers for a dataset'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'honeycomb_marker_get' (which retrieves a single marker) or 'honeycomb_marker_create' (which creates markers), missing an opportunity for clearer distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention that this is for listing multiple markers (vs. 'honeycomb_marker_get' for a single marker), nor does it provide context about prerequisites like authentication or dataset availability.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
honeycomb_marker_updateC
Update an existing marker
| Name | Required | Description | Default |
|---|---|---|---|
| datasetSlug | Yes | Dataset slug the marker belongs to, or 'all' | |
| end_time | No | New end time for the marker (ISO format) | |
| markerId | Yes | Marker ID to update | |
| message | No | New message for the marker | |
| start_time | No | New start time for the marker (ISO format) | |
| type | No | New type for the marker | |
| url | No | New URL associated with the marker |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. 'Update an existing marker' implies a mutation operation but doesn't specify required permissions, whether changes are reversible, rate limits, or what happens on success/failure. For a mutation tool with zero annotation coverage, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at just three words, front-loaded with the essential action. There's zero waste or redundancy. While it could benefit from more detail, what's present is perfectly structured and economical.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given this is a mutation tool with 7 parameters, no annotations, and no output schema, the description is incomplete. It doesn't explain what markers are used for in Honeycomb, what fields can be updated, or what the tool returns. The agent lacks sufficient context to use this tool effectively without additional documentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 7 parameters thoroughly. The description adds no additional parameter information beyond what's in the schema. According to scoring rules, when schema coverage is high (>80%), the baseline is 3 even with no param info in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Update an existing marker' clearly states the action (update) and resource (marker), but it's vague about what a marker is in the Honeycomb context and doesn't differentiate from sibling tools like honeycomb_marker_create or honeycomb_marker_delete. It provides basic purpose but lacks specificity about the marker's role in observability.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description doesn't mention prerequisites (e.g., needing an existing marker ID), when not to use it, or how it differs from honeycomb_marker_create. This leaves the agent without context for tool selection among marker-related operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
honeycomb_query_createC
Create a new query for a dataset
| Name | Required | Description | Default |
|---|---|---|---|
| datasetSlug | Yes | Dataset slug to create query for | |
| query | Yes | Query object with calculation, time range, and filters |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. 'Create' implies a write/mutation operation, but the description doesn't mention authentication requirements, whether the query is saved persistently, rate limits, error conditions, or what happens on success/failure. This leaves significant gaps for an agent to understand the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that states the core purpose without any unnecessary words. It's appropriately sized for a tool with only two parameters and gets straight to the point with zero wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description is insufficient. It doesn't explain what happens after creation (e.g., returns a query ID, saves to workspace), doesn't mention authentication or permission requirements, and provides no context about the query object structure beyond what's minimally in the schema. This leaves the agent with significant uncertainty about how to properly use this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both parameters clearly documented in the schema. The description adds no additional parameter information beyond what's already in the structured schema fields, so it meets the baseline expectation without providing extra value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Create') and resource ('new query for a dataset'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like honeycomb_query_get or honeycomb_query_result_create, which handle related query operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. With siblings like honeycomb_query_get (retrieve queries) and honeycomb_query_result_create (create query results), the description offers no context about prerequisites, sequencing, or appropriate use cases for creating a query versus other query-related operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
honeycomb_query_getC
Get information about a specific query
| Name | Required | Description | Default |
|---|---|---|---|
| datasetSlug | Yes | Dataset slug the query belongs to | |
| queryId | Yes | Query ID to retrieve |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but only states it 'gets information,' which is minimal. It doesn't disclose behavioral traits like whether this is a read-only operation (implied but not explicit), authentication needs, rate limits, error handling, or what format the information is returned in. This leaves significant gaps for an agent to understand how to use it effectively.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with zero waste—it directly states the purpose without fluff. It's appropriately sized and front-loaded, making it easy for an agent to parse quickly. Every word earns its place, adhering to best practices for conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a query retrieval tool with no annotations and no output schema, the description is incomplete. It doesn't explain what 'information' is returned (e.g., JSON structure, fields), potential side effects, or error conditions. For a tool that likely returns detailed data, this lack of context makes it inadequate for an agent to use confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both parameters (datasetSlug, queryId) well-documented in the schema. The description adds no additional meaning beyond the schema, such as explaining parameter relationships or examples. Since the schema does the heavy lifting, the baseline score of 3 is appropriate, but no extra value is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get information about a specific query' clearly states the action (get) and resource (query), but it's vague about what 'information' includes (e.g., metadata, results, configuration) and doesn't differentiate from sibling tools like honeycomb_query_result_get, which might retrieve query execution results. It avoids tautology but lacks specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. For example, it doesn't explain if this is for retrieving saved query definitions versus live results, or how it differs from honeycomb_query_result_get. The description implies usage for a 'specific query' but offers no context on prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
honeycomb_query_result_createC
Create a new query result (run a query)
| Name | Required | Description | Default |
|---|---|---|---|
| datasetSlug | Yes | Dataset slug to create query result for | |
| queryId | Yes | Query ID to run |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but only states the basic action. It doesn't disclose behavioral traits such as whether this is a read-only or mutating operation (implied mutation from 'Create'), potential side effects, rate limits, authentication needs, or what the output looks like (no output schema).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with a single, front-loaded sentence that directly states the purpose without any wasted words. Every part of the sentence earns its place by combining the action and method.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a tool that creates/executes queries (implied mutation), no annotations, and no output schema, the description is incomplete. It lacks crucial context such as what the tool returns, error conditions, or how it interacts with the Honeycomb system beyond the basic action.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so the schema already documents both parameters fully. The description adds no additional meaning beyond what's in the schema (e.g., it doesn't explain the relationship between datasetSlug and queryId or provide usage examples), meeting the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Create a new query result') and the method ('run a query'), which specifies the verb and resource. However, it doesn't differentiate from sibling tools like 'honeycomb_query_result_get' or explain how this differs from just running a query directly versus creating a result object.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing an existing query), when-not-to-use scenarios, or how it relates to siblings like 'honeycomb_query_create' or 'honeycomb_query_result_get'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
honeycomb_query_result_getC
Get results of a specific query execution
| Name | Required | Description | Default |
|---|---|---|---|
| datasetSlug | Yes | Dataset slug the query result belongs to | |
| queryResultId | Yes | Query result ID to retrieve |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool retrieves results but doesn't describe what the results contain (e.g., data format, pagination), error conditions (e.g., invalid IDs), or performance aspects (e.g., latency, caching). This leaves significant gaps for an agent to understand the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with zero waste. It's front-loaded with the core purpose and appropriately sized for a simple retrieval tool, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., query data, status, metadata), which is critical for a retrieval tool. The lack of behavioral context and output details makes it inadequate for an agent to use effectively without additional assumptions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents both parameters (datasetSlug and queryResultId). The description adds no additional meaning beyond what the schema provides, such as explaining how to obtain these IDs or their format constraints. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get results') and the target ('specific query execution'), which is a specific verb+resource combination. However, it doesn't distinguish this tool from sibling tools like 'honeycomb_query_get' or 'honeycomb_query_result_create', which handle query definitions or result creation respectively.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a query result ID from a previous execution), nor does it differentiate from related tools like 'honeycomb_query_get' for retrieving query definitions or 'honeycomb_query_result_create' for creating new results.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
honeycomb_slo_createC
Create a new SLO for a dataset
| Name | Required | Description | Default |
|---|---|---|---|
| datasetSlug | Yes | Dataset slug to create SLO for, or 'all' for all datasets | |
| description | No | Description of the SLO | |
| name | Yes | Name of the SLO | |
| objective | No | Objective configuration with target and time window | |
| sli | No | Service Level Indicator configuration | |
| time_period | No | Time period configuration for the SLO |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It states this is a creation operation but provides no information about permissions required, whether this is a mutating operation, what happens on success/failure, rate limits, or any side effects. For a tool that creates SLOs (likely requiring specific permissions), this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that states the core purpose without unnecessary words. It's appropriately sized for a creation tool and gets straight to the point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool that creates SLOs (likely a mutating operation requiring specific permissions) with no annotations and no output schema, the description is inadequate. It doesn't explain what an SLO is in Honeycomb context, what happens after creation, or provide any behavioral context. The agent would need to infer too much from just the description and schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 6 parameters thoroughly. The description adds no additional parameter information beyond what's in the schema. The baseline of 3 is appropriate when the schema does the heavy lifting, though the description could have provided context about how parameters relate to SLO creation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Create') and resource ('new SLO for a dataset'), making the purpose understandable. However, it doesn't differentiate this tool from its sibling 'honeycomb_slo_update', which would be important for an agent to distinguish between creation and modification operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'honeycomb_slo_update' or 'honeycomb_slos_list'. There's no mention of prerequisites, constraints, or typical use cases for SLO creation in the Honeycomb context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
honeycomb_slo_getC
Get information about a specific SLO
| Name | Required | Description | Default |
|---|---|---|---|
| datasetSlug | Yes | Dataset slug the SLO belongs to, or 'all' | |
| sloId | Yes | SLO ID to retrieve |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It states this is a 'Get' operation, implying read-only behavior, but doesn't clarify authentication needs, rate limits, error conditions, or what 'information' is returned. For a tool with zero annotation coverage, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with zero wasted words. It's appropriately sized for a simple retrieval tool and front-loads the core purpose effectively.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what 'information' is returned, potential error cases, or behavioral nuances. For a tool that retrieves specific SLO data, more context about the return format and usage constraints would be helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both parameters (datasetSlug, sloId) well-documented in the schema. The description adds no additional parameter semantics beyond what's already in the schema, so it meets the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get information about a specific SLO' clearly states the verb ('Get') and resource ('SLO'), making the purpose understandable. However, it's vague about what 'information' includes and doesn't differentiate from sibling tools like honeycomb_slos_list (which lists SLOs) or honeycomb_slo_update (which modifies SLOs).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description doesn't mention prerequisites, context, or exclusions, leaving the agent to infer usage from the tool name and parameters alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
honeycomb_slos_listC
List all SLOs for a dataset
| Name | Required | Description | Default |
|---|---|---|---|
| datasetSlug | Yes | Dataset slug to list SLOs for, or 'all' for all datasets |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but only states the basic action without behavioral details. It doesn't disclose whether this is a read-only operation, if it requires authentication, potential rate limits, or what the output format might be (e.g., list structure, pagination). This leaves significant gaps for agent understanding.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is front-loaded and appropriately sized for a simple list operation, with no wasted content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete. It doesn't explain behavioral aspects like safety (read-only vs. destructive), authentication needs, or return values, which are crucial for a tool in a complex system like Honeycomb with many sibling operations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the parameter 'datasetSlug' clearly documented in the schema as 'Dataset slug to list SLOs for, or 'all' for all datasets'. The description adds no additional parameter information beyond this, so it meets the baseline for high schema coverage without compensation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List') and resource ('SLOs for a dataset'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'honeycomb_slo_get' (which retrieves a specific SLO) or 'honeycomb_slo_update' (which modifies SLOs), missing explicit distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. For example, it doesn't mention using 'honeycomb_slo_get' for retrieving a single SLO or 'honeycomb_slo_update' for modifications, leaving the agent without context for tool selection among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
honeycomb_slo_updateC
Update an existing SLO
| Name | Required | Description | Default |
|---|---|---|---|
| datasetSlug | Yes | Dataset slug the SLO belongs to, or 'all' | |
| description | No | New description for the SLO | |
| name | No | New name for the SLO | |
| objective | No | New objective configuration | |
| sli | No | New Service Level Indicator configuration | |
| sloId | Yes | SLO ID to update | |
| time_period | No | New time period configuration |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. 'Update' implies a mutation operation, but the description doesn't disclose any behavioral traits: it doesn't mention authentication requirements, rate limits, whether the update is destructive or reversible, what happens to unspecified fields, or error conditions. This is a significant gap for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero wasted words. It's front-loaded with the core action and resource, making it immediately scannable. Every word earns its place, though it could benefit from additional context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given this is a mutation tool with 7 parameters (including nested objects), no annotations, and no output schema, the description is incomplete. It doesn't address behavioral aspects, usage context, or what the tool returns. The agent lacks critical information about how this update operation behaves in practice.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 7 parameters thoroughly. The description adds no additional meaning beyond what's in the schema—it doesn't explain parameter relationships, constraints, or provide examples. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Update') and resource ('an existing SLO'), making the purpose immediately understandable. It distinguishes from sibling tools like honeycomb_slo_create (create vs. update) and honeycomb_slo_get (read vs. update). However, it doesn't specify what aspects of the SLO can be updated beyond what's implied by the parameters.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing an existing SLO ID), when not to use it (e.g., for creation vs. update), or refer to sibling tools like honeycomb_slo_create for new SLOs. Usage is implied by the word 'existing' but not explicitly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
honeycomb_trigger_createC
Create a new trigger for a dataset
| Name | Required | Description | Default |
|---|---|---|---|
| alert_type | No | Alert firing behavior: on_change (only when crossing threshold) or on_true (every check while threshold is met) | on_change |
| datasetSlug | Yes | Dataset slug to create trigger for | |
| description | No | Description of the trigger (max 1023 chars) | |
| disabled | No | If true, the trigger will not be evaluated or send alerts | |
| evaluation_schedule | No | Schedule configuration when evaluation_schedule_type is 'window' | |
| evaluation_schedule_type | No | The schedule type: frequency (always run) or window (only run during specific times) | |
| frequency | No | Interval in seconds to check results (60-86400, must be multiple of 60) | |
| name | Yes | Name of the trigger (max 120 chars) | |
| query | No | Inline query specification (use either query or query_id, not both) | |
| query_id | No | Query ID to associate with the trigger (use either query_id or query, not both) | |
| recipient_ids | No | Recipient IDs to notify when the trigger fires | |
| threshold | No | Threshold configuration for the trigger |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but offers minimal behavioral insight. It states this creates something (implying a write operation) but doesn't disclose authentication requirements, rate limits, error conditions, what happens on success (e.g., returns trigger ID), or whether this operation is idempotent. For a creation tool with complex parameters, this is inadequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero wasted words. It's perfectly front-loaded with the core action and resource, making it immediately understandable despite its brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex creation tool with 12 parameters (including nested objects), no annotations, and no output schema, the description is severely incomplete. It doesn't explain what a trigger is, what it does, typical use cases, or what information the agent should expect in return. The agent would struggle to use this tool effectively without additional context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all 12 parameters. The description adds no parameter-specific information beyond what's in the schema, but doesn't need to since schema coverage is complete. The baseline of 3 is appropriate when the schema does all the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Create') and resource ('new trigger for a dataset'), making the purpose understandable. However, it doesn't differentiate this tool from its sibling 'honeycomb_trigger_update' or explain what a 'trigger' specifically is in the Honeycomb context, which would be needed for a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'honeycomb_trigger_update' or 'honeycomb_slo_create'. It doesn't mention prerequisites (e.g., needing an existing dataset) or typical use cases for creating triggers versus other alerting mechanisms.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
honeycomb_trigger_deleteC
Delete a trigger
| Name | Required | Description | Default |
|---|---|---|---|
| datasetSlug | Yes | Dataset slug the trigger belongs to | |
| triggerId | Yes | Trigger ID to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but only states the action without behavioral details. It doesn't disclose that this is a destructive operation (implied by 'delete' but not explicit), authentication requirements, rate limits, error conditions, or what happens upon deletion (e.g., irreversible). This leaves significant gaps for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with just three words, front-loading the key action. There's zero waste or redundancy, making it efficient for quick scanning, though this conciseness comes at the cost of completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive tool with no annotations and no output schema, the description is incomplete. It lacks critical context: what a trigger is, confirmation of deletion, return values, error handling, or safety warnings. Given the complexity of a delete operation and minimal structured data, this description leaves the agent under-informed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both parameters (datasetSlug, triggerId) clearly documented in the schema. The description adds no parameter information beyond what's in the schema, so it meets the baseline of 3 where the schema does the heavy lifting but doesn't compensate or add extra context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Delete a trigger' clearly states the action (delete) and resource (trigger), but it's vague about scope and doesn't distinguish from sibling tools like honeycomb_marker_delete or honeycomb_board_delete. It doesn't specify what a trigger is in the Honeycomb context or what deletion entails beyond the basic verb.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., trigger must exist), when-not-to-use scenarios, or relationships with sibling tools like honeycomb_trigger_get or honeycomb_triggers_list. The agent must infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
honeycomb_trigger_getC
Get information about a specific trigger
| Name | Required | Description | Default |
|---|---|---|---|
| datasetSlug | Yes | Dataset slug the trigger belongs to | |
| triggerId | Yes | Trigger ID to retrieve |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states the action of getting information, without detailing traits like whether it's read-only (implied but not explicit), authentication needs, rate limits, error handling, or what the output format might be. This is inadequate for a tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, straightforward sentence that efficiently conveys the core action without unnecessary words. It is front-loaded and appropriately sized for a simple retrieval tool, with no wasted information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (a read operation with 2 parameters), lack of annotations, and no output schema, the description is incomplete. It fails to provide behavioral context, usage guidelines, or details on return values, leaving significant gaps for the agent to understand how to invoke and interpret results effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, clearly documenting both parameters (datasetSlug and triggerId) with their types and requirements. The description adds no additional meaning beyond the schema, such as explaining parameter relationships or examples. Given the high schema coverage, a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the action ('Get information') and resource ('about a specific trigger'), which provides a basic purpose. However, it lacks specificity about what information is retrieved (e.g., configuration, status, history) and doesn't distinguish it from sibling tools like 'honeycomb_trigger_update' or 'honeycomb_triggers_list', making it somewhat vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a datasetSlug and triggerId), contrast with 'honeycomb_triggers_list' for listing all triggers, or specify use cases like checking trigger details before updates. This leaves the agent without clear usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
honeycomb_triggers_listC
List all triggers for a dataset
| Name | Required | Description | Default |
|---|---|---|---|
| datasetSlug | Yes | Dataset slug to list triggers for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. 'List all triggers' implies a read-only operation, but it doesn't disclose behavioral traits like pagination, rate limits, authentication requirements, error conditions, or what 'all' means in practice (e.g., whether it returns active/inactive triggers). For a tool with zero annotation coverage, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose with zero waste. It's appropriately sized for a simple list operation and front-loaded with the core action. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (1 parameter, 100% schema coverage) but lack of annotations and output schema, the description is incomplete. It doesn't explain what a 'trigger' is in Honeycomb context, what information is returned, or any behavioral aspects. For a tool in a complex observability system, more context would help the agent understand the output and usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description doesn't add any parameter semantics beyond what the input schema provides. The schema has 100% description coverage with a clear parameter definition for 'datasetSlug'. The description mentions 'for a dataset' which aligns with the parameter but doesn't explain format, constraints, or how to obtain dataset slugs. Baseline 3 is appropriate when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List all triggers') and resource ('for a dataset'), providing a specific verb+resource combination. It distinguishes itself from other trigger-related tools (trigger_create, trigger_get, trigger_update, trigger_delete) by focusing on listing. However, it doesn't explicitly differentiate from other list tools like boards_list or markers_list beyond the resource type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when to use honeycomb_triggers_list versus honeycomb_trigger_get (for a single trigger) or honeycomb_boards_list (which might include triggers). There are no prerequisites, exclusions, or context about dataset selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
honeycomb_trigger_updateC
Update an existing trigger
| Name | Required | Description | Default |
|---|---|---|---|
| alert_type | No | New alert firing behavior: on_change (only when crossing threshold) or on_true (every check while threshold is met) | |
| datasetSlug | Yes | Dataset slug the trigger belongs to | |
| description | No | New description for the trigger (max 1023 chars) | |
| disabled | No | If true, the trigger will not be evaluated or send alerts | |
| evaluation_schedule | No | Schedule configuration when evaluation_schedule_type is 'window' | |
| evaluation_schedule_type | No | The schedule type: frequency (always run) or window (only run during specific times) | |
| frequency | No | New interval in seconds to check results (60-86400, must be multiple of 60) | |
| name | No | New name for the trigger (max 120 chars) | |
| query | No | New inline query specification (use either query or query_id, not both) | |
| query_id | No | New query ID to associate with the trigger (use either query_id or query, not both) | |
| recipient_ids | No | New recipient IDs to notify | |
| threshold | No | New threshold configuration | |
| triggerId | Yes | Trigger ID to update |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. 'Update an existing trigger' implies a mutation operation, but it doesn't disclose important behavioral aspects: whether this requires specific permissions, whether updates are idempotent, what happens when only some fields are provided, whether there are rate limits, or what the response format looks like. For a mutation tool with 13 parameters and no annotation coverage, this is a significant gap in behavioral transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is maximally concise at just 4 words. It's front-loaded with the essential action and resource. There's zero waste or redundancy. For a tool with comprehensive schema documentation, this brevity is appropriate and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (13 parameters, nested objects, no annotations, no output schema), the description is inadequate. It doesn't explain what a 'trigger' is in the Honeycomb context, what fields are updatable, what the typical update workflow looks like, or what to expect as a result. While the schema documents parameters well, the description fails to provide the contextual understanding needed for a mutation operation of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description provides no parameter information beyond the tool name. However, with 100% schema description coverage, all 13 parameters are well-documented in the input schema with detailed descriptions, constraints, and enums. The baseline score of 3 is appropriate since the schema does the heavy lifting, though the description adds no value beyond what's already in the structured schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Update an existing trigger' clearly states the verb (update) and resource (trigger), but it's quite generic. It doesn't specify what aspects of a trigger can be updated or how this differs from sibling tools like honeycomb_trigger_create or honeycomb_trigger_get. While the purpose is understandable, it lacks the specificity that would distinguish it from related operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With sibling tools like honeycomb_trigger_create, honeycomb_trigger_get, honeycomb_trigger_delete, and honeycomb_triggers_list, there's no indication of when modification is appropriate versus creation, retrieval, deletion, or listing. The description doesn't mention prerequisites, dependencies, or typical use cases for trigger updates.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Every tool has a clearly distinct purpose targeting specific resources (boards, datasets, markers, queries, SLOs, triggers) and actions (create, get, list, update, delete). The descriptions explicitly differentiate between operations like query creation vs. query execution, and batch vs. single event creation, leaving no ambiguity.
All tools follow a consistent pattern of honeycomb_resource_action or honeycomb_resources_action (e.g., honeycomb_board_get, honeycomb_boards_list). The naming is uniformly snake_case with clear verb-noun combinations, making it highly predictable and readable throughout the set.
With 31 tools, the count feels heavy for a single server, potentially overwhelming for agents. While it covers multiple domains (boards, datasets, markers, queries, SLOs, triggers), it might benefit from consolidation or modularization, as typical well-scoped servers have 3-15 tools.
The tool surface provides complete CRUD/lifecycle coverage for each resource type (boards, datasets, markers, SLOs, triggers) and includes essential operations like query execution and batch event creation. There are no obvious gaps, ensuring agents can handle full workflows without dead ends.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
A Model Context Protocol (MCP) server for Selise Blocks Cloud integration
MCP Server for an Agent Task Marketplace
MCP server for Product Management
Related MCP Servers
- MIT
- AlicenseNot gradedqualityAmaintenanceA generic, modular server for implementing the Model Context Protocol (MCP).8445ISC
- AlicenseNot gradedqualityDmaintenanceAn implementation of the Model Context Protocol (MCP) server that enables multiple clients to connect simultaneously and handles basic context management and messaging with an extendable architecture.MIT
- AlicenseCqualityDmaintenanceA Model Context Protocol server implementation that enables real-time data communication between web pages and client applications through WebSocket connections.22,013MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/kajirita2002/honeycomb-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server