ardregistry.net

Referencia

El manifiesto ard.json

El fichero tiene pocos campos. Cuatro tienes que acertarlos.

Un ard.json necesita un array entries. Cada entrada necesita un identifier con forma urn:air:dominio:tipo:nombre, un displayName, un type que sea un media type real y exactamente uno de url o data. Lo demás es opcional, salvo representativeQueries: opcional sobre el papel, y en la práctica la condición para que te encuentren.

El envoltorio

{
  "specVersion": "1.0",
  "host": {
    "displayName": "Tu empresa",
    "identifier": "did:web:tu-dominio.com",
    "documentationUrl": "https://tu-dominio.com/docs"
  },
  "entries": [ ... ]
}

host es opcional y describe quién publica. entries es la parte que cuenta.

Los campos obligatorios

identifier

Forma: urn:air:<dominio>:<tipo>:<nombre>. El dominio tiene que ser el tuyo, porque de ahí cuelga la única comprobación de permisos que existe en ARD. Una entrada con un dominio ajeno se descarta.

"identifier": "urn:air:tu-dominio.com:mcp:busqueda"

displayName

Cómo se llama el recurso. Ni eslogan ni reclamo. Personas y modelos lo leen como etiqueta.

type

Un media type real, no una categoría inventada. Los habituales:

url o data

Exactamente uno, nunca los dos. url apunta al artefacto en sí, o sea la Server Card o el fichero OpenAPI. No a una landing que lo cuenta. Un cliente sigue el enlace esperando JSON legible por máquina.

data es la alternativa si prefieres incrustar el artefacto en lugar de alojarlo aparte.

representativeQueries

Formalmente un SHOULD, en la práctica el campo más importante del fichero. Un registry compara las consultas con estas frases. Sin ellas no tiene con qué relacionar tu entrada con una petición, y una entrada sin relación no sale en ningún resultado.

De dos a cinco, escritas como una consulta de verdad, cada una con palabras distintas. Ni categorías ni nombres de producto.

Los campos opcionales

Los diez fallos que pasan de verdad

  1. entries es un objeto en lugar de un array.
  2. url y data puestos a la vez.
  3. type es una categoría inventada como "tool".
  4. url apunta a una página de marketing y no al artefacto.
  5. Dominio ajeno en el identifier.
  6. Ninguna representativeQueries.
  7. Queries que son categorías en lugar de frases.
  8. El fichero se sirve como text/html.
  9. La ruta está detrás de autenticación.
  10. El fichero solo existe con el nombre antiguo ai-catalog.json.

Last reviewed 2026-09-07. Checked against ARD v0.91 (Proposal, 2026-08-26).