Skip to main content
Glama

GetVariantDetails

Read-onlyIdempotent

Retrieve detailed metadata for a graph variant: federation version, subgraph inventory (names), router status and any pending router version, and the current router configuration (raw YAML). Use this to assess a variant's health — router config gaps, subgraph inventory, and federation version compliance. Provide the graph ID and variant name (e.g., "production").

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
graphIdYes
variantYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataNo
errorsNo
extensionsNo

TDQS

A4.1/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 the safety profile is fully covered by structured data. The description adds value by enumerating precisely what data is returned and how it can be used for health assessment. It doesn't mention pagination, limits, or error conditions beyond required inputs, but given the annotation coverage, this is acceptable.

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 dense sentences with zero waste. The first sentence enumerates exactly what is returned; the second states the use case and required inputs. Every word carries meaning, and the content is front-loaded with the most important information first.

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?

The tool has a rich description, strong annotations (readOnly, idempotent, non-destructive, openWorld), and a documented output schema. For a 2-parameter read-only metadata retrieval tool, the description fully covers the use case, inputs, and expected contents. There is no gap in behavioral, input, or usage context that would hinder correct invocation.

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 0%, so the description must compensate. It does partially: it explains 'graphId' and 'variant' inputs, and even gives an example value ('production') for variant. However, it doesn't explain what format the graphId takes (e.g., is it an Apollo graph reference like 'mygraph@current'? just the ID string?). The variant parameter is well-contextualized but graphId semantics are left implicit.

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 states a specific verb+resource ('Retrieve detailed metadata for a graph variant') and enumerates the exact contents returned: federation version, subgraph inventory, router status, pending router version, and current router configuration. It clearly distinguishes from siblings by focusing on variant health assessment — the sibling tools handle launches, metrics, lint results, docs, etc., none of which overlap with variant metadata.

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 usage guidance ('Use this to assess a variant's health — router config gaps, subgraph inventory, and federation version compliance') and specifies the required inputs ('Provide the graph ID and variant name'). It doesn't explicitly state when NOT to use it or name direct alternatives, but the usage context is clear and specific enough for correct selection among the siblings.

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

A3.9/5.0
Disambiguation5/5

Each tool targets a clearly distinct resource and action: docs (search/read), launches (history/get/latest), metrics (operations/subgraphs/top ops), config checks (PQL/lint/variant), and identity resolution. There is no meaningful overlap — GetLaunchHistory, GetLaunch, and GetLatestLaunch are clearly differentiated by scope. The tool set is exceptionally well delineated.

Naming Consistency3/5

The naming follows a mostly consistent pattern, but there is a notable inconsistency: seven tools use the Get* prefix (GetLaunch, GetVariantDetails, GetLintResults, etc.) while two use an inconsistent ApolloDocs* prefix (ApolloDocsSearch, ApolloDocsRead). The Get* tools are uniform, and the camelCase compound names (GetLatestLaunch, GetOperationMetrics) are readable, but the two ApolloDocs tools break the pattern.

Tool Count5/5

13 tools is well within the ideal 3-15 range. Each tool maps to a distinct GraphOS capability: documentation access, identity resolution, launch/deployment inspection, health metrics, linting, PQL status, and variant details. No tool feels extraneous, and the count is appropriate for the broad but bounded domain of GraphOS observability and configuration.

Completeness4/5

The surface covers the core GraphOS operations well: deployments (launch tools), traffic health (metrics tools), configuration (variant/PQL/lint), documentation, and identity. A minor gap is the absence of write/management operations (e.g., no tool to trigger a launch, update PQL, or modify variant configuration), meaning the server is read-only in nature. For a read-only observability/health-check server this is acceptable, but an agent could not act on findings. Also no tool to list graphs/variants directly (only via GetMyIdentity).

Resources