Skip to main content
Glama

suggest_fixes

Generate a unified diff of safe mechanical Kubernetes manifest fixes, including privilege flags and apiVersion renames, then re-parse and re-lint to confirm. Lists remaining issues for human review.

Instructions

Show a unified diff (as text, never written) of the safe mechanical fixes for ONE manifest file: privileged / hostNetwork / hostPID / hostIPC set to false, allowPrivilegeEscalation: false added or flipped, and apiVersion renames where only the version string changes (batch/v1beta1 CronJob -> batch/v1, policy/v1beta1 PodDisruptionBudget -> policy/v1, rbac v1beta1 -> v1, and similar). The patched text is re-parsed and re-linted in memory to confirm. Everything else is listed as needing a human decision.

Input Schema

NameRequiredDescriptionDefault
pathYes

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4/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 and does well: it declares the output is text-only and 'never written', that patches are re-parsed and re-linted in memory to confirm correctness, and that only safe mechanical changes are applied. It does not say what happens when no auto-fixable issues exist (empty diff?) or whether the file must already lint cleanly.

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 core action is front-loaded in the first clause, and the enumerated fix list is dense but each item earns its place by defining the tool's scope. Slightly long sentences with parenthetical examples add bulk but little waste.

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?

An output schema exists, so return-value shape need not be explained. Given a single-parameter tool with no annotations, the description still covers the mutation-safety profile, the validation step, and the human-decision fallback, which is enough for correct invocation.

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

Parameters3/5

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

Schema description coverage is 0% and 'path' is undocumented in the schema, so the description must compensate. Its phrase 'for ONE manifest file' does add meaning by narrowing the parameter to a single file path rather than a directory or glob, but it says nothing about accepted path formats or relative vs absolute roots.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a precise verb and resource ('Show a unified diff ... of the safe mechanical fixes for ONE manifest file') and enumerates exactly which fix classes it covers (privileged/hostNetwork/hostPID/hostIPC, allowPrivilegeEscalation, apiVersion renames). This makes it easy to tell apart from lint_manifests, which reports issues rather than proposing a patch, even though the sibling is not named explicitly.

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?

Scope guidance is present and useful: 'ONE manifest file' and 'Everything else is listed as needing a human decision' set boundaries for what the tool will and will not do. However, there is no explicit guidance on when to reach for this versus lint_manifests or explain_resource, so the agent must infer the routing.

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