Skip to main content
Glama

Validar security.txt

security-txt-validate
Read-onlyIdempotent

Valida un security.txt según RFC 9116: Contact y Expires obligatorios, campos conocidos, URIs https y firma PGP. Cuándo: hay que leer, construir o revisar con exactitud una URL, una cabecera HTTP, un token, una versión, un rango de IP, un documento HTML o Markdown o un archivo para agentes. No para: decidir si un agente puede acceder a una ruta según un robots.txt dado (robots-txt-check). Efectos secundarios: ninguno (solo lectura, sin red, sin estado guardado). Determinista: la misma entrada da la misma salida. Límites: entrada JSON de hasta 64 KB, 1 s por llamada, resultado de hasta 1 MB.

EN: Validates a security.txt file per RFC 9116: required Contact and a single Expires (in the future relative to as_of and ideally < 1 year away), known fields, https URIs, and whether it is PGP-signed. When: a URL, HTTP header, token, version string, IP range, HTML or Markdown document or agent-readiness file has to be parsed, built or checked exactly. [EN completo / full EN: inputSchema.description]

Input Schema

NameRequiredDescriptionDefault
as_ofYesReference instant ISO 8601 (string; required; up to 40 chars).
security_txtYessecurity.txt content (string; required).

Output Schema

NameRequiredDescriptionDefault
validNo
errorsNo
fieldsNo
signedNo
warningsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / as_of / examples
      Added value: +[
      +  "2026-10-31T00:00:00Z"
      +]
    • addedInput schema / properties / security_txt / examples
      Added value: +[
      +  "Contact: http://x.co\nExpires: 2020-01-01T00:00:00Z"
      +]
  2. Changed1 schema field changed
    • addedInput schema / description
      Added value: +"EN: Validates a security.txt file per RFC 9116: required Contact and a single Expires (in the future relative to as_of and ideally < 1 year away), known fields, https URIs, and whether it is PGP-signed. When: a URL, HTTP header, token, version string, IP range, HTML or Markdown document or agent-readiness file has to be parsed, built or checked exactly. Not for: deciding whether a user agent may fetch a path under a supplied robots.txt (robots-txt-check). Side effects: none (read-only, no network access, no stored state). Deterministic: the same input gives the same output. Limits: JSON input up to 64 KB, 1 s per call, result up to 1 MB."
  3. First observed

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint=false, idempotentHint and destructiveHint=false, so the safety profile is covered structurally. The description adds genuinely new operational context: no network access, no stored state, determinism, and hard limits (64 KB input, 1 s per call, 1 MB result). It also clarifies RFC semantics — Expires must be in the future relative to as_of and ideally under a year — which is behavior, not restated annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The RFC 9116 spec is well front-loaded, but the body then wastes space on off-topic boilerplate about URLs, tokens, IP ranges and HTML, and ends with a dangling placeholder '[EN completo / full EN: inputSchema.description]' that is a broken reference rather than content. The Spanish and English blocks largely duplicate each other, inflating length without adding 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?

An output schema exists, so return-value explanation is not required, and the description covers the validation rules, limits, determinism and the nearest sibling exclusion. The one gap is that the misleading 'when' list leaves an agent unsure whether this tool is scoped strictly to security.txt files or also to other parsed artifacts.

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% with only two required params, so the baseline is 3. The description goes beyond the schema by explaining what as_of actually means functionally: it is the reference instant against which Expires is judged to be in the future, which the schema merely calls 'Reference instant ISO 8601'.

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 opening sentence names a specific verb and resource — 'Valida un security.txt según RFC 9116' — and enumerates the concrete checks (Contact and Expires required, known fields, https URIs, PGP signature). Combined with the explicit 'No para: ... (robots-txt-check)' exclusion, an agent can distinguish this from the closest sibling without opening the 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?

The 'No para' clause is a genuine, useful exclusion that names robots-txt-check and the condition that selects it. However, the 'Cuándo' clause is generic template boilerplate ('una URL, una cabecera HTTP, un token, una versión, un rango de IP, un documento HTML o Markdown') that does not describe when to reach for security.txt validation and could mislead an agent into thinking this tool parses URLs, headers or HTML.

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