Skip to main content
Glama
honeycombio
by honeycombio

Honeycomb MCP

⚠️ DEPRECATED: This self-hosted MCP server is deprecated. Please migrate to the hosted Honeycomb Model Context Protocol (MCP) solution at Honeycomb MCP Documentation.

A Model Context Protocol server for interacting with Honeycomb observability data. This server enables LLMs like Claude to directly analyze and query your Honeycomb datasets across multiple environments.

Honeycomb MCP Logo

Requirements

  • Node.js 18+

  • Honeycomb API key with full permissions:

    • Query access for analytics

    • Read access for SLOs and Triggers

    • Environment-level access for dataset operations

Honeycomb MCP is effectively a complete alternative interface to Honeycomb, and thus you need broad permissions for the API.

Related MCP server: Notion MCP Server

Honeycomb Enterprise Only

Currently, this is only available for Honeycomb Enterprise customers.

How it works

Today, this is a single server process that you must run on your own computer. It is not authenticated. All information uses STDIO between your client and the server.

Installation

pnpm install
pnpm run build

The build artifact goes into the /build folder.

Configuration

To use this MCP server, you need to provide Honeycomb API keys via environment variables in your MCP config.

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

For multiple environments:

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

Important: These environment variables must bet set in the env block of your MCP config.

EU Configuration

EU customers must also set a HONEYCOMB_API_ENDPOINT configuration, since the MCP defaults to the non-EU instance.

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

Caching Configuration

The MCP server implements caching for all non-query Honeycomb API calls to improve performance and reduce API usage. Caching can be configured using these environment variables:

# Enable/disable caching (default: true)
HONEYCOMB_CACHE_ENABLED=true

# Default TTL in seconds (default: 300)
HONEYCOMB_CACHE_DEFAULT_TTL=300

# Resource-specific TTL values in seconds (defaults shown)
HONEYCOMB_CACHE_DATASET_TTL=900    # 15 minutes
HONEYCOMB_CACHE_COLUMN_TTL=900     # 15 minutes
HONEYCOMB_CACHE_BOARD_TTL=900      # 15 minutes
HONEYCOMB_CACHE_SLO_TTL=900        # 15 minutes
HONEYCOMB_CACHE_TRIGGER_TTL=900    # 15 minutes
HONEYCOMB_CACHE_MARKER_TTL=900     # 15 minutes
HONEYCOMB_CACHE_RECIPIENT_TTL=900  # 15 minutes
HONEYCOMB_CACHE_AUTH_TTL=3600      # 1 hour

# Maximum cache size (items per resource type)
HONEYCOMB_CACHE_MAX_SIZE=1000

Client compatibility

Honeycomb MCP has been tested with the following clients:

It will likely work with other clients.

Features

  • Query Honeycomb datasets across multiple environments

  • Run analytics queries with support for:

    • Multiple calculation types (COUNT, AVG, P95, etc.)

    • Breakdowns and filters

    • Time-based analysis

  • Monitor SLOs and their status (Enterprise only)

  • Analyze columns and data patterns

  • View and analyze Triggers

  • Access dataset metadata and schema information

  • Optimized performance with TTL-based caching for all non-query API calls

Resources

Access Honeycomb datasets using URIs in the format: honeycomb://{environment}/{dataset}

For example:

  • honeycomb://production/api-requests

  • honeycomb://staging/backend-services

The resource response includes:

  • Dataset name

  • Column information (name, type, description)

  • Schema details

Tools

  • list_datasets: List all datasets in an environment

    { "environment": "production" }
  • get_columns: Get column information for a dataset

    {
      "environment": "production",
      "dataset": "api-requests"
    }
  • run_query: Run analytics queries with rich options

    {
      "environment": "production",
      "dataset": "api-requests",
      "calculations": [
        { "op": "COUNT" },
        { "op": "P95", "column": "duration_ms" }
      ],
      "breakdowns": ["service.name"],
      "time_range": 3600
    }
  • analyze_columns: Analyzes specific columns in a dataset by running statistical queries and returning computed metrics.

  • list_slos: List all SLOs for a dataset

    {
      "environment": "production",
      "dataset": "api-requests"
    }
  • get_slo: Get detailed SLO information

    {
      "environment": "production",
      "dataset": "api-requests",
      "sloId": "abc123"
    }
  • list_triggers: List all triggers for a dataset

    {
      "environment": "production",
      "dataset": "api-requests"
    }
  • get_trigger: Get detailed trigger information

    {
      "environment": "production",
      "dataset": "api-requests",
      "triggerId": "xyz789"
    }
  • get_trace_link: Generate a deep link to a specific trace in the Honeycomb UI

  • get_instrumentation_help: Provides OpenTelemetry instrumentation guidance

    {
      "language": "python",
      "filepath": "app/services/payment_processor.py"
    }

Example Queries with Claude

Ask Claude things like:

  • "What datasets are available in the production environment?"

  • "Show me the P95 latency for the API service over the last hour"

  • "What's the error rate broken down by service name?"

  • "Are there any SLOs close to breaching their budget?"

  • "Show me all active triggers in the staging environment"

  • "What columns are available in the production API dataset?"

Optimized Tool Responses

All tool responses are optimized to reduce context window usage while maintaining essential information:

  • List datasets: Returns only name, slug, and description

  • Get columns: Returns streamlined column information focusing on name, type, and description

  • Run query:

    • Includes actual results and necessary metadata

    • Adds automatically calculated summary statistics

    • Only includes series data for heatmap queries

    • Omits verbose metadata, links and execution details

  • Analyze column:

    • Returns top values, counts, and key statistics

    • Automatically calculates numeric metrics when appropriate

  • SLO information: Streamlined to key status indicators and performance metrics

  • Trigger information: Focused on trigger status, conditions, and notification targets

This optimization ensures that responses are concise but complete, allowing LLMs to process more data within context limitations.

Query Specification for run_query

The run_query tool supports a comprehensive query specification:

  • calculations: Array of operations to perform

    • Supported operations: COUNT, CONCURRENCY, COUNT_DISTINCT, HEATMAP, SUM, AVG, MAX, MIN, P001, P01, P05, P10, P25, P50, P75, P90, P95, P99, P999, RATE_AVG, RATE_SUM, RATE_MAX

    • Some operations like COUNT and CONCURRENCY don't require a column

    • Example: {"op": "HEATMAP", "column": "duration_ms"}

  • filters: Array of filter conditions

    • Supported operators: =, !=, >, >=, <, <=, starts-with, does-not-start-with, exists, does-not-exist, contains, does-not-contain, in, not-in

    • Example: {"column": "error", "op": "=", "value": true}

  • filter_combination: "AND" or "OR" (default is "AND")

  • breakdowns: Array of columns to group results by

    • Example: ["service.name", "http.status_code"]

  • orders: Array specifying how to sort results

    • Must reference columns from breakdowns or calculations

    • HEATMAP operation cannot be used in orders

    • Example: {"op": "COUNT", "order": "descending"}

  • time_range: Relative time range in seconds (e.g., 3600 for last hour)

    • Can be combined with either start_time or end_time but not both

  • start_time and end_time: UNIX timestamps for absolute time ranges

  • having: Filter results based on calculation values

    • Example: {"calculate_op": "COUNT", "op": ">", "value": 100}

Example Queries

Here are some real-world example queries:

Find Slow API Calls

{
  "environment": "production",
  "dataset": "api-requests",
  "calculations": [
    {"column": "duration_ms", "op": "HEATMAP"},
    {"column": "duration_ms", "op": "MAX"}
  ],
  "filters": [
    {"column": "trace.parent_id", "op": "does-not-exist"}
  ],
  "breakdowns": ["http.target", "name"],
  "orders": [
    {"column": "duration_ms", "op": "MAX", "order": "descending"}
  ]
}

Distribution of DB Calls (Last Week)

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

Exception Count by Exception and Caller

{
  "environment": "production",
  "dataset": "api-requests",
  "calculations": [
    {"op": "COUNT"}
  ],
  "filters": [
    {"column": "exception.message", "op": "exists"},
    {"column": "parent_name", "op": "exists"}
  ],
  "breakdowns": ["exception.message", "parent_name"],
  "orders": [
    {"op": "COUNT", "order": "descending"}
  ]
}

Development

pnpm install
pnpm run build

License

MIT

Available Tools

14 tools
analyze_columnsA

Analyzes specific columns in a dataset by running statistical queries and returning computed metrics. This tool allows users to get statistical information about a specific column, including value distribution, top values, and numeric statistics (for numeric columns). Supports analyzing up to 10 columns at once by specifying an array of column names in the 'columns' parameter. When multiple columns are specified, they will be analyzed together as a group, showing the distribution of their combined values. Use this tool before running queries to get a better understanding of the data in your dataset.

ParametersJSON Schema
NameRequiredDescriptionDefault
environmentYesThe Honeycomb environment containing the dataset
datasetYesThe dataset containing the column to analyze
columnsYesThe names of the columns to analyze
timeRangeNoTime range in seconds to analyze. Default is 2 hours.

TDQS

A3.8/5.0
Behavior3/5

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 describes what the tool does (statistical analysis, returns metrics) and some behavioral traits (supports up to 10 columns, analyzes them as a group). However, it doesn't mention important aspects like whether this is a read-only operation, potential performance impact, rate limits, or authentication requirements, leaving gaps in behavioral understanding.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized at 5 sentences, front-loaded with the core purpose, and each sentence adds meaningful information. However, the final sentence about usage timing could be integrated more seamlessly, and some phrasing is slightly redundant ('specific columns' then 'specific column').

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (4 parameters, statistical analysis function) and the absence of both annotations and an output schema, the description provides adequate but incomplete context. It explains what the tool does and some parameter behavior, but doesn't describe the format or structure of the returned metrics, leaving the agent uncertain about the output.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 all parameters thoroughly. The description adds some value by explaining the 'columns' parameter can accept up to 10 columns and that multiple columns are analyzed together as a group, but doesn't provide significant additional semantic context beyond what's in the schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

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 ('analyzes', 'running statistical queries', 'returning computed metrics') and resources ('columns in a dataset'). It distinguishes from siblings like 'list_columns' (which lists columns) and 'run_query' (which runs general queries) by focusing specifically on statistical analysis of column data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use the tool ('Use this tool before running queries to get a better understanding of the data in your dataset'). However, it doesn't explicitly state when NOT to use it or mention specific alternatives among the sibling tools, though the purpose differentiation implies alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_boardA

Retrieves a specific board (dashboard) from a Honeycomb environment. This tool returns a detailed object containing the board's ID, name, description, creation time, and last update time.

ParametersJSON Schema
NameRequiredDescriptionDefault
environmentYesThe Honeycomb environment
boardIdYesThe ID of the board to retrieve

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses that the tool returns a detailed object with specific fields (ID, name, description, creation time, last update time), which helps understand the return format. However, it doesn't mention error conditions, authentication needs, rate limits, or whether it's a read-only operation (though 'retrieves' implies reading).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences that are front-loaded with the core purpose and follow with return value details. Every sentence adds value without redundancy, making it efficient and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (2 simple parameters, no output schema, no annotations), the description is fairly complete. It covers the purpose, return object structure, and distinguishes from siblings. However, it could improve by mentioning authentication or error handling, but for a simple retrieval tool, it's mostly adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 ('environment' and 'boardId') adequately. The description doesn't add any additional parameter semantics beyond what the schema provides, such as format examples or constraints, 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.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Retrieves'), resource ('a specific board (dashboard)'), and context ('from a Honeycomb environment'). It distinguishes from sibling tools like 'list_boards' by specifying retrieval of a single board rather than listing multiple boards.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when a specific board needs to be retrieved, but doesn't explicitly state when to use this tool versus alternatives like 'list_boards' for multiple boards or other sibling tools for different resources. No explicit exclusions or prerequisites are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_instrumentation_helpA

Provides important guidance for how to instrument code with OpenTelemetry traces and logs. It is intended to be used when someone wants to instrument their code, or improve instrumentation (such as getting advice on improving their logs or tracing, or creating new instrumentation). It is BEST used after inspecting existing code and telemetry data to understand some operational characteristics. However, if there is no telemetry data to read from Honeycomb, it can still provide guidance on how to instrument code.

ParametersJSON Schema
NameRequiredDescriptionDefault
languageNoProgramming language of the code to instrument
filepathNoPath to the file being instrumented

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It describes the tool's function as providing guidance/advice, which implies it's informational and non-destructive. However, it doesn't disclose behavioral traits like whether it requires authentication, has rate limits, returns structured vs. narrative output, or handles errors. The description adds some context about telemetry data dependency but lacks comprehensive behavioral disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized (three sentences) and front-loaded with the core purpose. Each sentence adds value: the first states the purpose, the second specifies use cases, and the third provides contextual advice. There's no redundant information, though it could be slightly more structured (e.g., bullet points for use cases).

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (advice generation with 2 parameters), no annotations, and no output schema, the description is moderately complete. It covers purpose and usage context but lacks details on output format, error handling, or dependencies. Without annotations or output schema, the description should do more to compensate, but it provides a basic operational understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 ('language' and 'filepath'). The description doesn't add any meaning beyond what the schema provides—it doesn't explain how these parameters affect the guidance, whether they're optional or required in practice, or provide examples. With high schema coverage, the baseline is 3, and the description doesn't compensate further.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Provides important guidance for how to instrument code with OpenTelemetry traces and logs.' It specifies the verb ('provides guidance') and resource ('instrument code'), and distinguishes from sibling tools by focusing on instrumentation advice rather than data analysis or listing operations. However, it doesn't explicitly differentiate from potential similar tools not in the sibling list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context on when to use it: 'when someone wants to instrument their code, or improve instrumentation' and 'BEST used after inspecting existing code and telemetry data.' It also mentions a fallback scenario ('if there is no telemetry data... it can still provide guidance'). However, it doesn't explicitly state when NOT to use it or name specific alternatives among the sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_sloB

Retrieves a specific SLO (Service Level Objective) by ID with detailed information. This tool returns a detailed object containing the SLO's ID, name, description, time period, target per million, compliance, budget remaining, SLI alias, and timestamps.

ParametersJSON Schema
NameRequiredDescriptionDefault
environmentYesThe Honeycomb environment
datasetYesThe dataset containing the SLO
sloIdYesThe ID of the SLO to retrieve

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It states this is a retrieval operation but doesn't disclose important behavioral traits like authentication requirements, rate limits, error conditions, or whether this is a read-only operation. The description provides basic functional information but lacks operational context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized with two sentences. The first sentence states the purpose clearly, and the second provides useful information about the return format. However, listing specific return fields could be considered slightly verbose when no output schema exists.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a retrieval tool with 3 parameters and no annotations or output schema, the description provides adequate functional information but lacks operational context. It explains what the tool does and what it returns, but doesn't address authentication, error handling, or other behavioral aspects that would be helpful for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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. The description doesn't add any parameter-specific information beyond what's in the schema. The baseline of 3 is appropriate when the schema does the heavy lifting for parameter documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Retrieves'), resource ('a specific SLO by ID'), and scope ('with detailed information'). It distinguishes from sibling tools like 'list_slos' by specifying retrieval of a single SLO rather than listing multiple SLOs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when detailed information about a specific SLO is needed, but doesn't explicitly state when to use this tool versus alternatives like 'list_slos' or other sibling tools. No explicit exclusions or prerequisites are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_triggerA

Retrieves a specific trigger (alert) by ID with detailed information. This tool returns a detailed object containing the trigger's ID, name, description, threshold, frequency, alert type, triggered status, disabled status, recipients, evaluation schedule type, and timestamps.

ParametersJSON Schema
NameRequiredDescriptionDefault
environmentYesThe Honeycomb environment
datasetYesThe dataset containing the trigger
triggerIdYesThe ID of the trigger to retrieve

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses that the tool retrieves detailed information and lists the fields returned, but does not mention behavioral aspects like error handling, authentication needs, rate limits, or whether it's a read-only operation. The description adds some context but lacks comprehensive behavioral traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized with two sentences: the first states the purpose, and the second details the returned information. It is front-loaded with the core function, but the second sentence could be more concise by summarizing rather than listing all fields.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

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 partially compensates by listing return fields, but it does not fully address complexity like error cases or operational constraints. It is adequate for a read operation but lacks depth for complete agent understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 all three parameters. The description does not add any meaning beyond what the schema provides, such as explaining parameter relationships or usage nuances. Baseline 3 is appropriate as the schema handles parameter documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Retrieves') and resource ('a specific trigger (alert) by ID'), specifying it returns detailed information. It distinguishes from sibling tools like 'list_triggers' by focusing on a single trigger retrieval rather than listing multiple.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when detailed information for a specific trigger is needed, but does not explicitly state when to use this tool versus alternatives like 'list_triggers' or other sibling tools. No exclusions or prerequisites are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_boardsA

Lists available boards (dashboards) for a specific environment with pagination, sorting, and search support. Returns board IDs, names, descriptions, creation times, and last update times.

ParametersJSON Schema
NameRequiredDescriptionDefault
environmentYesThe Honeycomb environment
pageNoPage number (1-based)
limitNoNumber of items per page
sort_byNoField to sort by
sort_orderNoSort direction
searchNoSearch term to filter results
search_fieldsNoFields to search in (string or array of strings)

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden. It discloses key behavioral traits: pagination support, sorting capabilities, search functionality, and the return data structure (board IDs, names, descriptions, creation/update times). However, it doesn't mention rate limits, authentication requirements, error conditions, or whether this is a read-only operation (though 'Lists' implies safe read).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tightly constructed sentences with zero waste. The first sentence establishes purpose and key capabilities; the second specifies return values. Every element serves a clear purpose, and the description is appropriately sized for a list operation with multiple parameters.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a list operation with 7 parameters (1 required) and no output schema, the description provides good context: purpose, capabilities, and return structure. However, without annotations or output schema, it could benefit from mentioning authentication requirements, rate limits, or error handling. The completeness is strong but not perfect given the parameter complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 context about what the tool does with these parameters ('with pagination, sorting, and search support'), but doesn't provide additional semantic details beyond what's in the schema descriptions. 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.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Lists') and resource ('available boards/dashboards') with specific scope ('for a specific environment'). It distinguishes from siblings like get_board (singular retrieval) and list_datasets/list_columns (different resources). The mention of pagination, sorting, and search further clarifies functionality beyond basic listing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context through 'for a specific environment' and mentions pagination/sorting/search capabilities, suggesting when these features are needed. However, it doesn't explicitly state when to use this tool versus alternatives like get_board (for single board details) or other list_* tools for different resource types. No explicit exclusions or prerequisites are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_columnsA

Lists all columns available in the specified dataset, including their names, types, descriptions, and hidden status. Supports pagination, sorting by type/name/created_at, and searching by name/description. Note: all is NOT supported as a dataset name.

ParametersJSON Schema
NameRequiredDescriptionDefault
environmentYesThe Honeycomb environment
datasetYesThe dataset to fetch columns from
pageNoPage number (1-based)
limitNoNumber of items per page
sort_byNoField to sort by
sort_orderNoSort direction
searchNoSearch term to filter results
search_fieldsNoFields to search in (string or array of strings)

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden and does well by disclosing key behavioral traits: it describes the return format (names, types, descriptions, hidden status), mentions pagination support, and specifies a constraint about dataset naming. It doesn't cover rate limits or authentication needs, but provides substantial operational context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is perfectly sized and front-loaded: the first sentence states the core purpose and return format, the second adds operational capabilities, and the third provides a critical constraint. Every sentence earns its place with zero wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only listing tool with 8 parameters and no output schema, the description provides good context about what information is returned and how to control the listing. It could be more complete by mentioning the response format structure or error conditions, but covers the essential operational aspects well given the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 8 parameters thoroughly. The description adds minimal value beyond the schema - it mentions pagination, sorting, and searching which correspond to parameters, but doesn't provide additional syntax or format details. The baseline of 3 is appropriate when the schema does most of the work.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Lists all columns'), resource ('in the specified dataset'), and scope ('including their names, types, descriptions, and hidden status'). It distinguishes from sibling tools like 'analyze_columns' by focusing on listing metadata rather than analysis.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context about when to use this tool (to get column metadata with pagination/sorting/searching) and includes an important exclusion ('__all__ is NOT supported as a dataset name'). However, it doesn't explicitly mention when to use alternatives like 'analyze_columns' or 'run_query' for different column-related tasks.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_datasetsB

Lists available datasets for the active environment with pagination, sorting, and search support. Returns dataset names, slugs, descriptions, and timestamps.

ParametersJSON Schema
NameRequiredDescriptionDefault
environmentYes
pageNo
limitNo
sort_byNo
sort_orderNo
searchNo
search_fieldsNo

TDQS

B3/5.0
Behavior2/5

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 pagination, sorting, and search support, and describes return values (names, slugs, descriptions, timestamps), but lacks critical details like rate limits, authentication requirements, error conditions, or whether this is a read-only operation. For a 7-parameter tool with no annotation coverage, this leaves significant behavioral gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately concise with two sentences that efficiently convey core functionality and return values. It's front-loaded with the main purpose and avoids unnecessary elaboration, though it could be slightly more structured by separating capabilities from return values.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 7 parameters with 0% schema coverage and no output schema, the description provides basic context about capabilities and return format but falls short of complete guidance. It covers what the tool does and what it returns, but doesn't adequately explain parameter usage or behavioral constraints needed for effective tool invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for undocumented parameters. While it mentions pagination, sorting, and search support, it doesn't explain any of the 7 parameters' semantics, purposes, or relationships. The description adds minimal value beyond what's implied by parameter names in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Lists available datasets for the active environment' with specific capabilities like pagination, sorting, and search. It distinguishes from siblings by focusing on datasets rather than boards, columns, or other resources, but doesn't explicitly contrast with similar list tools like list_boards or list_columns.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context ('for the active environment') but provides no explicit guidance on when to use this tool versus alternatives like list_boards or list_columns. There's no mention of prerequisites, exclusions, or comparative scenarios with sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_markersC

Lists available markers (deployment events) for a specific dataset or environment with pagination, sorting, and search support. Returns IDs, messages, types, URLs, creation times, start times, and end times.

ParametersJSON Schema
NameRequiredDescriptionDefault
environmentYesThe Honeycomb environment
pageNoPage number (1-based)
limitNoNumber of items per page
sort_byNoField to sort by
sort_orderNoSort direction
searchNoSearch term to filter results
search_fieldsNoFields to search in (string or array of strings)

TDQS

C2.9/5.0
Behavior2/5

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 mentions that the tool returns specific fields (IDs, messages, types, etc.) and supports pagination, sorting, and search, but lacks details on permissions, rate limits, error handling, or what happens if parameters are omitted. For a read operation with 7 parameters, 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded, stating the core purpose in the first clause. It efficiently lists features and return fields in a single sentence with no wasted words, though it could be slightly more structured for readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (7 parameters, no output schema, no annotations), the description is moderately complete. It covers the purpose and return fields but lacks behavioral details and usage context. Without an output schema, it should ideally explain the return format more thoroughly, but the listed fields provide some clarity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 parameters thoroughly. The description adds minimal value by implying the tool supports pagination, sorting, and search, but doesn't provide additional context beyond what's in the schema. 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.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Lists available markers (deployment events) for a specific dataset or environment' with specific functionality like pagination, sorting, and search. It distinguishes itself from siblings like list_datasets or list_boards by focusing on markers/deployment events, though it doesn't explicitly contrast with them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 mentions the tool's features but doesn't indicate scenarios where it's appropriate, prerequisites, or how it differs from other list tools in the sibling set.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_recipientsC

Lists available recipients for notifications in a specific environment. This tool returns a list of all recipients available in the specified environment, including their names, types, targets, and metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
environmentYesThe Honeycomb environment
pageNoPage number (1-based)
limitNoNumber of items per page
sort_byNoField to sort by
sort_orderNoSort direction
searchNoSearch term to filter results
search_fieldsNoFields to search in (string or array of strings)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It mentions the return format ('list of all recipients... including their names, types, targets, and metadata') but lacks critical behavioral details: pagination behavior (implied by 'page' and 'limit' parameters but not explained), rate limits, authentication requirements, or error conditions. This is inadequate for a tool with 7 parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences that efficiently state the purpose and return format. It's front-loaded with the core functionality. No wasted words, though it could be slightly more structured (e.g., separating purpose from output details).

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 7 parameters, no annotations, and no output schema, the description is incomplete. It covers the basic purpose and return fields but misses behavioral context (pagination, errors, auth), parameter interactions, and comparison to siblings. For a list tool with filtering/sorting parameters, more guidance is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so parameters are fully documented in the schema. The description adds no parameter-specific semantics beyond implying filtering via 'search' and pagination via 'page'/'limit'. It meets the baseline for high schema coverage but doesn't enhance understanding of parameter interactions or constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Lists available recipients for notifications in a specific environment.' It specifies the verb ('Lists'), resource ('recipients'), and scope ('in a specific environment'). However, it doesn't explicitly differentiate from sibling tools like 'list_boards' or 'list_triggers' 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.

Usage Guidelines2/5

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., environment access), exclusions, or related tools for notification management. The agent must infer usage from the purpose alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_slosA

Lists available SLOs (Service Level Objectives) for a specific dataset. This tool returns a list of all SLOs available in the specified environment, including their names, descriptions, time periods, and target per million events expected to succeed. NOTE: all is NOT supported as a dataset name -- it is not possible to list all SLOs in an environment.

ParametersJSON Schema
NameRequiredDescriptionDefault
environmentYesThe Honeycomb environment
datasetYesThe dataset to fetch SLOs from

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses that the tool returns a list with specific fields (names, descriptions, etc.), which adds behavioral context beyond the input schema. However, it lacks details on permissions, rate limits, pagination, or error handling, leaving some behavioral aspects unclear for a read operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose in the first sentence, followed by additional details and a critical note. Every sentence adds value: the first explains what it does, the second details the return format, and the third provides an essential usage constraint. It is concise with zero wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (2 required parameters, no output schema, no annotations), the description is fairly complete. It covers purpose, return format, and a key constraint. However, without annotations or output schema, it could benefit from more behavioral details (e.g., response structure, error cases), slightly reducing completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 (environment and dataset). The description adds value by clarifying that 'dataset' cannot be '__all__', which is a semantic constraint not in the schema. This compensates slightly, but most parameter semantics are covered by the schema, resulting in a baseline score of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Lists') and resource ('SLOs') with specific scope ('for a specific dataset'), distinguishing it from siblings like list_boards or list_datasets. It explicitly mentions what information is returned (names, descriptions, time periods, target per million events), making the purpose highly specific and well-defined.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance on when NOT to use this tool: it states that '__all__ is NOT supported as a dataset name' and clarifies that 'it is not possible to list all SLOs in an environment.' This gives clear boundaries and helps the agent avoid incorrect usage, which is optimal for usage guidelines.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_triggersA

Lists available triggers (alerts) for a specific dataset. This tool returns a list of all triggers available in the specified dataset, including their names, descriptions, thresholds, and other metadata. NOTE: all is NOT supported as a dataset name -- it is not possible to list all triggers in an environment.

ParametersJSON Schema
NameRequiredDescriptionDefault
environmentYesThe Honeycomb environment
datasetYesThe dataset to fetch triggers from

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses key behavioral traits: it returns a list with specific metadata, and importantly notes the constraint that '__all__ is NOT supported', which is crucial for correct usage. It does not cover aspects like pagination, rate limits, or error handling, but provides sufficient operational context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose in the first sentence, followed by details on return values and a critical note. Every sentence adds value without redundancy, making it efficient and well-structured for quick understanding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

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 compensates well by explaining what the tool returns and a key constraint. It covers the essential context for a list operation, though it could be more complete by mentioning potential limitations like response size or authentication needs, which are not addressed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 (environment and dataset). The description adds value by clarifying that 'dataset' cannot be '__all__', which is a semantic constraint beyond the schema. However, it does not provide additional details on parameter formats or examples, staying at the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Lists' and the resource 'triggers (alerts) for a specific dataset', specifying it returns names, descriptions, thresholds, and metadata. It distinguishes from siblings like 'get_trigger' (singular) and 'list_datasets' by focusing on triggers within a dataset.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context by noting that '__all__ is NOT supported as a dataset name', which helps avoid misuse. However, it does not explicitly state when to use this tool versus alternatives like 'get_trigger' or other list tools, leaving some ambiguity in sibling differentiation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_queryA

Executes a Honeycomb query, returning results with statistical summaries.

CRITICAL RULE: For COUNT operations, NEVER include a "column" field in your calculation, even as null or undefined. Example: Use {"op": "COUNT"} NOT {"op": "COUNT", "column": "anything"}.

Additional Rules:

  1. All parameters must be at the TOP LEVEL (not nested inside a 'query' property)

  2. Field names must be exact - use 'op' (not 'operation'), 'breakdowns' (not 'group_by')

  3. Only use the exact operation names listed in the schema (e.g., use "P95" for 95th percentile, not "PERCENTILE")

  4. For all operations EXCEPT COUNT and CONCURRENCY, you must specify a "column" field

ParametersJSON Schema
NameRequiredDescriptionDefault
environmentYesThe Honeycomb environment to query
datasetYesThe dataset to query. Use __all__ to query across all datasets in the environment.
calculationsYes⚠️ CRITICAL RULE: For COUNT or CONCURRENCY operations, you MUST OMIT the 'column' field COMPLETELY - do not include it at all. For all other operations, the 'column' field is REQUIRED.
breakdownsNoMUST use field name 'breakdowns' (not 'group_by'). Columns to group results by.
filtersNoMUST use field name 'filters' (an array of filter objects). Pre-calculation filters for the query.
filter_combinationNoMUST use field name 'filter_combination' (not 'combine_filters'). How to combine filters: AND or OR. Default: AND.
ordersNoMUST use field name 'orders' (not 'sort' or 'order_by'). Array of sort configurations.
limitNoMUST use field name 'limit'. Maximum number of result rows to return.
time_rangeNoMUST use field name 'time_range' (with underscore). Relative time range in seconds from now.
start_timeNoMUST use field name 'start_time' (with underscore). Absolute start timestamp in seconds.
end_timeNoMUST use field name 'end_time' (with underscore). Absolute end timestamp in seconds.
granularityNoMUST use field name 'granularity'. Time resolution in seconds. 0 for auto.
havingsNoMUST use field name 'havings'. Post-calculation filters with same column rules as calculations.

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden and does well by detailing critical behavioral rules: parameter placement (top-level), exact field naming requirements, operation name restrictions, and column field rules for different operations. It provides essential implementation guidance that goes beyond basic functionality, though it doesn't cover rate limits, authentication needs, or error handling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a clear purpose statement followed by prioritized rules (CRITICAL RULE first, then numbered additional rules). Every sentence serves a purpose, though it could be slightly more concise by combining some of the operation rules. The front-loading of the most critical information is effective.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex 13-parameter query tool with no annotations and no output schema, the description provides substantial implementation guidance. It covers critical behavioral constraints and parameter usage rules that would help an agent invoke it correctly. The main gap is lack of information about return format or result structure, which would be helpful given no output schema exists.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 13 parameters thoroughly. The description adds value by emphasizing critical rules about parameter structure (top-level placement, exact field names) and operation-specific constraints, but doesn't provide additional semantic meaning beyond what's in the schema descriptions. 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.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description starts with a clear verb+resource statement: 'Executes a Honeycomb query, returning results with statistical summaries.' It distinguishes this tool from all sibling tools (which are mostly get/list operations) by specifying it's for executing queries with calculations, not retrieving static data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage through the specific rules about parameter structure and operation names, suggesting this should be used when executing statistical queries against Honeycomb data. However, it doesn't explicitly state when to use this tool versus alternatives like analyze_columns or get_slo, nor does it mention prerequisites or typical query scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A3.7/5.0
Disambiguation4/5

Most tools have distinct purposes targeting specific Honeycomb resources (e.g., get_board vs. get_slo vs. get_trigger), but analyze_columns overlaps somewhat with run_query as both involve data analysis. The descriptions help clarify that analyze_columns is for statistical summaries of columns while run_query is for general query execution, but an agent might still confuse them when seeking data insights.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with snake_case (e.g., list_boards, get_slo, run_query). The verbs 'list', 'get', 'analyze', and 'run' are used predictably across the set, making it easy to understand the action each tool performs.

Tool Count5/5

With 14 tools, this server is well-scoped for Honeycomb's observability domain, covering dashboards, SLOs, triggers, datasets, queries, and instrumentation guidance. Each tool has a clear role, and the count is typical for a comprehensive API surface without being overwhelming.

Completeness4/5

The tool set provides strong coverage for retrieving and listing Honeycomb resources (e.g., boards, SLOs, triggers, datasets) and includes key operations like run_query and analyze_columns. Minor gaps exist, such as no tools for creating or updating resources (e.g., create_board, update_slo), but agents can still perform many workflows with the available read-oriented tools.

Maintenance

ActivityInactive
ResponsivenessSyncing

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

Related MCP Servers

Latest Blog Posts

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/honeycombio/honeycomb-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server