Skip to main content
Glama

fsv_fixes

Generate paste-ready remediation snippets for issues found in a scan across nginx, Apache, Caddy, Express, or DNS, then review and test them on staging.

Instructions

Turn a scan's findings into paste-ready remediation for one platform: 'nginx', 'apache', 'caddy', 'express' (helmet/cookies) or 'dns' (SPF/DMARC/CAA records, dangling-record removal). Only issues actually found produce a snippet; CSP is emitted report-only. Show the user the snippets and remind them to test on staging.

Input Schema

NameRequiredDescriptionDefault
serverYes
scan_idYes

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

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 load and does disclose non-obvious behavior: only actually-found issues produce a snippet, and CSP is emitted report-only rather than enforced. It never explicitly states that the tool is read-only/non-mutating or what access prerequisites apply, which is the remaining gap for an unannotated 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?

Two sentences, front-loaded with the verb and resource, then constrained by platform values and output rules. Every clause carries information: platform list, per-issue emission, report-only CSP, and the user-facing follow-up.

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?

An output schema exists, so return-value shape need not be explained, and the description still covers output semantics (snippets only for found issues, report-only CSP). Missing is provenance for scan_id and whether scan ownership must be verified first (note sibling fsv_verify_ownership).

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% with no enum on 'server', so the description does critical compensating work by listing the exact five accepted values and clarifying what each emits ('express' means helmet/cookies, 'dns' means SPF/DMARC/CAA plus dangling-record removal). It implies scan_id must come from an existing scan but never says where to obtain one.

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 and transformation ('turn a scan's findings into paste-ready remediation') plus an explicit scope of one platform, and enumerates the accepted platform values. An agent can distinguish it from fsv_scan (which finds issues) and fsv_get_report (which reports them) without opening a 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?

Gives concrete follow-through guidance — 'show the user the snippets and remind them to test on staging' — which frames the correct usage context. It stops short of naming alternatives or stating when not to use it (e.g., versus fsv_triage or fsv_get_report), so exclusions are absent.

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