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.
limitNoMaximum number of records to return (default: 10)
graphIdYes
variantYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataNo
errorsNo
extensionsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • addedInput schema / properties / limit / default
      Added value: +50
    • changedInput schema / required
      Previous value: -[
      -  "graphId",
      -  "variant",
      -  "from",
      -  "to",
      -  "limit"
      -]New value: +[
      +  "graphId",
      +  "variant",
      +  "from",
      +  "to"
      +]
    • addedOutput schema / properties / data / properties / graph / anyOf
      Added value: +[
      +  {
      +    "properties": {
      +      "variant": {
      +        "anyOf": [
      +          {
      +            "properties": {
      +              "topOperationsReport": {
      +                "description": "Returns a list of the top operations reported for this variant within a given time range. This API is rate limited,\nand will return an error if too many requests are made for a graph.",
      +                "items": {
      +                  "properties": {
      +                    "name": {
      +                      "anyOf": [
      +                        {
      +                          "type": "string"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ],
      +                      "description": "The operation name or null if the operation is unnamed."
      +                    },
      +                    "operationId": {
      +                      "description": "The unique id for this operation.",
      +                      "type": "string"
      +                    },
      +                    "requestCount": {
      +                      "description": "Long type"
      +                    },
      +                    "signature": {
      +                      "anyOf": [
      +                        {
      +                          "type": "string"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ],
      +                      "description": "The operation's signature body or null if the signature is unavailable due to parse errors."
      +                    },
      +                    "type": {
      +                      "anyOf": [
      +                        {
      +                          "$ref": "#/definitions/OperationType"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ],
      +                      "description": "The operation type or null if the operation type could not be determined from the signature."
      +                    }
      +                  },
      +                  "required": [
      +                    "operationId",
      +                    "requestCount"
      +                  ],
      +                  "type": "object"
      +                },
      +                "type": "array"
      +              }
      +            },
      +            "required": [
      +              "topOperationsReport"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Provides details of the graph variant with the provided `name`, if a variant\nwith that name exists for this graph. Otherwise, returns null.\n\n For a list of _all_ variants associated with a graph, use `Graph.variants` instead."
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / data / properties / graph / oneOf
      Removed value: -[
      -  {
      -    "properties": {
      -      "variant": {
      -        "description": "Provides details of the graph variant with the provided `name`, if a variant\nwith that name exists for this graph. Otherwise, returns null.\n\n For a list of _all_ variants associated with a graph, use `Graph.variants` instead.",
      -        "oneOf": [
      -          {
      -            "properties": {
      -              "topOperationsReport": {
      -                "description": "Returns a list of the top operations reported for this variant within a given time range. This API is rate limited,\nand will return an error if too many requests are made for a graph.",
      -                "items": {
      -                  "properties": {
      -                    "name": {
      -                      "description": "The operation name or null if the operation is unnamed.",
      -                      "oneOf": [
      -                        {
      -                          "type": "string"
      -                        },
      -                        {
      -                          "type": "null"
      -                        }
      -                      ]
      -                    },
      -                    "operationId": {
      -                      "description": "The unique id for this operation.",
      -                      "type": "string"
      -                    },
      -                    "requestCount": {
      -                      "description": "Long type"
      -                    },
      -                    "signature": {
      -                      "description": "The operation's signature body or null if the signature is unavailable due to parse errors.",
      -                      "oneOf": [
      -                        {
      -                          "type": "string"
      -                        },
      -                        {
      -                          "type": "null"
      -                        }
      -                      ]
      -                    },
      -                    "type": {
      -                      "description": "The operation type or null if the operation type could not be determined from the signature.",
      -                      "oneOf": [
      -                        {
      -                          "$ref": "#/definitions/OperationType"
      -                        },
      -                        {
      -                          "type": "null"
      -                        }
      -                      ]
      -                    }
      -                  },
      -                  "required": [
      -                    "operationId",
      -                    "requestCount"
      -                  ],
      -                  "type": "object"
      -                },
      -                "type": "array"
      -              }
      -            },
      -            "required": [
      -              "topOperationsReport"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
  2. First observed

TDQS

A4/5.0
Behavior4/5

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

Annotations already establish read-only, idempotent, non-destructive behavior. The description adds a useful behavioral note that the report is rate limited and restates the freshness constraint on the `to` timestamp. No contradiction with the annotations is present.

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?

Three sentences, front-loaded with the core function, then use cases, then parameter/behavioral notes. Each sentence earns its place and the description remains compact despite covering multiple important details.

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?

The description covers purpose, use cases, required parameters, time-range constraints, and rate limiting, and an output schema exists. However, the contradictory limit default and the lack of graphId/variant semantics leave the agent with partially conflicting and incomplete invocation guidance.

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?

The description names graphId, variant, from/to, and limit, but graphId and variant lack semantic explanation in both the schema and description. More seriously, the description states the limit default is 50 while the schema declares a default of 10, creating conflicting guidance for invocation.

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 a specific verb and resource: 'Identify the most-used operations on a graph variant for a time range,' and names the returned data (request counts, types, signatures). This clearly conveys what the tool does and distinguishes it from the broader sibling metric/report tools.

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?

It explicitly states when to use the tool: find high-traffic operations, detect unused operations, and prioritize findings by traffic impact. It does not name alternative tools or exclusion conditions, so it falls short of full when/not-when guidance.

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