Skip to main content
Glama

Validar Agent Card A2A

agent-card-validate
Read-onlyIdempotent

Revisa una Agent Card de A2A (Agent2Agent): nombre, descripción, url https, versión, capacidades, modos y habilidades. Solo estructura. Cuándo: hay que leer, convertir o revisar una descripción de agente, una lista de herramientas, un documento OpenAPI o un recibo según el formato de su protocolo. No para: revisar definiciones de herramientas MCP (mcp-tools-lint). 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: Checks an A2A (Agent2Agent) Agent Card JSON for the core fields: name, description, https url, version, capabilities, default input/output modes and skills (id, name, description, tags), plus provider and security hints. Structural check only. When: an agent description, tool list, OpenAPI document or receipt has to be read, converted or checked against its protocol format. [EN completo / full EN: inputSchema.description]

Input Schema

NameRequiredDescriptionDefault
cardYesAgent Card JSON object (object; required).

Output Schema

NameRequiredDescriptionDefault
validNo
errorsNo
skillsNo
warningsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / card / examples
      Added value: +[
      +  {
      +    "name": "x",
      +    "skills": [],
      +    "url": "http://x.co"
      +  }
      +]
  2. Changed1 schema field changed
    • addedInput schema / description
      Added value: +"EN: Checks an A2A (Agent2Agent) Agent Card JSON for the core fields: name, description, https url, version, capabilities, default input/output modes and skills (id, name, description, tags), plus provider and security hints. Structural check only. When: an agent description, tool list, OpenAPI document or receipt has to be read, converted or checked against its protocol format. Not for: linting MCP tool definitions (mcp-tools-lint). 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.4/5.0
Behavior5/5

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

Annotations already declare readOnlyHint/openWorldHint=false/idempotentHint/destructiveHint, but the description adds genuinely new operational facts: no network access, no stored state, determinism, and concrete limits (64 KB input, 1 s per call, 1 MB result). Those limits are the kind of information an agent needs to avoid a failed call and are not derivable from the annotations or schema.

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 purpose and limits are front-loaded and labeled (Cuándo / No para / Efectos secundarios / Determinista / Límites), which is good structure. However, the Spanish body is followed by a partial English restatement that then defers to '[EN completo / full EN: inputSchema.description]' — pure duplication of the schema description with no new content, which inflates length without adding signal.

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 describe return values, and it covers the remaining essentials: read-only nature, no network, determinism, and size/time limits. The only gap is the imprecise 'Cuándo' trigger, which could lead an agent to send an OpenAPI document or a receipt to this tool instead of the dedicated sibling.

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?

There is a single required parameter with 100% schema description coverage plus an inline example, so the schema largely carries this dimension. The description adds some value by spelling out which fields inside the `card` object are meaningful and by capping the payload at 64 KB, but it does not say what happens for a structurally valid card with unknown extra fields (schema sets additionalProperties=false on the wrapper).

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 description names a specific verb and resource (checks an A2A Agent Card JSON) and enumerates exactly what is inspected: name, description, https url, version, capabilities, default input/output modes, skills, provider and security hints. It also states the boundary 'Structural check only,' which tells an agent this is a lint-style tool, not a protocol conformance or runtime check, and it names the sibling it is not (mcp-tools-lint).

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?

It gives an explicit negative case ('No para: revisar definiciones de herramientas MCP (mcp-tools-lint)'), which is the most valuable routing signal here given how many similarly-named lint/validate siblings exist. The positive 'Cuándo' clause is weaker and muddled, sweeping in 'una lista de herramientas, un documento OpenAPI o un recibo' — inputs that actually route to openapi-summary, tool-definition-convert or recibo-verify, so the trigger condition slightly blurs the boundary it just drew.

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