Ein UTCP-Client ist der Teil einer Anwendung, der ein UTCP-Handbuch liest und die darin beschriebenen Werkzeuge aufruft. Er ist der einzige Baustein, den das Protokoll vorschreibt; auf der Gegenseite steht die vorhandene Schnittstelle selbst.
- UTCP-Client
Der Teil einer Anwendung, der ein UTCP-Handbuch liest und die Werkzeuge daraus aufruft.
Beispiel: „Der UTCP-Client lud das Handbuch beim Start und kannte danach zwölf Werkzeuge.“Die Spezifikation hält fest, was dazugehört: „Any implementation of a UTCP Client needs to have all of the classes, functions and fields described in this specification.“ Umsetzungen liegen für Python, Rust und Elixir vor.
Abgrenzung zum MCP-Client: Dieser hält je Server eine Verbindung offen. Der UTCP-Client liest einmal das Handbuch und ruft danach einzeln auf.
Was ein UTCP-Client tut
Drei Dinge. Er lädt ein Handbuch von einer Adresse oder aus einer Datei, er hält die Werkzeugbeschreibungen für das Modell durchsuchbar bereit, und er führt einen Aufruf aus, indem er die Vorlage mit den Werten des Modells füllt.
Dazu kommt die Übertragung. Je nach Vorlage spricht er HTTP, Server-Sent Events oder die Kommandozeile oder liest eine Textdatei; in den Umsetzungen stecken diese Teile als Erweiterungen, etwa utcp-http und utcp-cli.
Wo der UTCP-Client im Aufbau sitzt
In der Anwendung. Er ist eine Bibliothek, die ein Agent einbindet, und kein Dienst, den jemand startet und betreibt; die Konfiguration nennt allein die Handbücher, die er beim Start einliest.
Daraus folgt, wo die Rechte liegen: Jeder Aufruf geht mit den Zugangsdaten der Anwendung an das Zielsystem. Eine Freigabeliste und die Aufzeichnung gehören deshalb in die Anwendung, siehe Werkzeug-Freigabeliste.
Was beim Einrichten eines UTCP-Clients zu prüfen ist
Die Herkunft des Handbuchs. Wer eine Adresse einträgt, übernimmt deren Werkzeugbeschreibungen in den Kontext des Modells, und Text aus fremder Hand kann Anweisungen enthalten, siehe Prompt Injection.
Dazu kommen die Zugangsdaten. Das Handbuch nennt Felder für Schlüssel und Token, und diese Werte gehören in die Umgebung der Anwendung und nicht in eine Datei, die im Repository liegt.