Skip to main content
Glama

listMetricDefinitions

List all available engineering metric definitions.

    USAGE - Call this endpoint BEFORE querying metrics (queryPointInTimeMetrics):
    1. Once at start: Call with view='basic' to discover all available metrics - cache this response
    2. Once per metric: Call with view='full' and key=METRIC_KEY to get detailed metadata - cache each response
    3. Use cached metadata to construct valid point-in-time queries

    Cache responses in your context. Only refresh if no longer in your context window or explicitly requested (ex to check if metric readiness has changed).

    Query parameters:
    - view: 'basic' (default) returns minimal info, 'full' includes sources and query metadata
    - key: Filter metrics by key (supports multiple values and comma-separated lists)

    Full view provides query construction metadata:
    - supportedAggregations: Valid aggregation methods for the metric
    - orderByAttribute: Attribute path for sorting by metric values
    - groupByOptions[].key: Valid groupBy keys (use exact values, do NOT guess)
    - filterOptions[].key: Valid filter keys (use exact values, do NOT guess)

    Valid orderBy attributes for metric queries:
    - orderByAttribute: The metric value itself (returned in full view)
    - Source attributes: Any attribute from the metric's source (e.g., "source_name.attribute_name")
    - Dimension attributes: Any attribute from related dimensions (e.g., "source_name.dimension_name.attribute_name")

    Filter operators by type (for constructing queries):
    - STRING: EQUAL, NOT_EQUAL, IS_NULL, IS_NOT_NULL, LIKE, NOT_LIKE, IN, NOT_IN, ANY
    - INTEGER/DECIMAL/DOUBLE: EQUAL, NOT_EQUAL, IS_NULL, IS_NOT_NULL, GREATER_THAN, LESS_THAN, GREATER_THAN_OR_EQUAL, LESS_THAN_OR_EQUAL, IN, NOT_IN, BETWEEN, ANY
    - DATETIME/DATE: EQUAL, NOT_EQUAL, IS_NULL, IS_NOT_NULL, GREATER_THAN, LESS_THAN, GREATER_THAN_OR_EQUAL, LESS_THAN_OR_EQUAL, BETWEEN
    - BOOLEAN: EQUAL, NOT_EQUAL, IS_NULL, IS_NOT_NULL, IN, NOT_IN
    - ARRAY: EQUAL, CONTAINS, IN

    Error responses:
    - 400: Invalid view parameter (must be 'basic' or 'full')
    - 403: Restricted Feature (contact help@cortex.io)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
keyNo
viewNobasic
contextYes Explain why you're invoking this tool now and how its output will be used. Then state how this call supports your *overall objective* and fits into your broader plan across all tool calls (e.g., why this tool vs. others, and what step it unblocks). Never share any personal details or sensitive information.

TDQS

A5/5.0
Behavior5/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 caching expectations ('Cache responses in your context'), error responses (400, 403), and that full view returns sources and query metadata. It does not explicitly state read-only, but 'List' and the usage context make it clear. This level of disclosure is above average.

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 long but exceptionally well-structured with sections (USAGE, Query parameters, Full view..., Filter operators by type, Error responses). Every section provides distinct, non-redundant information. No fluff.

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

Completeness5/5

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

No output schema exists, but the description explains what full view returns (supportedAggregations, orderByAttribute, groupByOptions, filterOptions) and how to interpret them. It also covers error codes and prerequisites. For a metadata-listing tool, this is comprehensive.

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

Parameters5/5

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

Schema coverage is low (only the generic context param is described). The description compensates fully: explains view='basic' vs 'full', key filtering (multiple values, comma-separated), and enumerates the metadata returned for query construction. This gives agents everything they need to set parameters correctly.

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 opens with 'List all available engineering metric definitions' – a specific verb and resource. It further distinguishes this from querying metrics by explicitly stating to call this 'BEFORE querying metrics (queryPointInTimeMetrics)' and by listing sibling-related metadata. This clearly differentiates it from sibling tools.

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?

Provides explicit step-by-step usage: '1. Once at start: Call with view='basic'... 2. Once per metric... 3. Use cached metadata...' It also instructs caching behavior and when to refresh. This is strong actionable guidance for when to use vs. the query tool.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

C2.7/5.0
Disambiguation2/5

Several tools have overlapping or unclear boundaries, notably getEntityDescriptor and listEntityDescriptors share identical descriptions, and getEntityDetails may be confused with them. This ambiguity could easily lead an agent to select the wrong tool for a catalog lookup.

Naming Consistency3/5

Most tools follow a camelCase getXxx/listXxx pattern, but there are clear exceptions like query_docs and get_more_tools that use snake_case, and the verb set includes get, list, query, and search. The mixed conventions are still readable but not fully consistent.

Tool Count2/5

With 31 tools, the surface feels oversized, especially considering the redundant descriptor tools and the meta-tool get_more_tools. The scope is broad but could benefit from splitting into separate servers for catalog, metrics, and other functions.

Completeness2/5

The tool set is almost entirely read-only (get/list/search/query) with no create, update, or delete operations, despite descriptions mentioning 'manage your service catalog'. This leaves significant lifecycle gaps and prevents full catalog management workflows.

Resources