Skip to main content
Glama

Apply one tested fix to a shot plan

shoot_plan_apply_fix
Read-only

Applies one fix, taken from a shoot_plan_check result, to a plan and checks the revised plan again. Some fixes trade one thing for another (each says its trade_off): tell your human before applying one that does. Input: plan; finding_id and fix_id (a finding's id, and the id of one of its suggestions, both from shoot_plan_check); and optionally findings, the check result you already have, which saves recomputing it. Output: {plan, findings}, the revised plan and its new findings. Nothing is stored, here or by us: keep the revised plan yourself. A wrong finding_id or fix_id is refused with the ids that exist. No AI model runs. Needs an agent key from a Shoot Plan account. Free, and it does not count toward the account's 3 free projects a month. Plans up to 8 MB and 120 calls a minute (5,000 a day).

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "plan": "<plan>",
      "finding_id": "<finding_id>",
      "fix_id": "<fix_id>"
    },
    "name": "shoot_plan_apply_fix"
  }
}

Input Schema

NameRequiredDescriptionDefault
planYesThe plan itself: a dpl.plan/1 JSON object (not text inside a string). Call shoot_plan_format for the schema links and an example.
fix_idYesThe id of one of that finding's suggestions, for example fix-1 or restage.
findingsNoOptional: the dpl.findings/1 document shoot_plan_check returned for this same plan, exactly as returned.
finding_idYesThe id of a finding in the shoot_plan_check result, for example f-3a9c51d02b7e.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.6/5.0
Behavior5/5

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

Goes well beyond the annotations: states nothing is stored server-side (resolving the tension between 'applies a fix' and readOnlyHint=true), describes the error behavior for bad ids (refused, with the ids that exist listed), notes no AI model runs, and gives auth, size (8 MB) and rate limits (120/min, 5,000/day). That is unusually complete disclosure for a mutation-looking tool.

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?

Purpose is front-loaded, then an explicit Input/Output layout, then operational constraints. Dense but nearly every clause earns its place; the auth/limits tail is slightly packed but still relevant to an agent deciding whether it can call it.

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?

Annotations, schema and an output schema already exist, and the description still covers prerequisites, side effects, error handling, and cost/limit constraints. Nothing an agent needs in order to call this correctly (or to keep the result itself) is missing.

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 100%, so the baseline is 3; the description adds meaning by explaining that finding_id and fix_id both originate from shoot_plan_check and that the optional findings parameter exists only to skip recomputation. The remaining parameter detail is delegated to the schema, which is appropriate.

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?

States a specific verb (applies one fix), the resource (a shot plan), the source of the fix (shoot_plan_check result) and the follow-up (re-checks the revised plan). An agent can distinguish it from shoot_plan_check and from generic plan editing without opening any schema.

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 ties invocation to a prior shoot_plan_check result and warns to consult the human before applying a fix that carries a trade_off; it also notes passing findings avoids recomputation. It stops short of naming sibling alternatives (e.g. shoot_plan_revise) for broader edits, so the when-not path is only partial.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources