Skip to main content
Glama

Leer Content-Security-Policy

csp-parse
Read-onlyIdempotent

Analiza Content-Security-Policy en directivas y señala configuraciones riesgosas (unsafe-inline, comodines…). 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: analizar Content-Type en tipo, subtipo, sufijo (content-type-parse). 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: Parses a Content-Security-Policy header into directives and source lists, and flags risky settings (unsafe-inline, unsafe-eval, wildcard sources, missing default-src/object-src/base-uri). 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
policyYesCSP header value (string; required; up to 16384 chars).

Output Schema

NameRequiredDescriptionDefault
warningsNo
directivesNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / policy / examples
      Added value: +[
      +  "default-src 'self'; script-src 'self' 'nonce-abc'; object-src 'none'; base-uri 'self'"
      +]
  2. Changed1 schema field changed
    • addedInput schema / description
      Added value: +"EN: Parses a Content-Security-Policy header into directives and source lists, and flags risky settings (unsafe-inline, unsafe-eval, wildcard sources, missing default-src/object-src/base-uri). 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: parsing a Content-Type / media type header into type, subtype, structured-syntax suffix (content-type-parse). 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

A4/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description still adds concrete value beyond them: determinism (same input, same output) and hard limits (64 KB JSON, 1 s per call, 1 MB result), which an agent needs when deciding whether to call it on a large policy.

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

Conciseness3/5

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

The core purpose is front-loaded, but the definition is bilingual and duplicates the same text in ES and EN, and the 'Cuándo' sentence carries clause clutter (IP ranges, agent-readiness files) irrelevant to CSP parsing. Several sentences do not earn their place.

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, rich annotations, and a single fully documented parameter, an agent has everything needed to call it correctly, and the limits/determinism note fills the remaining behavioral gap. Only the non-discriminating usage clause keeps it from 5.

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?

There is one parameter at 100% schema description coverage, including an example CSP string and a maxLength, so the schema does the heavy lifting. The description adds no syntax or formatting guidance for the policy string beyond what the schema and example already provide; baseline 3 applies.

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: parses a CSP header into directives and source lists and flags named risk patterns (unsafe-inline, unsafe-eval, wildcard sources, missing default-src/object-src/base-uri). This is directly distinguishable from content-type-parse, which the description also names.

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?

The 'No para' clause explicitly routes away from content-type-parse, which is a real exclusion. However, the positive 'Cuándo' clause is generic boilerplate (URLs, tokens, versions, IP ranges, HTML/Markdown, agent files) that does not discriminate among the many sibling parsers like http-headers-parse or cache-control-parse.

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