Skip to main content
Glama

GetTopOperations

Read-onlyIdempotent

Identify the most-used operations on a graph variant for a time range, with request counts, types, and signatures. Use to find high-traffic operations, detect unused operations, and prioritize findings by traffic impact. Provide graph ID, variant, and a from/to time range (ISO 8601 timestamps; to must be at least 6 hours before now), plus an optional limit (default 50). This report is rate limited.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
toYesThe ending timestamp for the report. - Must be in the format: 2025-01-01T08:00:00Z (ISO 8601). - Must be at least 6 hours from the current time. - The duration between 'from' and 'to' must not exceed 31 days.
fromYesThe starting timestamp for the report. - Must be in the format: 2025-01-01T00:00:00Z (ISO 8601). - Must be within the last 549 days. - The duration between 'from' and 'to' must not exceed 31 days.
limitYesMaximum number of records to return (default: 10)
graphIdYes
variantYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataNo
errorsNo
extensionsNo

TDQS

A4.2/5.0
Behavior4/5

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

The description discloses the rate limit constraint and time-window requirements (to must be 6 hours before now, duration max 31 days). Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the rate limit context and the report nature, which goes beyond the annotations.

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 sentences with zero waste. The first sentence states the purpose and outputs; the second provides usage guidance and parameter hints. Efficiently front-loaded with the primary action first.

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?

This is a moderately complex report tool with an output schema, so return values need no explanation. The description covers purpose, use cases, required inputs, time constraints, optional limit, and rate limiting. The limit default discrepancy (50 vs 10) between description and schema is a minor gap, preventing a 5.

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 coverage is 60%. Within the schema, `from` and `to` have detailed constraints (ISO format, 6-hour gap, 31-day max duration, 549-day lookback), but `graphId` and `variant` have no descriptions. The description states 'optional limit (default 50)' but the schema says default 10 — this is an inconsistency, though the schema description for limit says default 10 while the description says default 50. The description names the essential parameters (graph ID, variant, time range) but doesn't add semantic depth beyond schema for the schema-covered params.

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 what the tool does: 'Identify the most-used operations on a graph variant for a time range, with request counts, types, and signatures.' It distinguishes from siblings by explicitly naming usage purposes: find high-traffic operations, detect unused operations, and prioritize findings by traffic impact. It is differentiated from GetOperationMetrics and GetSubgraphMetrics by its specific focus on top operations.

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 explicitly tells when to use it ('find high-traffic operations, detect unused operations, prioritize findings by traffic impact'), and specifies required inputs (graph ID, variant, from/to time range). It states the rate limit and required `to` constraint. It doesn't explicitly say when NOT to use it or name alternative tools as exclusions, but the context is clear.

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