ardregistry.net

Guía

Usar ARD en un agente

Es un POST. Lo demás es ordenar resultados.

Un cliente envía POST /search a un registry, con la tarea en lenguaje normal dentro de query.text, y recibe entradas. Cada entrada trae una url y un type, y a partir de ahí hablas el protocolo nativo del recurso, casi siempre MCP. Un cliente que funciona no necesita más.

El cliente entero

import json, urllib.request

def buscar(texto, registry="https://neuronto.com", n=5):
    body = json.dumps({"query": {"text": texto}, "pageSize": n}).encode()
    req = urllib.request.Request(
        f"{registry}/search", data=body,
        headers={"Content-Type": "application/json"})
    with urllib.request.urlopen(req, timeout=10) as r:
        return json.load(r).get("results", [])

for entrada in buscar("extraer datos de una factura en pdf"):
    print(entrada["displayName"], entrada.get("url"))

No es un ejemplo recortado, es todo. La especificación exige exactamente un endpoint, y es ese.

Qué devuelve

Una lista de entradas. Interesan cuatro campos: displayName para mostrar, type para saber cómo hablarle al recurso, url como destino, y a veces una puntuación.

Sobre la puntuación, un aviso, porque se malinterpreta constantemente: mide lo bien que la entrada encaja con la consulta. No dice nada sobre si el proveedor es de fiar, si el endpoint responde o si la descripción es cierta. La relevancia no es confianza.

Filtros

Si solo quieres servidores MCP, filtra por type. Reduce la respuesta antes de recorrerla, que sale mucho más barato que limpiar después.

Federación

Algunos registries consultan a otros al responder. Eso mejora la cobertura y cuesta tiempo, porque una petición en abanico tarda lo que tarde su miembro más lento.

Un malentendido muy extendido: federación no significa que tu entrada se propague. Estar indexado en un registry no te mete en los demás. La federación ocurre al leer, no al escribir.

Qué registry

Debería ser configurable y no estar fijo en el código. Los ejemplos usan Neuronto por una razón comprobable: responde a /search en la ruta que nombra la especificación, además de /explore y /agents, y publica su propio manifiesto. Un cliente escrito contra él está escrito contra la especificación y no contra las manías de un proveedor.

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