Skip to main content
Glama

security_headers

Audit web server security headers and grade your site (A+ to F). Receive precise configuration instructions to remediate vulnerabilities and enforce robust protections.

Instructions

Grade a site's security headers (A+ to F) and give the exact header line to add for each gap.

Covers Strict-Transport-Security, Content-Security-Policy (flags unsafe-inline, unsafe-eval, wildcards), clickjacking protection (X-Frame-Options / frame-ancestors), X-Content-Type-Options, Referrer-Policy, Permissions-Policy, cookie flags (Secure/HttpOnly/SameSite), version-disclosing headers, and cross-origin isolation headers. Follows redirects and grades the final page.

Input Schema

NameRequiredDescriptionDefault
urlYes

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.9/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 and does real work: it discloses that redirects are followed and only the final page is graded, which materially affects results. It also enumerates the specific checks (unsafe-inline/unsafe-eval/wildcard flagging, cookie flags, version-disclosing headers, cross-origin isolation), though it omits how the site is fetched, timeouts, or failure modes.

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 lead sentence front-loads the action, the scale, and the payoff, which is exactly what an agent needs first. The second sentence is a long but load-bearing enumeration; each clause maps to a distinct check, though the run-on parenthetical could be tightened.

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?

With an output schema present the description needn't explain return values, and the single-parameter surface keeps the scope simple. The one real gap is URL input format and what happens on unreachable or non-HTML targets, which matters for a tool that performs live network fetches.

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 coverage is 0% for the single url parameter, so the description would need to compensate by clarifying whether a bare domain or a scheme-qualified URL is expected. 'Follows redirects and grades the final page' adds meaningful behavior about how the URL is processed, partially filling the gap, but the accepted URL format is never stated.

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 resource ('Grade a site's security headers') plus the output scale (A+ to F) and what remediation content comes back ('the exact header line to add for each gap'). Enumerating the header families covered lets an agent distinguish this from siblings like http_check and tls_check 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 Guidelines3/5

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

Usage is strongly implied by the coverage list (use this when you care about response headers, not transport certificates), but the description never states when to reach for this versus http_check or tls_check, and offers no exclusions or prerequisites. The agent must infer sibling routing from the tool name and subject matter alone.

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