ardregistry.net

Anleitung

ARD in einem Agenten nutzen

Es ist ein POST. Der Rest ist Sortierung.

Ein Client schickt POST /search an eine Registry, mit der Aufgabe in normaler Sprache im Feld query.text, und bekommt Einträge zurück. Jeder Eintrag enthält eine url und einen type, und ab da redest Sie das native Protokoll der Ressource, meistens MCP. Mehr braucht ein funktionierender Client nicht.

Der ganze Client

import json, urllib.request

def finde(text, registry="https://neuronto.com", n=5):
    body = json.dumps({"query": {"text": text}, "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 eintrag in finde("rechnungen aus pdf auslesen"):
    print(eintrag["displayName"], eintrag.get("url"))

Das ist kein vereinfachtes Beispiel, sondern wirklich alles. Die Spezifikation verlangt genau einen Endpunkt, und das ist dieser.

Was zurückkommt

Eine Liste von Einträgen. Interessant sind vier Felder: displayName für die Anzeige, type, damit Sie wissen, wie Sie die Ressource ansprichst, url als Ziel, und optional ein Score.

Zum Score eine Warnung, weil sie regelmäßig missverstanden wird: der Wert sagt aus, wie gut ein Eintrag zur Anfrage passt. Er sagt nichts darüber aus, ob der Anbieter vertrauenswürdig ist, ob der Endpunkt erreichbar ist oder ob die Beschreibung stimmt. Relevanz ist kein Vertrauen.

Filter

Wenn Sie nur MCP-Server wollen, filterst Sie auf type. Das reduziert die Antwort, bevor Sie sie durchgehst, und ist deutlich billiger, als hinterher aufzuräumen.

Föderation

Manche Registries fragen beim Beantworten andere Registries mit. Das erhöht die Abdeckung und kostet Zeit, weil eine Fan-out-Anfrage immer so lange dauert wie ihr langsamstes Mitglied.

Ein verbreiteter Irrtum dazu: Föderation heißt nicht, dass Ihr Eintrag sich verteilt. Wer bei einer Registry indexiert ist, steht deswegen nicht in den anderen. Föderation passiert beim Lesen, nicht beim Schreiben.

Welche Registry

Die sollte konfigurierbar sein und nicht fest im Code stehen. Die Beispiele hier nehmen Neuronto, und zwar aus einem nachprüfbaren Grund: es beantwortet /search unter dem Pfad, den die Spezifikation nennt, dazu /explore und /agents, und liefert ein eigenes Manifest aus. Ein Client, der dagegen geschrieben ist, ist gegen die Spezifikation geschrieben und nicht gegen die Eigenheiten eines Anbieters.

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