Skip to main content
Glama

list_dimensions

Read-onlyIdempotent

List the distinct values seen for a given dimension (service, region, linked_account, usage_type, or operation) for one provider — useful for discovering filter values before calling query_costs.

Input Schema

NameRequiredDescriptionDefault
end_dateNo
dimensionYes
start_dateNo
cost_source_idYesProvider id, e.g. "aws" — must be enabled for this account

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / dimension / enum
      Previous value: -[
      -  "service",
      -  "region",
      -  "linked_account",
      -  "usage_type",
      -  "operation",
      -  "identity",
      -  "namespace",
      -  "workload",
      -  "cluster",
      -  "resource_id"
      -]New value: +[
      +  "service",
      +  "region",
      +  "linked_account",
      +  "usage_type",
      +  "operation",
      +  "identity",
      +  "namespace",
      +  "workload",
      +  "cluster",
      +  "resource_id",
      +  "model"
      +]
  2. First observed

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint/true, idempotentHint/true, and destructiveHint/false, so safety is covered. The description adds the data-driven nature ('values seen') and the workflow placement ahead of query_costs, but says nothing about whether results are paginated, capped, or scoped to the date range, which matters for a listing tool.

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?

A single front-loaded sentence with the purpose first and the workflow hint second; no filler. The inline dimension list is slightly redundant with the schema enum, but the sentence is otherwise tight.

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?

With two undocumented optional params and no output schema, the description should clarify the effect of start_date/end_date on which distinct values are returned and roughly what the result looks like (list of strings vs objects). It covers the conceptual purpose but leaves the temporal scoping of results completely unexplained.

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 coverage is only 25% (just cost_source_id documented), so the description carries the burden and does not meet it. Its parenthetical enumerates only 5 of the 11 enum values (omitting identity, namespace, workload, cluster, resource_id, model), which can mislead an agent into thinking the list is exhaustive, and start_date/end_date are never mentioned.

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?

States a specific verb+resource ('List the distinct values seen for a given dimension') and scopes it to one provider, so the agent knows it is a discovery/enumeration read, not an aggregation. It does not, however, differentiate itself from the similarly named sibling list_usage_dimensions, which an agent may not distinguish on name alone.

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?

Explicitly frames the use case: 'useful for discovering filter values before calling query_costs,' naming the downstream tool and the intent. There is no when-not-to-use guidance or mention of the near-identical list_usage_dimensions sibling, so it falls short of a full 5.

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.

Resources