Skip to main content
Glama
raviraj-ntp

Dynatrace MCP

by raviraj-ntp

List Pods

dynatrace_list_pods

List Kubernetes pods with CPU and memory metrics by cluster, namespace, or workload. Includes quiet pods with no logs; optional log scan adds pods that emitted logs.

Instructions

Pod table from kube CPU/memory metrics for any cluster/namespace/workload. Quiet pods (no logs) are included. Pass filters from list_clusters / list_namespaces or the user; do not assume names. Unfiltered lists are capped. includeLogs is an optional extra Grail scan.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
toNoEnd: now or ISO-8601
podNoPod name: exact replica, prefix ending with '-', or glob (my-app-*).
fromNoStart: now-30m or ISO-8601
limitNo
aroundNoPivot timestamp for a window
windowNoHalf-window around pivot, e.g. 2m
clusterNoDynatrace k8s.cluster.name. Discover with dynatrace_list_clusters; do not assume a cluster.
endDateNoCalendar end YYYY-MM-DD (UTC day)
workloadNoWorkload or deployment name (k8s.workload.name / k8s.deployment.name).
namespaceNoKubernetes namespace (k8s.namespace.name). Discover with dynatrace_list_namespaces.
startDateNoCalendar start YYYY-MM-DD (UTC day)
connectionNoNamed connection from env (default, optional stage/prod aliases, or a DYNATRACE_CONNECTIONS key)
includeLogsNoAlso list pods that emitted logs (expensive Grail scan)
allowLongRangeNoAllow ranges longer than the default cap

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4/5.0
Behavior4/5

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

No annotations exist, so the description carries the full burden, and it discloses several non-obvious traits: quiet pods (no logs) are still returned, unfiltered lists are capped, and includeLogs triggers an expensive extra Grail scan. It omits output shape and what the cap actually is, but the behavioral disclosures are substantive.

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?

Four short sentences, front-loaded with what the tool returns, then filtering guidance, then the caveats. Dense and efficient with no filler, though the opening 'Pod table from kube CPU/memory metrics' is slightly awkward phrasing.

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?

For a 14-parameter, no-annotation, no-output-schema listing tool, the description covers the essential call semantics (filter sourcing, capping, the optional log scan) and says what the result is at a high level. The main gap is that with no output schema it doesn't hint at the returned pod fields, which would be the last piece an agent needs.

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

Parameters4/5

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

Schema coverage is already 93%, so the baseline is 3, and the description adds meaning on top: includeLogs as an optional expensive scan, the unfiltered-list cap tied to limit/allowLongRange, and the origin of cluster/namespace filter values. That is genuine value beyond the schema text.

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 and resource ('Pod table from kube CPU/memory metrics') plus the scope dimensions it covers (cluster/namespace/workload). An agent can tell it apart from dynatrace_get_pod (single entity) and dynatrace_list_nodes, though it never names those siblings explicitly.

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?

Gives real context: pass filters sourced from list_clusters / list_namespaces rather than assumed names, and warns that unfiltered lists are capped. It stops short of stated exclusions against the pod_utilization / pod_issues / pod_logs siblings, so it is clear context without explicit alternatives.

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