Skip to main content
Glama

k8s-aiops

Disclaimer: This is a community-maintained open-source project and is not affiliated with, endorsed by, or sponsored by the Cloud Native Computing Foundation, the Kubernetes project, or k3s/Rancher. "Kubernetes" and "k3s" are trademarks of their respective owners. Source code is publicly auditable at github.com/AIops-tools/K8s-AIops under the MIT license.

Governed Kubernetes operations for AI agents — 55 MCP tools, every one wrapped with the bundled @governed_tool harness: a local unified audit log under ~/.k8s-aiops/, a token/runaway budget guard, undo-token recording, and a descriptive risk-tier label on every audit row. Coverage spans pods, deployments, statefulsets, daemonsets, replicasets, jobs/cronjobs, services, ingresses, endpoints, configmaps, secrets (names/keys only), PVCs/PVs/storageclasses, nodes, namespaces, events, rollouts (status/history/undo/pause/resume/set-image), pod/node describe, pod/node top, a cluster health summary, and read-only diagnostics / RCA (pod-health and workload-readiness) that flag the root cause worst-first.

Standalone: the governance harness is bundled in the package (k8s_aiops.governance) — k8s-aiops has no external skill-family dependency. Coverage focuses on common cluster operations and is not yet exhaustive.

Verification status: exercised end-to-end against a live kind cluster (v1.36); the diagnostics/RCA tools added in this release are mock-tested only. See docs/VERIFICATION.md.

What works

Any cluster a kubeconfig can reach: standard Kubernetes, k3s, EKS, GKE, AKS, kind, minikube. Authentication (client certs, tokens, EKS/GKE/AKS exec plugins) is delegated entirely to the kubeconfig.

Related MCP server: k8scortex-mcp

What this tool does, and does not, decide

It delivers Kubernetes operations — reads and writes — accurately and efficiently, and records every one of them. It does not decide whether a write is allowed to happen. That is the agent's judgement, or the permission of the kubeconfig context / ServiceAccount you connect it with: point it at a context bound to a read-only RBAC role and the writes fail at the apiserver — the place that actually owns the permission.

So there is no read-only switch, no policy file, no approval gate to configure. The one thing the tool guarantees is that nothing is silent: every call, over MCP and over the CLI alike, lands an audit row in ~/.k8s-aiops/audit.db, and destructive writes still capture their before-state and record an inverse where one exists. The runaway budget guard is a safety backstop, not authorization.

Each tool declares a risk_level, kept in agreement with its [READ]/[WRITE] documentation tag by a test, and carried into the audit row as a descriptive tier — so a reviewer can see at a glance that a row was a high-risk delete. It is a label, not a gate.

Running a smaller / local model? See agent-guardrails.md — it lists the guardrails this tool now enforces for you (so you don't spend prompt budget restating them) and gives a ready-made system prompt for what's left.

Quick Start

As a Claude Code plugin

One install gives an agent both the skill and the MCP server:

/plugin marketplace add AIops-tools/marketplace
/plugin install k8s-aiops@aiops-tools

The MCP server is fetched with uv and pinned to the package version this plugin declares, so an audit row can be traced back to the code that wrote it. Credentials are still configured with k8s-aiops init — see below.

As a CLI or standalone MCP server

uv tool install k8s-aiops

# Friendly onboarding wizard — registers your kube contexts as named targets:
k8s-aiops init

# Or skip it — uses your current kube-context out of the box:
k8s-aiops doctor
k8s-aiops pod list
k8s-aiops deployment list -n default

# Read-only RCA — worst-first root-cause findings, no changes made:
k8s-aiops diagnose pod-health -n prod
k8s-aiops diagnose workload-readiness -n prod

To define named targets (multiple clusters/contexts), create ~/.k8s-aiops/config.yaml:

targets:
  - name: prod          # used as -t prod
    context: prod-eks   # a context in your kubeconfig (omit for current-context)
    namespace: default  # optional default namespace
    # kubeconfig: /path/to/alt/kubeconfig   # optional explicit path
  - name: lab
    context: k3s-lab

No secrets live in this file — credentials come from the kubeconfig.

MCP

{
  "command": "k8s-aiops",
  "args": ["mcp"],
  "env": { "K8S_AIOPS_CONFIG": "~/.k8s-aiops/config.yaml" }
}

Note — MCP servers get a clean environment: most MCP clients spawn the server without your shell's exports, so variables like K8S_AIOPS_HOME, K8S_AUDIT_APPROVED_BY, K8S_AUDIT_RATIONALE (and KUBECONFIG, if your kubeconfig is not at ~/.kube/config) must be set in the MCP server config's env block above — values exported only in your terminal may never reach the server.

Audit & Safety

  • Every tool call is logged to ~/.k8s-aiops/audit.db (local SQLite; relocate with K8S_AIOPS_HOME).

  • Reversible writes record an inverse undo descriptor (scale_deployment → scale-back to previous; cordon_nodeuncordon_node).

  • Every MCP write tool takes dry_run=True and returns a {"dryRun": true, ...} preview without touching the cluster (no undo recorded for a preview).

  • delete_deployment is risk_level=high; destructive CLI commands require double confirmation, medium-risk ones (deployment scale/restart) a single confirmation, and all write commands support --dry-run.

  • All API text passes through sanitize() (output hygiene: control/format-char stripping + truncation).

See skills/k8s-aiops/SKILL.md and SECURITY.md for details.

Secrets

k8s-aiops deliberately has no encrypted secret store (no secrets.enc, no secret CLI): authentication is delegated entirely to your kubeconfig — client certificates, bearer tokens, or exec plugins (EKS/GKE/AKS) — and the tool never handles or stores cluster credentials itself. This is a documented exception to the AIops-tools line-wide encrypted-secret-store pattern.

Companion Skills

If you want…

Use

Kubernetes pods / deployments / nodes

k8s-aiops (this)

Hypervisor VM lifecycle

a hypervisor ops skill

Backup & restore

a backup ops skill

Contributing & feature requests

Coverage is intentionally focused. Missing a device, action, or feature you need? Open an issue or pull request at github.com/AIops-tools/K8s-AIops — feature requests, contributions, and comments are all welcome.

License

MIT — github.com/AIops-tools/K8s-AIops

Available Tools

55 tools
api_resourcesA

[READ] List available API groups and their versions.

Args: target: k8s target name from config; omit to use the default.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetNo

TDQS

A4/5.0
Behavior3/5

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

No annotations provided, so description carries burden. Starts with '[READ]', hinting at idempotency, but does not explicitly state it has no side effects or is safe. For a read-only tool, this is minimal but 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 lines with essential info, front-loaded with '[READ]'. Every sentence is useful, no waste.

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 simple list tool with no output schema, description covers purpose and parameter. Could mention expected output format (list of groups/versions) but not necessary given standard Kubernetes semantics. Sufficient for low complexity.

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 0%, but description adds value by explaining the 'target' parameter as 'k8s target name from config; omit to use the default', which clarifies its purpose beyond the schema's type and default.

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?

Description clearly states it is a READ operation that lists API groups and versions. This distinguishes it from sibling tools like pod_list or deployment_get, which list specific resources.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for listing available API groups, but does not explicitly state when to use this tool versus alternatives (e.g., when to use cluster_info). No exclusion criteria or prerequisites are mentioned.

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

cluster_infoA

[READ] Friendly cluster health summary: server version, node/ns counts.

Args: target: k8s target name from config; omit to use the default.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetNo

TDQS

A4.8/5.0
Behavior5/5

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

No annotations provided, so the description bears full responsibility. It explicitly marks the tool as '[READ]' and describes the output components (server version, node/ns counts). This fully informs the agent that the operation is non-destructive and returns specific data, leaving no ambiguity about behavior.

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?

The description is extremely concise: one line for purpose, one line for parameter. No wasted words. Information is front-loaded with the tool's main action, making it efficient for an AI agent to parse.

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?

For a simple tool with one optional parameter and no output schema, the description provides sufficient context: it defines the return fields (version, node/ns counts) and usage. No additional guidance is needed given the tool's low complexity.

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

Parameters5/5

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

The input schema has 0% coverage (no parameter description), but the tool description clearly explains the sole parameter 'target': 'k8s target name from config; omit to use the default.' This adds all necessary meaning beyond the schema's type and default, enabling correct 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 clearly states it provides a 'friendly cluster health summary' listing 'server version, node/ns counts,' which precisely defines the tool's output. It uses '[READ]' to indicate it is a read-only operation, and the tool name 'cluster_info' is unambiguous. Among siblings focused on specific resources, this tool's distinct purpose is evident.

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 implies use for obtaining cluster-level health summary, which is appropriate context. However, it does not explicitly state when not to use it or direct to alternative tools for more detailed queries. The lack of exclusion guidance prevents a top score.

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

configmap_getA

[READ] Return a configmap's data (keys + values — config, not secrets).

Args: name: ConfigMap name (see configmap_list). namespace: Namespace; omit for the target's default namespace. target: k8s target name from config.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
targetNo
namespaceNo

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations provided, the description must convey behavioral traits. It states the operation is a read ('[READ]') and returns data, not secrets, which is helpful. However, it does not disclose error behavior (e.g., if the configmap doesn't exist), permission requirements, or rate limits. For a simple get operation, the transparency is adequate but could be more comprehensive.

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?

The description is extremely concise and well-structured, with a clear header, a brief statement of function, and a labeled list of arguments. Every sentence adds value, and there is no superfluous text. The format is front-loaded with the core purpose.

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?

Given that the tool has three parameters and no output schema, the description covers the essential inputs and the nature of the output (keys and values). It references configmap_list for obtaining the name, which provides helpful context. It could mention that the result is a map of key-value strings, but the current wording is sufficient. Overall, it provides adequate context for an agent to use the tool correctly.

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 description coverage is 0%, so the description must explain parameters. It does so by describing 'name' as the ConfigMap name with a cross-reference to configmap_list, 'namespace' with a default behavior note, and 'target' as a k8s target from config. This adds significant meaning beyond the schema. The description for 'target' is slightly vague but still informative.

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 starts with '[READ]' and clearly states it returns a configmap's data (keys and values), distinguishing it from secrets and listing tools like configmap_list. It uses a specific verb 'Return' and resource 'configmap's data', making the purpose unambiguous.

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 explicit guidance for each parameter: 'name' references configmap_list for obtaining the name, 'namespace' explains omission defaults to the target's namespace, and 'target' is defined as a k8s target from config. It implicitly tells when to use this tool (to get a specific configmap's data) versus configmap_list (to list all). However, it does not explicitly state when not to use it or provide alternative tools.

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

configmap_listA

[READ] List configmaps (name, namespace, key count, age).

Args: namespace: Namespace; omit for all namespaces. target: k8s target name from config.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetNo
namespaceNo

TDQS

A4.2/5.0
Behavior4/5

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

No annotations are provided, but the description marks itself as '[READ]' and lists the output fields, adequately disclosing the behavior for a list operation. No contradictions.

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?

The description is extremely concise with a single sentence and a structured args block. The '[READ]' tag is front-loaded, and no extraneous information is present.

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?

Given no output schema, the description explicitly lists the output fields (name, namespace, key count, age), which is sufficient for a list tool. It covers the main expectations.

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 0%, but the description adds meaning for both parameters: namespace explains omission behavior, target explains its purpose. This compensates for the schema gap.

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 it is a read operation to list configmaps, specifying the action ('List'), resource ('configmaps'), and output fields (name, namespace, key count, age). This distinguishes it from sibling tools like configmap_get.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides guidance on the namespace parameter ('omit for all namespaces') but does not explicitly differentiate when to use this tool over siblings like configmap_get. However, the naming and read-only nature imply basic enumeration.

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

cordon_nodeA

[WRITE][risk=medium] Mark a node unschedulable (no new pods land). Inverse: uncordon_node.

Pass dry_run=True to preview without cordoning.

Args: name: Node name (see node_list). dry_run: If True, preview without cordoning. target: k8s target name from config.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
targetNo
dry_runNo

TDQS

A4.4/5.0
Behavior4/5

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

No annotations are provided, so the description carries full burden. It states the action is a write operation with medium risk, describes the effect (node unschedulable), and notes the dry_run preview behavior. It does not detail auth needs or side effects beyond the basic operation.

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?

The description is very concise: one line for purpose, one line for dry_run, then a structured args list. Every sentence adds value, no wasted words.

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 simple write tool with 3 parameters and no output schema, the description covers the main behavior and key parameter semantics. It mentions the inverse and preview option. It could mention the return value (likely success status) but not required.

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 description coverage is 0%, so description must explain parameters. It explains 'name' (node name from node_list), 'dry_run' (preview without cordoning), and 'target' (k8s target name). The explanations are helpful though target is somewhat vague.

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 the action: 'Mark a node unschedulable (no new pods land).' It uses a specific verb and resource, and also mentions the inverse tool for context.

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 mentions the inverse tool (uncordon_node) and explains the dry_run option for preview. It implicitly tells when to use this tool (to cordon a node), but doesn't explicitly contrast with siblings like drain_node.

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

create_namespaceA

[WRITE][risk=medium] Create a namespace. Inverse: delete_namespace.

Pass dry_run=True to preview without creating.

Args: name: Namespace name to create. dry_run: If True, preview without creating. target: k8s target name from config.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
targetNo
dry_runNo

TDQS

A4.2/5.0
Behavior3/5

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

The description includes [WRITE][risk=medium] tags indicating a write operation with medium risk, and notes it is the inverse of delete_namespace. Without annotations, more detail on behavior (e.g., what happens if namespace exists, required permissions) would improve transparency.

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?

The description is concise and well-structured, with front-loaded tags and a clear separation of purpose, usage, and arguments. Every sentence adds value.

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?

Given the tool has 3 parameters, no output schema, and no annotations, the description covers purpose, parameters, and risk. It is reasonably complete for a create tool, though it could mention error behavior (e.g., duplicate namespace).

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?

With 0% schema coverage, the description compensates by explaining each parameter (name, dry_run, target) in the 'Args' section, adding meaning beyond the schema's titles and defaults.

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 'Create a namespace' as the verb and resource, and mentions it is the inverse of delete_namespace, distinguishing it from sibling tools like namespace_list and delete_namespace.

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 context for usage (creating a namespace) and mentions the dry_run option for previewing. However, it does not explicitly state when not to use or compare with alternatives.

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

cronjob_getA

[READ] Return detail for a single cronjob by name.

Args: name: CronJob name (see cronjob_list). namespace: Namespace; omit for the target's default namespace. target: k8s target name from config.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
targetNo
namespaceNo

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations, the description uses '[READ]' to signal it is safe and non-destructive. It does not disclose other behavioral aspects like authentication needs or error handling, but for a simple get operation, it is adequate.

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?

The description is extremely concise, front-loading the purpose with '[READ]', and using a clear bulleted list for parameters. Every sentence is necessary and no information is redundant.

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?

Given the tool's simplicity, the description covers the core purpose and parameters. It does not describe the return value format (no output schema present), but the agent can infer it returns cronjob details. The reference to cronjob_list adds helpful context.

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 0%, so the description's parameter explanations are crucial. It provides brief but meaningful descriptions for name, namespace, and target, including cross-references and defaults. However, lacks format constraints or examples.

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 'Return detail for a single cronjob by name', with a specific verb and resource. It is distinct from sibling tools like cronjob_list, and the [READ] tag reinforces its read-only nature.

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 implies usage by referencing cronjob_list to obtain the name, providing implicit guidance. However, it lacks explicit when-not-to-use or alternative tools, leaving some ambiguity.

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

cronjob_listA

[READ] List cronjobs (name, namespace, schedule, suspend, active, age).

Args: namespace: Namespace; omit for all namespaces. target: k8s target name from config.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetNo
namespaceNo

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations provided, the description carries the burden of behavioral transparency. It includes the [READ] tag indicating a non-destructive operation and lists the fields returned. It does not describe any side effects or additional behavioral traits, but for a simple list operation, this is adequate.

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?

The description is highly concise: two sentences plus parameter explanations, with no extraneous text. The [READ] tag and main purpose are front-loaded, and each sentence adds value.

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?

Given the tool's simplicity (2 parameters, no output schema, no nested objects), the description is complete. It clearly states the purpose, returned fields, and parameter usage, leaving no major gaps for the agent.

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?

The input schema has no descriptions for parameters (0% coverage). The description adds meaning by explaining the namespace parameter ('omit for all namespaces') and the target parameter ('k8s target name from config'). This is valuable context beyond the schema.

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 it lists cronjobs and specifies the fields returned (name, namespace, schedule, suspend, active, age). The [READ] tag and the verb 'list' make the purpose unmistakable. It is easily distinguishable from siblings like cronjob_get and job_list.

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 explains how to use the namespace parameter ('omit for all namespaces') and the target parameter, providing clear usage context. While it doesn't explicitly state when not to use the tool or name alternatives, the sibling tools list implies that this is for listing all cronjobs, while cronjob_get retrieves a specific one.

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

daemonset_getA

[READ] Return detail for a single daemonset by name.

Args: name: DaemonSet name (see daemonset_list). namespace: Namespace; omit for the target's default namespace. target: k8s target name from config.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
targetNo
namespaceNo

TDQS

A3.7/5.0
Behavior2/5

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

No annotations exist, so description must carry burden. Includes '[READ]' hint but does not confirm idempotency, potential errors (e.g., missing daemonset), or return format. Significant gaps.

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?

Very concise with a clear header and argument list in args format. No wasted words or repetition.

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?

For a simple get tool with no output schema, the purpose and parameters are adequately described. However, lacks behavioral details like error cases and response structure, which would improve completeness.

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 description coverage is 0%, so description compensates by explaining each of the 3 parameters: name with reference to list, namespace default behavior, target from config. Adds clear meaning beyond schema.

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 it returns detail for a single daemonset by name, using a specific verb and resource. It distinguishes from sibling tools like daemonset_list which lists daemonsets.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies usage by saying 'by name' and referencing daemonset_list for name lookup, but does not explicitly state when to use or when not to use alternatives. No exclusions listed.

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

daemonset_listA

[READ] List daemonsets (name, namespace, desired/ready/available, age).

Args: namespace: Namespace; omit for all namespaces. target: k8s target name from config.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetNo
namespaceNo

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It indicates a read operation via [READ] and lists some fields, but omits details like pagination, error behavior, required permissions, or any side effects.

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?

The description is concise with two clear sections: a summary line stating the purpose and returned fields, and an args section. Every sentence adds value without redundancy.

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 mentions returned fields, which is helpful given no output schema, but it lacks information on ordering, filtering, or any other options. For a list tool with two parameters, it is adequate but not fully complete.

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 description coverage is 0%, but the description compensates by explaining the namespace parameter ('omit for all namespaces') and the target parameter ('k8s target name from config'). This adds meaning beyond the raw schema properties.

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 the tool lists daemonsets and specifies the returned fields (name, namespace, desired/ready/available, age). The [READ] prefix signals it is a read operation, and it distinguishes from daemonset_get which likely retrieves a single daemonset.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool over alternatives like deployment_list, job_list, or other list tools among the siblings. It does not mention any prerequisites, filters, or exclusions.

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

delete_deploymentA

[WRITE][risk=high] Delete a deployment and its pods. HIGH RISK — no undo.

Pass dry_run=True to preview without deleting.

Args: name: Deployment name. namespace: Namespace; omit for the target's default namespace. dry_run: If True, preview without deleting. target: k8s target name from config.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
targetNo
dry_runNo
namespaceNo

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It warns 'HIGH RISK — no undo' and mentions the dry_run preview, which adequately discloses the destructive behavior.

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?

The description is very concise: a risk warning, a usage tip, and a parameter list. Every sentence is essential and well-structured.

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?

Given the tool's destructive nature and the absence of an output schema, the description adequately covers the action, risk, and parameters. A minor gap is the lack of mention of the return value, but it's not critical.

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 0%, so the description compensates by explaining all four parameters (name, namespace, dry_run, target) with clear descriptions, adding meaning beyond the schema's type definitions.

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 explicitly states 'Delete a deployment and its pods' with a clear verb and resource. The high-risk warning distinguishes it from sibling tools like scale_deployment or rollout_restart_deployment.

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 a clear safety guideline with dry_run=True to preview. It implies use when deletion is intended, but does not explicitly exclude alternatives.

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

delete_jobA

[WRITE][risk=high] Delete a job and its pods. HIGH RISK — no undo.

Pass dry_run=True to preview without deleting.

Args: name: Job name. namespace: Namespace; omit for the target's default namespace. dry_run: If True, preview without deleting. target: k8s target name from config.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
targetNo
dry_runNo
namespaceNo

TDQS

A4.7/5.0
Behavior5/5

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

No annotations provided, so the description fully bears the transparency burden. It explicitly marks the operation as WRITE, risk=high, and states no undo. It also discloses that pods are deleted along with the job, which is critical behavior.

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?

The description is concise and well-structured. It front-loads the risk warning and then lists arguments in a clear format. Every sentence serves a purpose, and there is no unnecessary text.

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?

The description covers the tool's purpose, risk, parameters, and dry-run capability. However, it does not describe the return value or confirmation message upon deletion. Given the absence of an output schema, a brief note on what happens after deletion would improve completeness.

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

Parameters5/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 explain parameters. It does so comprehensively for all four parameters: name, namespace, dry_run, and target. Each parameter has a clear explanation that adds value beyond the schema.

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 it deletes a job and its pods, with a high-risk warning. The verb 'delete' matches the tool name, and it distinguishes from siblings like delete_pod and delete_deployment by specifying 'job and its pods'.

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 includes a risk warning and recommends using dry_run for preview. However, it does not explicitly state when to use this tool versus alternatives (e.g., delete_pod for individual pods). The guidance is clear but could be more precise.

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

delete_namespaceA

[WRITE][risk=high] Delete a namespace and EVERYTHING in it. HIGH RISK — no undo.

Pass dry_run=True to preview without deleting.

Two namespaces are refused. The cluster's control-plane namespaces (kube-system, kube-public, kube-node-lease) need confirm=True — deleting one takes DNS and pod networking with it. The namespace holding this target's own ServiceAccount credential is refused outright and confirm does NOT override it: that delete revokes the credential it is running on. Both refusals are raised on the dry_run path too, so a preview never shows a green wouldDelete for a delete that would be rejected.

Args: name: Namespace name to delete. dry_run: If True, preview without deleting. confirm: Acknowledge deleting a protected control-plane namespace. target: k8s target name from config.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
targetNo
confirmNo
dry_runNo

TDQS

A5/5.0
Behavior5/5

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

No annotations provided, so the description carries the full burden. It fully discloses the destructive nature (HIGH RISK — no undo), special behaviors for protected namespaces (confirm required or outright refusal), and dry_run behavior (preview without deleting, also raises refusals). No annotation contradiction.

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?

Well-structured with a bold summary, usage tip, detailed behavior explanation, and parameter list. Every sentence is informative and to the point. No fluff.

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?

Given the high-risk nature, 4 parameters, no output schema, and no annotations, the description is exhaustive. It covers purpose, safety, edge cases, parameter semantics, and context. Fully equips an AI agent to invoke the tool correctly.

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

Parameters5/5

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

Schema has 0% description coverage, meaning no parameter descriptions. The description compensates completely by listing all four parameters (name, dry_run, confirm, target) with clear, actionable explanations. Adds meaning beyond the schema's type information.

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 explicitly states the action ('Delete a namespace and EVERYTHING in it') and the resource (namespace). It distinguishes from sibling tools like create_namespace, delete_pod, etc., by emphasizing the scope and high risk. Clear and specific verb+resource usage.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit when-to-use (deleting a namespace) and when-not-to-use (protected control-plane namespaces require confirm=True; self-service-account namespace is outright refused). Also recommends dry_run for preview. Gives clear guidance on alternatives within the same tool via the confirm flag.

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

delete_podA

[WRITE][risk=medium] Delete a pod. No undo — a controller usually recreates it.

Pass dry_run=True to preview without deleting.

Args: name: Pod name. namespace: Namespace; omit for the target's default namespace. dry_run: If True, preview without deleting. target: k8s target name from config.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
targetNo
dry_runNo
namespaceNo

TDQS

A3.9/5.0
Behavior4/5

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

No annotations are provided, so the description carries full weight. It includes a [WRITE][risk=medium] tag, notes that deletion is irreversible with potential controller recreation, and explains the dry_run flag. This covers key behavioral aspects adequately.

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?

The description is very concise: a tag, a one-line summary, a note about dry_run, and a clean argument list. All sentences are meaningful; no waste.

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?

Given the simplicity of the tool (delete a pod) and the parameter descriptions, the description covers the essential context. It lacks return value details, but for a destructive operation this is acceptable. Overall fairly complete.

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

Parameters5/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 provides concise explanations for all four parameters, including default behavior for namespace and dry_run, adding significant meaning beyond the schema titles.

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?

The description states 'Delete a pod' clearly, identifying the specific action and resource. It distinguishes from sibling tools by specifying the resource type, though it does not explicitly differentiate from other delete tools like delete_job or delete_deployment.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions the dry_run option for previewing, but provides no guidance on when to use this tool over alternatives. It lacks context about prerequisites, typical use cases, or when not to use it.

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

deployment_getA

[READ] Return detail for a single deployment by name.

Args: name: Deployment name (see deployment_list). namespace: Namespace; omit for the target's default namespace. target: k8s target name from config.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
targetNo
namespaceNo

TDQS

A4.3/5.0
Behavior3/5

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

No annotations, so description bears full burden. It labels the tool as [READ] and implies it returns deployment details, but does not disclose authorization, rate limits, or error handling.

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?

Description is front-loaded with purpose, followed by a clear parameter list. Every sentence adds value with no redundancy.

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?

Covers purpose, parameters, and read-only nature. For a simple get tool, this is sufficient. Missing explicit return format, but that's common for standard get endpoints.

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

Parameters5/5

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

With 0% schema coverage, description fully compensates by explaining each parameter: name references deployment_list, namespace has default behavior, target sourced from config. Adds substantial meaning beyond schema itself.

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?

Description clearly states 'Return detail for a single deployment by name.' with a [READ] label, distinguishing it from listing and mutation 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?

Provides context for when to use (get details of one deployment) and mentions deployment_list for obtaining names, but does not explicitly exclude alternatives or provide when-not-to-use guidance.

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

deployment_listA

[READ] List deployments (name, namespace, desired/ready/available, age).

Args: namespace: Namespace; omit for all namespaces. target: k8s target name from config.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetNo
namespaceNo

TDQS

A4.4/5.0
Behavior4/5

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

Explicitly marked as READ, indicating no side effects. No annotations provided, but the description itself conveys the non-destructive nature. Does not mention pagination or auth, but for a simple list tool it's sufficient.

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?

Extremely concise: two lines of description plus parameter explanations. No wasted words. Front-loaded with '[READ]' for quick identification.

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?

No output schema, but description lists returned fields. Parameters are explained. For a simple list tool, it covers the necessary context. Could mention default behavior more explicitly, but overall adequate.

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 0%, so description carries full burden. It adds meaning: namespace is optional and defaults to all; target is required. This goes beyond the raw schema fields.

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?

Clearly states it lists deployments with specific fields (name, namespace, desired/ready/available, age). The '[READ]' prefix and resource name distinguish it from sibling tools like deployment_get or scale_deployment.

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?

Explains how to use parameters: omit namespace for all namespaces, target is k8s target. However, it does not explicitly compare to alternatives (e.g., when to use deployment_get instead).

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

drain_nodeA

[WRITE][risk=high] Cordon a node and evict its pods. HIGH RISK — no full undo.

DaemonSet-managed and mirror pods are skipped (like kubectl drain). The cordon is reversible (uncordon_node); the evictions are not. Pass dry_run=True to preview without draining.

Args: name: Node name (see node_list). dry_run: If True, preview without cordoning or evicting. target: k8s target name from config.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
targetNo
dry_runNo

TDQS

A5/5.0
Behavior5/5

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

With no annotations, the description fully discloses the write/high-risk nature, partial reversibility, pod-skipping behavior, and dry-run capability. No hidden behaviors remain.

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?

Extremely concise: a concise summary line, then structured details in paragraphs and an Args list. Every sentence adds value; no redundancy.

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?

Given no output schema or annotations, the description covers all essential aspects: purpose, risk, parameter meanings, behavioral nuances (skipped pods, partial undo), and usage pattern (dry-run). It is self-contained and sufficient for safe invocation.

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

Parameters5/5

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

The input schema has no descriptions (0% coverage), but the tool description includes an Args section explaining `name`, `dry_run`, and `target` with sufficient detail (e.g., 'Node name (see node_list)', 'preview without cordoning or evicting'). This fully compensates for the schema gap.

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 the tool does both cordoning and eviction ('Cordon a node and evict its pods'). It distinguishes from siblings like `cordon_node` (cordon only) and `uncordon_node` (reversal). The high-risk warning adds specificity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit guidance: notes that DaemonSet and mirror pods are skipped (like `kubectl drain`), that cordon is reversible via `uncordon_node` while evictions are not, and recommends `dry_run=True` for preview. This helps an agent decide when to use and how to proceed safely.

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

endpoints_listA

[READ] List endpoints (name, namespace, ready addresses, ports, age).

Args: namespace: Namespace; omit for all namespaces. target: k8s target name from config.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetNo
namespaceNo

TDQS

A3.7/5.0
Behavior3/5

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

The '[READ]' prefix indicates read-only operation, which is helpful given no annotations, but no further behavioral traits (e.g., pagination, ordering) are disclosed.

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?

Extremely concise: a single line for purpose and a brief args section. No wasted words, front-loaded with the verb and resource.

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?

Adequate for a simple list tool with two parameters, but lacks output schema and any mention of error handling or result format, which the agent would need to infer.

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?

Compensates for 0% schema coverage by explaining the namespace parameter (omit for all) and target parameter (k8s target name), adding meaning beyond the schema.

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?

Clearly states 'List endpoints' with specific fields returned (name, namespace, ready addresses, ports, age), distinguishing it from sibling tools that list other resources.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides parameter usage (namespace optional, target required) but offers no guidance on when to use endpoints_list vs alternatives like service_list or pod_list.

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

event_listA

[READ] List recent events (type, reason, object, message, age).

Useful for diagnosing why a pod is not starting (FailedScheduling, etc.).

Returns {"events": [...], "returned": N, "limit": L, "truncated": bool}. When truncated is true there are MORE events than shown — re-run with a higher limit instead of reporting the shown set as complete.

Args: namespace: Namespace; omit for all namespaces. limit: Maximum number of events to return. target: k8s target name from config.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
targetNo
namespaceNo

TDQS

A4.6/5.0
Behavior5/5

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

Discloses return structure (JSON with events, returned, limit, truncated) and warns about truncated results with actionable advice to increase limit. No annotations exist, so description carries full burden and delivers well.

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?

Well-structured with a clear first line, followed by use case and a formatted Args block. Not overly verbose, though the Args section could be more integrated.

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?

Covers return format, pagination behavior, and all parameters. No output schema, yet description fully compensates. For a list tool with three optional params, this is comprehensive.

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 0% but the 'Args' section explains all three parameters (namespace, limit, target) with practical details (e.g., 'omit for all namespaces'). Adds meaning beyond schema names and types.

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?

Clearly states 'List recent events' and specifies returned fields (type, reason, object, message, age). The [READ] prefix and diagnostic use case distinguish it from sibling tools like pod_list or node_list.

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 mentions diagnosing pod starting issues (FailedScheduling), providing direct context. Does not state when not to use or alternatives, but the context is clear enough for appropriate selection.

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

ingress_getA

[READ] Return detail for a single ingress, including path→backend rules.

Args: name: Ingress name (see ingress_list). namespace: Namespace; omit for the target's default namespace. target: k8s target name from config.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
targetNo
namespaceNo

TDQS

A4.2/5.0
Behavior4/5

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

The description starts with '[READ]', indicating it is a read-only operation. No annotations are provided, so the description partially fulfills the need to disclose behavioral traits. It does not mention side effects, authentication, or rate limits, but the read hint is sufficient for a simple retrieval tool.

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?

The description is extremely concise: one line for the purpose and three bullet-like lines for arguments. No unnecessary words or repetition, and the most important information is front-loaded.

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 simple get tool with 3 parameters and no output schema, the description covers the purpose and parameter usage adequately. It does not describe return format or error conditions, but given the low complexity, it is nearly complete.

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?

With 0% schema description coverage, the description adds meaning to all three parameters: 'name' references 'ingress_list', 'namespace' explains default behavior, and 'target' is described as a k8s target from config. This is good coverage, though more precise formats or examples could improve it.

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 the verb 'return detail' and the resource 'single ingress', and specifies included information 'path→backend rules'. This distinguishes it from sibling tools like 'ingress_list'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Some parameter guidance is provided (e.g., 'see ingress_list' for name, namespace default, target from config), but there is no explicit statement on when to use this tool versus alternatives like ingress_list or other get tools.

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

ingress_listA

[READ] List ingresses (name, namespace, class, hosts, age).

Args: namespace: Namespace; omit for all namespaces. target: k8s target name from config.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetNo
namespaceNo

TDQS

A4/5.0
Behavior3/5

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

Prefix '[READ]' signals read-only. Lists output fields but does not mention pagination, rate limits, or required permissions. With no annotations, description carries burden but provides only minimal behavioral detail.

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?

Extremely concise: three lines total. Purpose stated first, followed by parameter descriptions. No unnecessary words.

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?

Sufficient for a simple listing tool with two parameters. No output schema, but return fields are listed. Could improve by noting alphabetical order or sorting.

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?

Both parameters explained: 'namespace' can be omitted for all namespaces, 'target' from config. Adds meaning beyond schema (strings) even though schema coverage is listed as 0%.

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?

Clear verb+resource: 'List ingresses' with output fields (name, namespace, class, hosts, age). Distinguishes from sibling 'ingress_get' which retrieves a single ingress.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Describes parameters but lacks explicit guidance on when to use vs alternatives (e.g., ingress_get for details). No context on typical use cases.

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

job_getB

[READ] Return detail for a single job by name.

Args: name: Job name (see job_list). namespace: Namespace; omit for the target's default namespace. target: k8s target name from config.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
targetNo
namespaceNo

TDQS

B3.4/5.0
Behavior2/5

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

The description includes '[READ]' to indicate a read-only operation, but no annotations are provided. Beyond that, it does not disclose any behavioral traits such as required permissions, side effects, or rate limits. For a read tool with zero annotation coverage, this is insufficient.

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?

The description is concise: a one-line purpose header followed by three short parameter definitions. No extraneous information, front-loaded with '[READ]' for quick understanding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Without an output schema, the description should clarify what 'detail' is returned (e.g., spec, status), but it does not. It also omits error handling or special conditions. This incompleteness reduces its value for an AI agent.

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?

With 0% schema description coverage, the description compensates by explaining each parameter: name from job_list, namespace optional with default, target from config. However, it lacks examples or format details, so adds only moderate meaning beyond the schema.

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 explicitly states '[READ]' and 'Return detail for a single job by name,' clearly indicating the action and resource. This distinguishes it from sibling tools like job_list (list) and delete_job (delete).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when a specific job name is known but does not explicitly state when to use this tool over alternatives like job_list. It provides no exclusions or context for when not to use it.

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

job_listA

[READ] List jobs (name, namespace, completions, succeeded/failed, age).

Args: namespace: Namespace; omit for all namespaces. target: k8s target name from config.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetNo
namespaceNo

TDQS

A3.8/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It indicates it is a read operation and lists returned fields, but it does not mention key behaviors like pagination, authorization requirements, or rate limits.

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?

The description is extremely concise: two lines for the main purpose and a bullet list for arguments. Every sentence adds value without redundancy.

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 simple listing tool with two optional parameters and no output schema, the description covers the essential information. It could be more complete by noting whether results are paginated.

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 partially compensates by explaining the namespace parameter ('Namespace; omit for all namespaces'). However, the target parameter is only described by its title in the schema, with no additional context in the description.

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 explicitly states '[READ] List jobs' and lists returned fields (name, namespace, completions, etc.). It clearly distinguishes from sibling tools like job_get (single job) and cronjob_list (different resource).

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 says 'Namespace; omit for all namespaces', giving clear guidance on the namespace parameter. However, it does not explicitly direct when to use job_list vs job_get, though the context implies listing vs single retrieval.

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

namespace_listA

[READ] List namespaces (name, phase, age).

Args: target: k8s target name from config; omit to use the default.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetNo

TDQS

A4/5.0
Behavior3/5

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

The [READ] tag indicates read-only behavior, but no further transparency is provided (e.g., return format, pagination, limits). With no annotations, the description carries the full burden and could disclose more behavioral traits.

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?

Extremely concise: two sentences without wasted words. The [READ] prefix and parameter description are front-loaded, making the tool's purpose immediately clear.

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 simple list tool with one parameter and no output schema, the description covers the essential purpose and parameter. It lists returned fields, which is helpful. Could mention standard list behavior (e.g., returns all namespaces), but still fairly complete.

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?

The description adds clear meaning to the only parameter (target), explaining its purpose and default behavior. Since schema description coverage is 0%, this is valuable context beyond the schema.

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 the tool lists namespaces and specifies the returned fields (name, phase, age). The [READ] prefix and resource name distinguish it from sibling tools like pod_list or service_list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for listing namespaces but provides no explicit when-to-use or when-not-to-use guidance compared to siblings. The target parameter is explained, but no alternatives or exclusions are mentioned.

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

node_describeA

[READ] Describe a node: capacity, allocatable, conditions, taints.

Args: name: Node name (see node_list). target: k8s target name from config.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
targetNo

TDQS

A4.2/5.0
Behavior4/5

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

Without annotations, the description carries the full burden. It explicitly states '[READ]' indicating a safe, non-destructive operation, and lists the data returned (capacity, allocatable, conditions, taints). No mention of permissions or error handling, but for a read-only tool this is sufficient.

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?

The description is extremely concise, two lines plus arg list. Key information is front-loaded: '[READ]' and purpose. There is no fluff; every sentence adds value.

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?

Given no output schema, the description specifies what the tool returns (capacity, allocatable, conditions, taints). This covers the main use case for node inspection. It doesn't mention additional details like node status or labels, but it's sufficient for a describe operation.

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 0%, so the description must compensate. It explains 'name' as Node name and references node_list for discovery. 'target' is described as 'k8s target name from config', adding meaning beyond the bare schema. This is concise and helpful, though more detail on target values could improve it.

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 the tool's purpose: 'Describe a node' with specific attributes (capacity, allocatable, conditions, taints). The '[READ]' prefix signals read-only operation. This distinguishes it from sibling tools like node_list (listing) or cordon_node (mutation).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context via 'see node_list' for obtaining node names, but no explicit when-to-use or when-not-to-use guidance is provided. Compared to sibling tools, it's clear this is for detailed node inspection, but alternative tools are not mentioned.

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

node_listA

[READ] List cluster nodes (name, status, roles, version, schedulable, age).

Args: target: k8s target name from config; omit to use the default.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetNo

TDQS

A4.2/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It declares '[READ]' indicating a safe read operation, and lists the output fields, which is sufficient for a list tool. No side effects or hidden behaviors are mentioned, but none are expected.

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?

The description is extremely concise: a single line with purpose and fields, followed by a one-line parameter explanation. No unnecessary words, perfectly front-loaded with the most important information.

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?

Given the tool's simplicity (list with one optional param) and no output schema, the description covers the core aspects: what it does, what it returns (fields listed), and the parameter. It could mention potential errors or pagination, but the lack does not significantly hinder usability.

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 0%, so the description must explain parameters. It does so for the only parameter 'target' with a clear explanation: 'k8s target name from config; omit to use the default.' This adds meaningful context beyond the schema's type definition.

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 'List cluster nodes' and enumerates the fields returned, distinguishing it from sibling tools like node_describe which targets a single node. The '[READ]' prefix explicitly marks it as a read operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for listing all nodes, contrasting with node_describe for a specific node, but does not explicitly state when to use vs alternatives or provide exclusion criteria. The optional target parameter is briefly explained.

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

node_topA

[READ] CPU/memory usage per node (requires metrics-server).

Returns available: False with a clear message when metrics-server is not installed.

Args: target: k8s target name from config; omit to use the default.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetNo

TDQS

A4.2/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. It discloses that it requires metrics-server, returns `available: False` on failure, and is marked [READ]. Could add more on output format.

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?

Concise two-sentence description plus Args line. Front-loaded with purpose. Minor room for integration of Args.

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?

Tool is simple (1 optional param, no output schema). Covers purpose, prerequisite, failure behavior, and parameter. Could mention output format or example.

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

Parameters5/5

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

Schema has 0% description coverage; description adds meaning: 'target: k8s target name from config; omit to use the default.' Provides clear context for the only parameter.

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?

Starts with '[READ] CPU/memory usage per node' which clearly states the verb and resource. Distinguishes from sibling tools like pod_top (pods) and node_describe (details).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies usage for getting node resource stats, mentions prerequisite (metrics-server), but does not explicitly state when to use vs alternatives like node_describe or when not to use.

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

pod_describeA

[READ] Describe a pod: status, conditions, container states, recent events.

The fastest single call to diagnose why a pod is not Ready (CrashLoopBackOff, ImagePullBackOff, scheduling failures).

Args: name: Pod name (see pod_list). namespace: Namespace; omit for the target's default namespace. target: k8s target name from config.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
targetNo
namespaceNo

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations provided, the description must carry the full burden of behavioral disclosure. It starts with '[READ]' indicating a read-only operation, and describes what it returns (status, conditions, container states, recent events). It does not contradict any annotations. While it lacks details like rate limits or permission requirements, the read-only nature and general transparency are clear.

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?

The description is extremely concise: three sentences in two short paragraphs. The first line front-loads the READ indicator and core purpose. Every sentence adds value with no redundancy.

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 tool that lists pod details and diagnosis scenarios, the description covers what the tool returns (status, conditions, container states, events) and its intended use case. There is no output schema, but the description adequately summarizes output. Could potentially mention response format or limitations, but for the purpose it is mostly complete.

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?

The input schema has 0% description coverage, so the description must compensate. It explains each parameter: 'name: Pod name (see pod_list).', 'namespace: Namespace; omit for the target's default namespace.', 'target: k8s target name from config.' This adds meaningful guidance beyond the schema, earning a 4.

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 it describes a pod including status, conditions, container states, and recent events. It specifies the resource (pod) and action (describe), and distinguishes itself from siblings like pod_get by emphasizing it is the fastest single call for diagnosing why a pod is not ready, covering specific failure modes (CrashLoopBackOff, ImagePullBackOff, scheduling failures).

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 gives explicit context for when to use this tool: 'the fastest single call to diagnose why a pod is not Ready' and lists common scenarios. It does not, however, state when not to use it or mention alternatives like pod_get or pod_health_rca for more in-depth analysis, so it falls short of a 5.

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

pod_getA

[READ] Return detail for a single pod by name.

Args: name: Pod name (see pod_list). namespace: Namespace; omit to use the target's default namespace. target: k8s target name from config.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
targetNo
namespaceNo

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It correctly identifies the operation as read-only via the [READ] prefix, but lacks details on error behavior (e.g., pod not found), authentication requirements, or rate limits.

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?

The description is extremely concise, using a clear [READ] header and structured parameter list. Every sentence serves a purpose with no redundancy.

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?

The description covers the essential purpose and parameter semantics. However, it omits the return format or output structure, and does not differentiate from the sibling tool 'pod_describe'. Given the tool's simplicity, it is mostly complete but could provide a bit more context.

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?

The description documents all three parameters (name, namespace, target) with practical instructions, such as 'name: Pod name (see pod_list)' and 'namespace: omit to use target's default namespace'. This adds significant value beyond the schema, which only specifies types and defaults.

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?

The description explicitly states 'Return detail for a single pod by name' with a [READ] prefix, clearly indicating the action and resource. However, it does not distinguish itself from the sibling tool 'pod_describe', which likely has similar functionality.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when needing details of a specific pod, but does not provide explicit guidance on when to use alternatives like 'pod_list' or 'pod_describe', nor does it mention any prerequisites or limitations.

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

pod_health_rcaA

[READ] Scan pods for CrashLoopBackOff, image-pull failures, OOMKilled, unschedulable Pending pods, and high restart counts.

Returns worst-first findings, each citing the reason string / restart count that tripped it plus a concrete kubectl action. Omit namespace to scan all.

Args: namespace: Namespace to scope to; omit for all namespaces. label_selector: Optional label selector, e.g. "app=web". target: k8s target name from config; omit to use the default.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetNo
namespaceNo
label_selectorNo

TDQS

A4.4/5.0
Behavior4/5

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

No annotations provided, so the description carries full burden. It explicitly marks as [READ], implying non-destructive. It describes the output format (worst-first with reasons and kubectl actions). Could mention pagination or limits, but sufficient for a read-only scan.

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?

The description is concise and well-structured. First sentence summarizes purpose, then a line about output, then Args. No redundant words.

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?

Given no output schema and no annotations, the description provides a good overview of behavior and parameters. It covers what to expect but could detail exact return fields. Still, adequate for an agent to use correctly.

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 description coverage is 0%, but the description includes an Args section explaining each parameter (namespace, label_selector, target) in plain language. This compensates for the missing schema descriptions.

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 the tool scans pods for specific failure modes (CrashLoopBackOff, etc.) and returns worst-first findings with reasons and kubectl actions. It distinguishes from sibling tools like pod_list or pod_describe by focusing on root cause analysis.

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 explains when to use by listing the specific issues it detects, and suggests omitting namespace to scan all. It does not explicitly mention when not to use or alternatives, but the context is clear enough for an agent.

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

pod_listA

[READ] List pods (name, namespace, phase, ready, restarts, node, age).

Omit namespace to list across all namespaces. Use pod_get for full detail.

Args: namespace: Namespace to scope to; omit for all namespaces. label_selector: Optional label selector, e.g. "app=web". target: k8s target name from config; omit to use the default.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetNo
namespaceNo
label_selectorNo

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations provided, the description carries full burden. It indicates read-only behavior with '[READ]' and lists output fields, but does not disclose error handling, permissions, or formatting details (e.g., results limit, ordering).

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?

The description is highly concise, with a clear front-loaded statement of purpose, a usage note, and a parameter list in exactly four sentences. No unnecessary words.

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?

Given no annotations or output schema, the description covers purpose, parameters, and usage context well. However, it lacks details on return format, error states, or prerequisites like Kubeconfig setup, which would improve completeness for a Kubernetes tool.

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 description coverage is 0%, but the description adds clear semantics for all three parameters: namespace (scope or all), label_selector (example given), and target (defaults). This compensates well, though more examples could be added.

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 the tool lists pods with specific fields (name, namespace, phase, etc.) and distinguishes itself from pod_get, which provides full detail. The verb 'list' and the resource 'pods' are explicit.

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 guidance on when to use the tool vs pod_get ('Use pod_get for full detail') and explains how to scope by namespace. However, it does not discuss when not to use it relative to other listing siblings like pod_describe.

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

pod_logsA

[READ] Return the most recent log lines for a pod (default 100).

Args: name: Pod name. namespace: Namespace; omit for the target's default namespace. tail_lines: Number of trailing log lines to return. container: Container name (required only for multi-container pods). target: k8s target name from config.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
targetNo
containerNo
namespaceNo
tail_linesNo

TDQS

A4.1/5.0
Behavior3/5

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

With no annotations provided, the description carries the burden of behavioral disclosure. It describes the tool as read-only '[READ]' and mentions default tail_lines, but lacks details on rate limits, maximum lines, or whether logs are real-time. Adequate but not rich.

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?

The description is concise, with a clear purpose line and a bulleted list of arguments. Every sentence adds value, and the structure is easy to parse.

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 simple log retrieval tool, the description covers the purpose, parameters, defaults, and key constraints (container required only for multi-container). Minor omission: no mention of output format or limit on tail_lines. Still, very complete.

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

Parameters5/5

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

Schema coverage is 0%, so the description fully compensates. Each parameter is explained: name (pod name), namespace (default namespace if omitted), tail_lines (number of trailing lines), container (required only for multi-container), target (k8s target). This adds crucial context beyond the schema.

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 the tool returns the most recent log lines for a pod, with a [READ] hint. It distinguishes itself from sibling tools like pod_describe or pod_list by specifically targeting log retrieval.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for viewing logs but does not explicitly mention when to use this tool versus alternatives like pod_describe or when not to use it. No exclusions or context-specific guidance is provided.

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

pod_topA

[READ] CPU/memory usage per pod (requires metrics-server).

Returns available: False with a clear message when metrics-server is not installed.

Args: namespace: Namespace; omit for all namespaces. target: k8s target name from config.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetNo
namespaceNo

TDQS

A4.4/5.0
Behavior4/5

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

Discloses failure behavior when metrics-server is not installed (returns 'available: False' with a clear message). No annotations, so description carries burden adequately.

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?

Concise: one-line purpose, one-line behavior note, then parameter definitions. No wasted words.

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?

Covers purpose, prerequisite, failure case, and parameter usage. No major gaps; output shape is implied for a read tool.

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?

Provides clear usage for both parameters: namespace can be omitted for all namespaces, target is a k8s target from config. Schema coverage is 0%, so description adds necessary context.

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?

Starts with '[READ]' indicating operation type, clearly states it provides CPU/memory usage per pod, and implicitly distinguishes from 'node_top' sibling.

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 states prerequisite (metrics-server) and explains namespace usage ('omit for all namespaces'). No explicit when-not-to-use, but context is clear.

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

pvc_getA

[READ] Return detail for a single PVC by name.

Args: name: PVC name (see pvc_list). namespace: Namespace; omit for the target's default namespace. target: k8s target name from config.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
targetNo
namespaceNo

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. The '[READ]' prefix indicates a non-destructive read, but the description does not disclose error behavior, permissions, or rate limits. It is minimally adequate.

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?

The description is very concise with no wasted words. The info is front-loaded with the purpose line, followed by a clean Args block. Each sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, and the description does not specify what fields the returned detail includes. While 'detail' implies the full PVC object, the description should clarify the return format or structure for better completeness.

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 description coverage is 0%, but the description adds meaningful guidance for all three parameters: name references pvc_list, namespace explains default behavior, and target is described as 'k8s target name from config'. This compensates well for the missing schema descriptions.

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 'Return detail for a single PVC by name', using a specific verb ('Return') and resource ('single PVC'). It clearly distinguishes from sibling tool pvc_list which returns a list of PVCs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description includes parameter guidance (e.g., 'omit for the target's default namespace' for namespace) and references pvc_list for name. However, it does not explicitly state when to use this tool versus alternatives or provide exclusion criteria.

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

pvc_listA

[READ] List persistent volume claims (name, status, capacity, class, age).

Args: namespace: Namespace; omit for all namespaces. target: k8s target name from config.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetNo
namespaceNo

TDQS

A3.6/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden. It indicates the tool is read-only via '[READ]' but does not disclose any other behavioral traits such as rate limits, authentication needs, or error handling behavior.

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?

The description is extremely concise with no extraneous words. The primary purpose is stated in one line, and parameter descriptions are front-loaded and structured clearly.

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 simple list tool with no output schema, the description adequately covers what the tool returns and how to use its parameters. It is functionally complete but could benefit from mentioning default behavior or potential limitations.

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?

The description adds meaning beyond the input schema by explaining that omitting namespace queries all namespaces and clarifying the role of target. Schema coverage is 0%, so the description compensates effectively for both parameters.

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 it lists persistent volume claims and specifies the fields returned (name, status, capacity, class, age). It distinguishes itself from sibling tools like pv_list and storageclass_list by targeting a specific resource type.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not provide guidance on when to use this tool versus alternatives. It lacks context on prerequisites, exclusions, or comparative advantages over sibling list tools.

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

pv_listA

[READ] List persistent volumes (name, capacity, status, claim, class, age).

Args: target: k8s target name from config; omit to use the default.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetNo

TDQS

A4.2/5.0
Behavior4/5

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

The description explicitly marks the tool as read-only via the '[READ]' tag and lists the output fields. Without annotations, this provides adequate transparency for a simple list operation, though lacks details on permissions or side effects.

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?

The description is highly concise, using only two sentences to convey purpose and parameter details. It is front-loaded with the core action and fields, with no extraneous information.

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 simple list tool with one optional parameter and no output schema, the description covers the essential aspects: what is listed and the parameter role. It lacks details like pagination or result limits, but overall is adequate.

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?

The sole parameter 'target' is described as 'k8s target name from config; omit to use the default', adding meaning beyond the empty schema description. This briefly explains its purpose and default behavior.

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 the tool's purpose: listing persistent volumes with specific fields (name, capacity, status, claim, class, age). The '[READ]' prefix clarifies the operation type, and the tool is distinct from siblings like 'pvc_list' for volume claims.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implicitly indicates when to use (to list persistent volumes) but provides no guidance on when not to use or differentiate from alternatives. There is no mention of alternatives or context-specific scenarios.

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

replicaset_listA

[READ] List replicasets (name, namespace, desired/ready, age).

Args: namespace: Namespace; omit for all namespaces. target: k8s target name from config.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetNo
namespaceNo

TDQS

A3.6/5.0
Behavior3/5

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

No annotations exist, so the description carries the full burden. It declares the tool as read-only via '[READ]' and lists output fields, which is helpful. However, it does not disclose any additional behaviors like pagination, sorting, or authentication requirements.

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?

The description is extremely concise (two lines for purpose, two lines for args), front-loaded with the read indicator and core function. Every sentence adds value without redundancy.

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?

Given no output schema, the description includes returned fields. However, it lacks details on pagination, default ordering, error cases, or prerequisites (e.g., needing a valid target). For a list tool, this is somewhat incomplete but acceptable for simple use.

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 0%, so the description must compensate. It describes both parameters: namespace ('omit for all namespaces') and target ('k8s target name from config'). These add useful meaning beyond the bare schema, though 'target' could be clearer about its role (cluster context).

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?

The description clearly states it lists replicasets and specifies the returned fields (name, namespace, desired/ready, age). However, it does not explicitly differentiate from sibling list tools like deployment_list or pod_list, missing a chance to clarify unique scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage by listing parameters, but lacks explicit guidance on when to use this tool vs other list tools (e.g., deployment_list). No when-not or alternative suggestions are provided.

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

rollout_historyA

[READ] List a deployment's rollout revisions (from its replicasets).

Args: name: Deployment name. namespace: Namespace; omit for the target's default namespace. target: k8s target name from config.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
targetNo
namespaceNo

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It declares a READ operation, which is transparent, but omits details about behavior on missing deployments, pagination, or result structure. Basic transparency is present but lacks depth.

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?

The description is extremely concise: one header line and three argument bullets. No wasted words, information is front-loaded. Ideal structure for quick parsing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite moderate complexity (3 params, 1 required), the description fails to explain the return value or output format. No output schema exists, so the agent is left to infer what 'list' produces (e.g., list of revision IDs, timestamps). This is a notable gap.

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?

With 0% schema description coverage, the description adds meaningful context for each parameter: 'name: Deployment name.', 'namespace: Namespace; omit for the target's default namespace.', 'target: k8s target name from config.' This compensates for the schema's lack of descriptions.

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?

Description starts with '[READ] List a deployment's rollout revisions (from its replicasets).' This is a specific verb ('List') and resource ('deployment's rollout revisions'), clearly distinguishing it from sibling tools like rollout_status or rollout_undo.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description states the function but does not provide explicit guidance on when to use this tool over alternatives such as rollout_status or rollout_undo_deployment. Usage is implied through the verb 'List', but no when-not or alternative suggestions are given.

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

rollout_pauseA

[WRITE][risk=medium] Pause a deployment's rollout. Inverse: rollout_resume.

Pass dry_run=True to preview without pausing.

Args: name: Deployment name. namespace: Namespace; omit for the target's default namespace. dry_run: If True, preview without pausing. target: k8s target name from config.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
targetNo
dry_runNo
namespaceNo

TDQS

A3.8/5.0
Behavior3/5

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

The description includes a risk label '[risk=medium]' and '[WRITE]' indicating mutation, and explains dry_run behavior. However, with no annotations, it fails to disclose side effects (e.g., impact on traffic, idempotency) or what happens if the rollout is not in progress. It provides baseline transparency but could be more detailed.

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?

The description is concise, using a clear structure with a header line and an 'Args:' list. Every sentence adds value; there is no redundancy. It front-loads the core action and risk indicator. Slightly more space could be saved, but it remains efficient.

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?

Given 4 parameters, no output schema, and a medium-risk write operation, the description provides necessary parameter coverage and a dry_run hint but lacks post-execution context (e.g., how to verify pausing, what the tool returns). It is adequate but not comprehensive for a tool that modifies state.

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 description coverage is 0%, so the description carries the full load. It explains all four parameters (name, namespace, dry_run, target) with practical details like namespace default behavior and dry_run purpose. This adds significant value beyond the bare schema.

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 explicitly states the tool pauses a deployment's rollout, uses a specific verb-resource combination, and distinguishes from the sibling rollout_resume by naming it as the inverse. This leaves no ambiguity about the tool's core function.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions the dry_run parameter for previewing, which implies a safe first use, but does not specify when to use this tool vs alternatives like rollout_status or when to avoid it (e.g., if rollout is already paused). No explicit context for choosing among siblings.

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

rollout_restart_deploymentA

[WRITE][risk=medium] Trigger a rolling restart of a deployment. No clean undo.

Pass dry_run=True to preview without restarting.

Args: name: Deployment name. namespace: Namespace; omit for the target's default namespace. dry_run: If True, preview without restarting. target: k8s target name from config.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
targetNo
dry_runNo
namespaceNo

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It indicates the operation is a write with medium risk and no clean undo, but does not detail side effects like pod replacement behavior, required permissions, or reversibility by other means.

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?

The description is concise: three sentences plus a bullet list, with the purpose and risk front-loaded. No unnecessary words; every sentence adds value.

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?

Given the tool's complexity (rolling restart) and lack of output schema, the description covers the core action and dry_run mode but omits details about the restart behavior, return values, and whether it causes downtime. Could be more complete for an agent.

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 description coverage is 0%, but the description meaningfully explains each parameter: name, namespace (with default behavior), dry_run (preview function), and target (config reference). This adds value beyond the schema's type/default information.

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 the tool triggers a rolling restart of a deployment, distinguishing it from sibling tools like rollout_undo or rollout_status. The verb 'trigger' and resource 'rolling restart of a deployment' are specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions 'No clean undo' as a warning and suggests using dry_run preview, but does not compare to alternatives or provide explicit when-to-use or when-not-to-use guidance. It implies caution but lacks context relative to siblings.

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

rollout_resumeA

[WRITE][risk=medium] Resume a paused deployment's rollout. Inverse: rollout_pause.

Pass dry_run=True to preview without resuming.

Args: name: Deployment name. namespace: Namespace; omit for the target's default namespace. dry_run: If True, preview without resuming. target: k8s target name from config.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
targetNo
dry_runNo
namespaceNo

TDQS

A4/5.0
Behavior3/5

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

With no annotations provided, the description must carry the full burden. It includes a risk tag ('[risk=medium]') and states it is a write operation ('[WRITE]'). It explains the dry_run behavior, but does not disclose idempotency, failure modes, or permissions needed. The basic behavior is clear, but more depth would be beneficial.

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?

The description is structured: a one-line purpose, a line about dry_run, then a bullet-style parameter list. It is fairly concise with no wasted words, though it could be slightly more compact.

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?

Given the tool has 4 parameters, no output schema, and no annotations, the description covers the essential points: purpose, arguments, and a usage hint. However, it does not explain the return value or error conditions, which would be helpful for an agent. It is adequate but not thorough.

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 description coverage is 0%, so the description must explain parameters. It does so: name ('Deployment name'), namespace ('omit for the target's default namespace'), dry_run ('preview without resuming'), target ('k8s target name from config'). This adds meaning beyond the schema's types and indicates required parameters.

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 the action: 'Resume a paused deployment's rollout.' It uses a specific verb (resume) and resource (deployment's rollout), and explicitly mentions it is the inverse of rollout_pause, which distinguishes it from sibling 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?

The description provides a usage hint for the dry_run parameter ('Pass dry_run=True to preview without resuming'), and it mentions the inverse tool (rollout_pause) as a context for when to use this tool. However, it lacks explicit guidance on when not to use it or prerequisites (e.g., deployment must be paused).

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

rollout_statusA

[READ] Rollout status: desired/updated/available/unavailable + paused.

Args: name: Deployment name. namespace: Namespace; omit for the target's default namespace. target: k8s target name from config.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
targetNo
namespaceNo

TDQS

A4/5.0
Behavior4/5

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

Explicitly marked as read-only with '[READ]' and lists returned fields. Since no annotations are provided, this description adequately discloses behavior. However, it doesn't mention authentication or permissions, but for a read tool 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?

Extremely concise, front-loaded with purpose, and parameter explanations are efficiently integrated. No redundant information.

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?

Given no output schema, the description lists what is returned (desired/updated/available/unavailable + paused), which is sufficient for a status check tool. However, more detail on format might be helpful but not necessary.

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?

Parameter descriptions add meaning beyond the schema: 'Deployment name', 'Namespace; omit for the target's default namespace', 'k8s target name from config'. Schema coverage is 0% so description compensates well.

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?

Description starts with '[READ] Rollout status: desired/updated/available/unavailable + paused', clearly identifying it as a read operation and listing the fields returned. This distinguishes it from sibling tools like rollout_history, rollout_pause, etc.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool vs alternatives like rollout_history or rollout_resume. The description only explains arguments without context for selection.

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

rollout_undo_deploymentA

[WRITE][risk=high] Roll a deployment back to a prior revision. HIGH RISK.

Defaults to the immediately previous revision. No clean automatic inverse — re-deploy the intended image/revision to move forward again. Pass dry_run=True to preview without rolling back.

Args: name: Deployment name. namespace: Namespace; omit for the target's default namespace. to_revision: Specific revision to roll back to (0 = previous). dry_run: If True, preview without rolling back. target: k8s target name from config.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
targetNo
dry_runNo
namespaceNo
to_revisionNo

TDQS

A4.6/5.0
Behavior4/5

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

The description notes high risk, no clean automatic inverse, and the ability to preview with dry_run. With no annotations provided, it effectively discloses behavioral traits important for a rollback operation.

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?

The description is concise and well-structured: a brief overview followed by bullet points. Every sentence provides essential information without redundancy.

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?

Given no output schema, the description covers all necessary context: risk level, default behavior, lack of inverse, dry run capability, and full parameter documentation. It is complete for an AI agent to understand and safely use the tool.

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

Parameters5/5

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

Despite 0% schema coverage, the description includes a detailed Args section explaining all five parameters: name, namespace, to_revision (0 = previous), dry_run, and target. This adds full semantic meaning beyond the schema's type and defaults.

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 it rolls a deployment back to a prior revision, with a [WRITE][risk=high] label indicating a destructive write operation. It distinguishes from sibling tools like rollout_restart_deployment and rollout_pause by focusing on undo.

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 explains default behavior (previous revision), lack of clean inverse, and recommends re-deploying to move forward. It suggests using dry_run=True to preview. However, it does not explicitly state when to use this tool versus alternatives like rollout_history or rollout_status.

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

scale_deploymentA

[WRITE][risk=medium] Scale a deployment to replicas. Inverse: restore previous count.

Returns previous_replicas so the change can be undone. Pass dry_run=True to preview without changing anything (no undo is recorded for a preview).

Args: name: Deployment name. replicas: Desired replica count. namespace: Namespace; omit for the target's default namespace. dry_run: If True, preview without scaling. target: k8s target name from config.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
targetNo
dry_runNo
replicasYes
namespaceNo

TDQS

A4.4/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. Discloses risk=medium, return of previous_replicas for undo, dry_run behavior, and that preview records no undo. Could mention pod termination side effects but adequate for a scaling tool.

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?

Highly concise and well-structured: risk tag, main action, returns, then Args in a clear list. No redundant sentences; every line adds value.

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?

Covers return value and dry_run behavior, essential for a scaling tool. Could mention error scenarios or that scaling affects deployment spec, but sufficient given no output schema and sibling context.

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 has 0% description coverage, but the Args section in the description briefly explains all 5 parameters (name, replicas, namespace, dry_run, target). Adds meaning beyond schema titles, though descriptions are minimal.

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?

Describes scaling a deployment with specific verb 'Scale' and resource 'deployment'. Distinguishes from sibling 'scale_statefulset' by naming the resource type directly. The inverse and undo features clarify uniqueness.

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?

Implies safe scaling via 'Returns previous_replicas so the change can be undone' and dry_run preview. However, lacks explicit guidance on when to use this vs other scaling tools like rollout_restart_deployment or set_deployment_image.

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

scale_statefulsetA

[WRITE][risk=medium] Scale a statefulset to replicas. Inverse: restore previous count.

Pass dry_run=True to preview without scaling (no undo is recorded for a preview).

Args: name: StatefulSet name. replicas: Desired replica count. namespace: Namespace; omit for the target's default namespace. dry_run: If True, preview without scaling. target: k8s target name from config.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
targetNo
dry_runNo
replicasYes
namespaceNo

TDQS

A3.7/5.0
Behavior2/5

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

No annotations; description provides some behavioral context (write, risk, dry_run behavior) but misses side effects (pod termination, creation), prerequisites, error handling, and statefulness implications.

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?

Well-structured with header and Args; relatively concise. Minor extra info (inverse) but not harmful.

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?

Covers all parameters; lacks return value description and prerequisites. Given no output schema and 5 params, mild gaps in completeness.

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

Parameters5/5

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

Schema coverage 0%, but Arg section explains all 5 parameters: name, replicas, namespace, dry_run, target. Clarifies default namespace and dry_run purpose.

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?

Verb "Scale" + resource "StatefulSet" clearly stated. Distinguishes from siblings like scale_deployment. Inverse operation mentioned adds clarity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Mentions dry_run for preview; no explicit when-to-use vs alternatives or exclusions. Name and resource type imply usage, but lacks explicit guidance.

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

secret_listA

[READ] List secrets — names, types, and key NAMES only (values redacted).

Secret VALUES are never returned. Use this to discover which secrets and keys exist, then mount/reference them via the kubeconfig-authorized workload.

Args: namespace: Namespace; omit for all namespaces. target: k8s target name from config.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetNo
namespaceNo

TDQS

A4.4/5.0
Behavior4/5

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

Despite no annotations, the description explicitly labels it as a read operation with '[READ]' and states that secret values are never returned. This clearly communicates the safe, read-only nature. However, it does not mention pagination, authorization requirements, or error conditions, which would add completeness.

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?

The description is concise: two sentences and two parameter lines, no redundancy. Every sentence adds value, front-loading the key behavior (read-only, value redaction) and then listing parameters.

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?

The description explains return content (names, types, key names) and the tool's purpose. There is no output schema, so it covers that gap. Missing details on list behavior (pagination, sorting) and output format, but overall sufficient for a simple list tool.

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?

With 0% schema description coverage, the description compensates by explaining the two parameters: namespace (optional, omits for all) and target (k8s target name). This adds meaningful context beyond the bare schema types, though further detail on acceptable values would improve it.

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?

Description clearly states it lists secrets with names, types, and key names only, and explicitly mentions values are redacted. This distinguishes it from other sibling tools by specifying the resource and the constraints, making the purpose very clear.

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 tool tells when to use it: 'Use this to discover which secrets and keys exist, then mount/reference them via the kubeconfig-authorized workload.' It implies a follow-up action but does not explicitly state when not to use it or compare against alternatives, though no other secret-related siblings exist.

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

service_listA

[READ] List services (name, namespace, type, cluster IP, ports).

Args: namespace: Namespace; omit for all namespaces. target: k8s target name from config.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetNo
namespaceNo

TDQS

A4.2/5.0
Behavior3/5

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

Description starts with '[READ]' signaling read-only operation. No annotations, so description carries burden. Does not disclose pagination, ordering, or auth requirements, but basic behavior is clear.

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?

Extremely concise: two-line description and two-line parameter list. No redundant text. Every sentence adds value.

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?

Simple list operation with optional filter. Description covers input, output fields, and read-only property. Lacks output format details, but adequate for a basic list tool.

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 0%, so description must compensate. Explains namespace behavior and target purpose. Adds meaning beyond schema (type/name only). Could specify target validation, but sufficient.

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?

Description clearly states 'List services' with specific attributes (name, namespace, type, cluster IP, ports). Distinguishes from sibling list tools (e.g., pod_list, deployment_list).

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?

Specifies namespace usage ('omit for all namespaces') and target parameter. Lacks explicit when-to-use vs alternatives, but context is clear from sibling tool names.

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

set_deployment_imageA

[WRITE][risk=medium] Update a deployment container's image. Inverse: restore previous.

Returns previous_image so the change can be undone. Pass dry_run=True to preview without changing anything (no undo is recorded for a preview).

Args: name: Deployment name. container: Container name within the pod template (see deployment_get). image: New image reference (e.g. "nginx:1.27"). namespace: Namespace; omit for the target's default namespace. dry_run: If True, preview without updating the image. target: k8s target name from config.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
imageYes
targetNo
dry_runNo
containerYes
namespaceNo

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description discloses that this is a write operation with medium risk, returns 'previous_image' for undo, and supports dry_run without recording. It does not detail side effects like pod restarts, but covers the key behavioral aspects.

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?

The description is concise: a brief header with risk marker, a few sentences, and a structured Args list. Every sentence adds value without redundancy.

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?

The description covers purpose, usage, parameters, return value, and preview behavior. Without an output schema, it clarifies the return value. It is largely complete for a deployment image update, though it could mention pod restart implications.

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

Parameters5/5

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

The input schema has 0% description coverage, so the description compensates fully with an Args block explaining each of the 6 parameters (name, container, image, namespace, dry_run, target) and providing an example for image.

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 starts with '[WRITE][risk=medium]' and states 'Update a deployment container's image. Inverse: restore previous.' This clearly identifies the action (update) and resource (deployment container's image), distinguishing it from sibling tools like scale_deployment or delete_deployment.

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 indicates when to use this tool (to update an image) and mentions the dry_run option for preview. It does not explicitly mention when not to use it or list alternatives, but the sibling context makes the purpose clear.

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

statefulset_getA

[READ] Return detail for a single statefulset by name.

Args: name: StatefulSet name (see statefulset_list). namespace: Namespace; omit for the target's default namespace. target: k8s target name from config.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
targetNo
namespaceNo

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. The '[READ]' prefix hints at non-destructive behavior, but the description does not disclose potential error conditions, idempotency, or any side effects. Minimum viable transparency for a simple getter.

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?

The description is extremely concise, with a clear one-line summary followed by a structured parameter list. Every sentence adds value, and the most important information is front-loaded.

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?

Given the tool has three parameters, no output schema, and no annotations, the description covers the required inputs adequately. It provides a read hint and cross-reference for finding correct names. Minor gap: no explanation of what 'detail' entails in the output, but acceptable for a simple getter.

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?

Input schema coverage is 0%, so the description must explain parameters. It describes 'name' (referencing statefulset_list), 'namespace' (with guidance to omit for default), and 'target' (k8s target). This adds moderate value beyond the schema types and defaults.

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 it returns detail for a single statefulset by name, with a '[READ]' prefix indicating a read-only operation. It distinguishes from sibling tools like statefulset_list (which lists) and other get tools by explicitly naming the resource type.

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 indicates to use statefulset_list to obtain names for the 'name' parameter, providing guidance on how to find valid inputs. However, it does not explicitly state when not to use this tool or list alternatives beyond the implicit reference.

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

statefulset_listA

[READ] List statefulsets (name, namespace, desired/ready/current, age).

Args: namespace: Namespace; omit for all namespaces. target: k8s target name from config.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetNo
namespaceNo

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden. It indicates the operation is a read with '[READ]', which is useful, but does not disclose any other behavioral traits such as permissions, rate limits, or potential side effects. For a simple list operation, this is minimally adequate.

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?

The description is extremely concise with two sentences. It is front-loaded with the operation type [READ] and key purpose. Every sentence adds value without redundancy.

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?

Given the tool is a simple list operation with two optional parameters and no output schema, the description provides sufficient context. It covers the returned fields and parameter usage. Minor gap: it does not specify the output format or that the list includes all namespaces by default, but these are common conventions.

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 add meaning. It explains that 'namespace' can be omitted for all namespaces and 'target' is the k8s target name from config. This adds some context but does not provide detailed semantics like default values or formatting.

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 explicitly states it lists statefulsets and mentions the returned fields (name, namespace, desired/ready/current, age). The [READ] prefix clarifies it's a read operation. This clearly distinguishes it from siblings like statefulset_get and scale_statefulset.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage by showing parameter options (omit namespace for all namespaces) but does not provide explicit guidance on when to use this tool versus other listing tools like pod_list or deployment_list. No exclusions or alternatives are mentioned.

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

storageclass_listA

[READ] List storage classes (name, provisioner, reclaim policy, default).

Args: target: k8s target name from config; omit to use the default.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetNo

TDQS

A4.1/5.0
Behavior3/5

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

The description marks the operation as '[READ]' and lists return fields, adding behavioral context beyond the schema. However, with no annotations, it does not cover permissions, pagination, or error behavior. Adequate but not thorough.

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?

The description is two sentences, front-loads the read indicator, and concisely lists return fields and parameter usage. Every sentence adds value with no wasted words.

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?

Given the simplicity of the tool (1 optional param, no output schema), the description covers the key aspects: purpose, return fields, and parameter semantics. It is nearly complete, lacking only details on scope (e.g., cluster-wide) or filtering.

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

Parameters5/5

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

The schema provides 0% description coverage for the single parameter 'target'. The description compensates fully by explaining it as 'k8s target name from config; omit to use the default', adding complete semantic meaning.

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 the verb 'List', the resource 'storage classes', and the attributes returned (name, provisioner, reclaim policy, default). This is specific and unambiguous, earning a high score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description includes parameter usage guidance for 'target' (omit for default), but provides no explicit when-to-use or when-not-to-use compared to sibling tools like pod_list or service_list. Usage is implied but not clearly differentiated.

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

uncordon_nodeA

[WRITE][risk=medium] Mark a node schedulable again. Inverse: cordon_node.

Pass dry_run=True to preview without uncordoning.

Args: name: Node name (see node_list). dry_run: If True, preview without uncordoning. target: k8s target name from config.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
targetNo
dry_runNo

TDQS

A4.4/5.0
Behavior4/5

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

Includes risk label '[WRITE][risk=medium]' and describes the dry_run behavior. Since no annotations are provided, the description carries the full burden, and it sufficiently discloses the write operation and preview feature.

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?

Front-loaded with purpose, then structured as a short docstring with parameter list. Every sentence is informative and concise, with no wasted words.

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?

Given the tool's simplicity and lack of output schema, the description covers key aspects: purpose, inverse, dry_run, and parameter details. It could mention failure scenarios or prerequisites, but it is largely complete for basic usage.

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?

The input schema has 0% description coverage, but the description explains each parameter: name (refers to node_list), dry_run (preview behavior), target (k8s config source). This adds meaningful context beyond the schema.

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?

Clearly states the verb 'Mark', resource 'node', and effect 'schedulable'. Also mentions the inverse tool 'cordon_node', making the purpose unambiguous.

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 describes the dry_run option for previewing, and mentions the inverse operation. However, it does not provide explicit exclusions or when-not-to-use scenarios beyond the inverse.

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

undo_applyA

[WRITE][risk=medium] Apply a recorded undo by dispatching its inverse tool.

The inverse runs through its own governed tool, so it is audited and labelled with its own risk tier there. Pass dry_run=True to preview the inverse call without executing it. A token can only be applied once.

Args: undo_id: The undoId from undo_list (or an _undo_id in a write result). dry_run: If True, preview the inverse tool + params without running it. target: Passed through to the inverse tool when it accepts a target.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetNo
dry_runNo
undo_idYes

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses that the tool is a write operation (WRITE), has medium risk, runs the inverse through a governed tool for auditing, and enforces single-use restriction on tokens. It also explains the dry_run preview behavior. This is sufficient transparency for a tool of this nature.

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?

The description is concise and well-structured: a one-line summary with risk and purpose, followed by a brief paragraph on key behavior, then parameter explanations. Every sentence adds value, and the critical information (write, risk, dry_run, single-use) is front-loaded.

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?

The description covers the tool's behavior, parameters, and side effects (auditing, single-use) adequately. It does not explain the return value, but since there is no output schema, this is acceptable. The description is complete enough for an agent to use the tool correctly, though additional context about the inverse tool's behavior might help.

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

Parameters5/5

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

Given 0% schema description coverage, the description fully compensates. It explains undo_id as coming from undo_list or `_undo_id` in write results, dry_run as a preview mechanism, and target as pass-through to the inverse tool. This adds significant meaning beyond the raw schema types and defaults.

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?

The description clearly states it 'apply a recorded undo by dispatching its inverse tool' and identifies the tool as a write operation with medium risk. It distinguishes itself from the sibling 'undo_list' by indicating that this tool executes the undo. The purpose is specific and clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides some usage guidance: it explains the dry_run parameter for previewing and notes that a token can only be applied once. However, it does not explicitly tell the agent when to use this tool versus alternatives like rollout_undo_deployment or other revert tools. There is no mention of prerequisites or when not to use it.

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

undo_listA

[READ] List recorded, not-yet-applied undo tokens (most recent first).

Each entry names the original tool, the inverse tool that undo_apply would run, and a human note. Use the undoId with undo_apply.

Returns {"undos": [...], "returned": N, "limit": L, "truncated": bool}. truncated is measured (one extra row is fetched), not guessed from a length coincidence: when it is true there are MORE tokens than shown, so re-run with a higher limit rather than reporting the list as complete.

Each entry carries effectVerified. False means the original write lost its response, so the change it reverses is PROBABLE, not confirmed — check the live state before applying, and do not report the result as a restore of a state that may never have been reached.

Args: limit: Max rows to return (default 50, capped at 500). target: Unused (undo state is host-local); accepted for CLI uniformity.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
targetNo

TDQS

A4.9/5.0
Behavior5/5

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

No annotations provided, but the description fully discloses behavior: it is a READ operation, returns a structured response with truncated measured via an extra row, and explains effectVerified meaning and its implications for safety.

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?

The description is detailed but well-structured, starting with the core purpose, then response format, then parameter details. Every sentence adds value, though a slight reduction in length could improve conciseness.

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?

Given the complexity (no output schema), the description fully explains the return shape, the measured truncation logic, and the effectVerified trait. It covers all necessary context for correct invocation.

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

Parameters5/5

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

Schema coverage is 0%, yet the description provides complete semantic meaning for both parameters: limit (max rows, default 50, capped at 500) and target (unused, for CLI uniformity). This fully compensates for the lack of schema descriptions.

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 the tool lists recorded undo tokens that are not yet applied, with a specific verb 'List' and resource 'undo tokens'. It distinguishes from siblings like undo_apply.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit guidance on when to use: to view available undo tokens and obtain undoId for undo_apply. It also explains how to interpret the truncated field and the effectVerified flag, and notes that target is unused.

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

workload_readiness_rcaA

[READ] Scan Deployments/StatefulSets/DaemonSets for ready-vs-desired shortfalls, zero-ready outages, and rollout-stuck conditions.

Returns worst-first findings, each citing the measured ready/desired ratio or the failing condition reason plus a concrete kubectl action.

Args: namespace: Namespace to scope to; omit for all namespaces. target: k8s target name from config; omit to use the default.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetNo
namespaceNo

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries full burden. It clearly states this is a read-only scan ([READ]) and describes what the output contains (findings with ratio/condition and action). No mention of side effects or permissions needed, but the read-only nature is sufficiently communicated.

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?

The description is reasonably concise and front-loaded with the purpose. The docstring-style structure (Args) is tidy. Minor redundancy in the first line, but overall no wasted sentences.

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?

Given two optional parameters, no output schema, and no annotations, the description adequately covers the tool's behavior and return structure. It mentions the type of findings and actions, which is sufficient for an RCA tool.

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 description coverage is 0%, so the description must compensate. The 'Args' section provides clear meaning for both parameters: namespace scoping and target selection. This adds value beyond the schema's property names and null types.

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 uses a specific verb 'scan' and explicitly names the resources (Deployments/StatefulSets/DaemonSets) and the conditions checked (ready-vs-desired shortfalls, zero-ready outages, rollout-stuck). This clearly distinguishes it from sibling tools like deployment_list or pod_health_rca.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for diagnosing readiness issues by mentioning the findings and kubectl actions, but does not explicitly state when to use this tool versus alternatives like rollout_status or pod_health_rca. No 'when not to use' guidance is provided.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 55 tool updatesv0.8.0
    • First observedapi_resources
    • First observedcluster_info
    • First observedconfigmap_get
    • First observedconfigmap_list
    • First observedcordon_node
    • First observedcreate_namespace
    • First observedcronjob_get
    • First observedcronjob_list
    • First observeddaemonset_get
    • First observeddaemonset_list
    • First observeddelete_deployment
    • First observeddelete_job
    • First observeddelete_namespace
    • First observeddelete_pod
    • First observeddeployment_get
    • First observeddeployment_list
    • First observeddrain_node
    • First observedendpoints_list
    • First observedevent_list
    • First observedingress_get
    • First observedingress_list
    • First observedjob_get
    • First observedjob_list
    • First observednamespace_list
    • First observednode_describe
    • First observednode_list
    • First observednode_top
    • First observedpod_describe
    • First observedpod_get
    • First observedpod_health_rca
    • First observedpod_list
    • First observedpod_logs
    • First observedpod_top
    • First observedpv_list
    • First observedpvc_get
    • First observedpvc_list
    • First observedreplicaset_list
    • First observedrollout_history
    • First observedrollout_pause
    • First observedrollout_restart_deployment
    • First observedrollout_resume
    • First observedrollout_status
    • First observedrollout_undo_deployment
    • First observedscale_deployment
    • First observedscale_statefulset
    • First observedsecret_list
    • First observedservice_list
    • First observedset_deployment_image
    • First observedstatefulset_get
    • First observedstatefulset_list
    • First observedstorageclass_list
    • First observeduncordon_node
    • First observedundo_apply
    • First observedundo_list
    • First observedworkload_readiness_rca

TDQS

A3.9/5.0
Disambiguation5/5

All tools target distinct Kubernetes resources with clear actions (e.g., node_list vs node_describe, deployment_get vs pod_get). Even closely related tools like rollouts are differentiated by action (status, history, pause, etc.). There is no ambiguity between tools.

Naming Consistency5/5

Naming follows a consistent pattern: read operations use resource_verb (e.g., pod_list, deployment_get) and write operations use verb_resource (e.g., delete_pod, scale_deployment). This pattern is applied uniformly across all 55 tools.

Tool Count2/5

At 55 tools, the count is well above the recommended range for a well-scoped server. While the coverage is broad, many tools are simple list/get pairs that could be merged or omitted, making the surface feel heavy for typical use.

Completeness3/5

The tool surface covers many Kubernetes resources but has notable gaps: no tools for creating deployments, statefulsets, jobs, or configmaps/secrets/ingresses. The focus on reads and delete/scale operations suggests a troubleshooting role, but missing creates limit full lifecycle management.

Maintenance

ActivityActive
ResponsivenessSlow

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Safe, read-only-by-default Kubernetes access for AI agents via MCP. Provides explicit readonly, readwrite, and dangerous permission modes, plus MCPB bundles for desktop clients.
    2
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    A production-grade MCP server providing a secure, natural-language interface to Kubernetes for developers and AI agents, with multi-cluster routing, OIDC authentication, RBAC, and audit logging.
    75
    53
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    A local MCP server for Kubernetes that applies RBAC-style, context-scoped access control to constrain AI agents, with tools for common Kubernetes operations.
    1
    Apache 2.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    Governed MCP gateway that lets AI agents call tools with policy enforcement, prompt-injection screening, a kill-switch, and tamper-evident signed audit logs.
    Apache 2.0

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/AIops-tools/K8s-AIops'

If you have feedback or need assistance with the MCP directory API, please join our Discord server