Skip to main content
Glama

Revisar server.json del MCP Registry

mcp-server-json-lint
Read-onlyIdempotent

Revisa un server.json del MCP Registry: URL y fecha de $schema, nombre en DNS inverso (namespace/name), descripción de hasta 100 caracteres, versión exacta, repositorio, packages (registryType, identifier, transport) y remotes (streamable-http o sse sobre https), y campos snake_case antiguos. Cuándo: hay que revisar un server.json del MCP Registry antes de publicarlo. No para: revisar definiciones de herramientas MCP (mcp-tools-lint); ni sondear en vivo un endpoint MCP remoto (SKU x402 de pago aparte de Burs-IA verify-mcp-quick, por llamada en USDC en Base). 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: Lints an MCP Registry server.json: $schema URL and date, reverse-DNS name (namespace/name), description up to 100 characters, exact version, repository, packages (registryType, identifier,… [EN completo / full EN: inputSchema.description]

Input Schema

NameRequiredDescriptionDefault
server_jsonYesserver.json content: a JSON object, or JSON text (object or string; required).

Output Schema

NameRequiredDescriptionDefault
nameNo
validNo
errorsNo
remotesNo
versionNo
packagesNo
warningsNo
transportsNo
schema_dateNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / description
      Added value: +"EN: Lints an MCP Registry server.json: $schema URL and date, reverse-DNS name (namespace/name), description up to 100 characters, exact version, repository, packages (registryType, identifier, transport) and remotes (streamable-http or sse over https), plus snake_case fields from older schemas. When: an MCP Registry server.json has to be checked before it is published. Not for: linting MCP tool definitions (mcp-tools-lint); nor probing a live remote MCP endpoint (separate paid Burs-IA x402 SKU verify-mcp-quick, per call in USDC on Base). 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."
  2. First observed

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 (readOnly/idempotent/openWorld=false) by declaring no network access, no stored state, determinism, and concrete limits (64 KB input, 1 s per call, 1 MB result). These operational constraints are not derivable from the annotation block and directly affect how an agent should call it.

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?

Front-loaded with the resource and the checked fields, then when/not-for, then effects and limits – good ordering. It loses a point because the same content is given twice (ES in the description, EN appended, and again inside the inputSchema description), so the payload is roughly doubled without new information.

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?

Covers everything needed for a single-parameter read-only linter: scope, exclusions, side-effect profile, determinism, and size/time limits. An output schema exists, so omitting return-value details is correct rather than a gap.

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 100% with a single well-described parameter, so baseline is 3. The description adds an input-size limit but states 64 KB while the schema declares maxLength 262144 (256 KB), leaving an unresolved discrepancy the agent can't reconcile from the text alone.

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 (lints an MCP Registry server.json) and enumerates exactly what is checked: $schema URL/date, reverse-DNS name, 100-char description, exact version, repository, packages, remotes. An agent can distinguish it from the large sibling set (json-schema-validate, mcp-tools-lint, openapi-summary) 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 Guidelines5/5

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

Explicit 'Cuándo' clause (before publishing a server.json) plus an explicit 'No para' section naming the alternatives: mcp-tools-lint for tool definitions and a separate paid verify-mcp-quick SKU for live endpoint probing. Both the when and the when-not are stated, which is rare.

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