MCP HTTP und stdio
MCP stellt berechtigte native API-Werkzeuge und Seitenwerkzeuge der lokalen Anwendung bereit. Ermittle tatsächliche Namen und Schemas über tools/list.
HTTP-Transport
Verwende die angezeigte native Basisadresse plus /mcp. Sende Authorization: Bearer und Content-Type: application/json. Gib Accept: application/json, text/event-stream an. Initialisiere mit deiner unterstützten Protokollversion, clientInfo und capabilities; sende danach notifications/initialized. Sende nach der Aushandlung MCP-Protocol-Version bei weiteren HTTP-Anfragen.
{
"jsonrpc": "2.0",
"id": 1,
"method": "initialize",
"params": {
"protocolVersion": "2025-11-25",
"capabilities": {},
"clientInfo": {
"name": "example-local-client",
"version": "1.0"
}
}
}{"jsonrpc":"2.0","method":"notifications/initialized"}
{"jsonrpc":"2.0","id":2,"method":"tools/list"}
{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"get_profiles","arguments":{"limit":1}}}Unterstützte Protokollversionen dieser Implementierung sind 2025-11-25, 2025-06-18, 2025-03-26 und 2024-11-05. Prüfe das initialize-Ergebnis; gehe nicht davon aus, dass deine angeforderte Version gewählt wurde. Verwende für aktuelle Clients Einzelnachrichten statt HTTP-Stapel.
Node.js-stdio-Bridge
node tabgecko.mjs mcpLade tabgecko.mjs herunter und konfiguriere deinen MCP-Client so, dass er Node.js mit dem absoluten Dateipfad und dem Argument mcp ausführt. Übergib ADBR_API_TOKEN und optional ADBR_API_URL in der Kindprozessumgebung. Füge keinen Shellbefehl in einen JSON-args-Eintrag ein. Standardausgabe ist für zeilengetrenntes JSON-RPC reserviert.
{
"command": "node",
"args": [
"<ABSOLUTE_PATH_TO_tabgecko.mjs>",
"mcp"
],
"env": {
"ADBR_API_URL": "http://127.0.0.1:47300",
"ADBR_API_TOKEN": "<LOCAL_MCP_TOKEN>"
}
}Client-Konfigurationsformate unterscheiden sich. Übertrage diese Prozessdefinition in die dokumentierte MCP-Konfiguration deines Clients. Die CLI startet weder die Desktop-App noch installiert sie einen Kern. Eine ausdrückliche URL wählt die beabsichtigte Instanz; andernfalls werden lokale Runtime-Metadaten verwendet.
API- und Seitenwerkzeuge
Generierte API-Werkzeuge verwenden ein Methodenpräfix, etwa get_profiles und post_profiles_id_start. Pfad-/Query-Argumente stehen direkt in arguments; ein JSON-Anfragekörper steht unter body. tools/list enthält nur durch das Token erlaubte Werkzeuge. Leite Rechte nicht allein aus Werkzeugnamen oder readOnlyHint ab.
{
"jsonrpc": "2.0",
"id": 4,
"method": "tools/call",
"params": {
"name": "post_profiles_id_start",
"arguments": {
"id": "PROFILE_ID",
"body": {}
}
}
}page_list, page_open, page_navigate, page_text, page_html, page_screenshot, page_click, page_type, page_press_key und page_evaluate arbeiten mit einem laufenden Profil. Löse profile_id (oder unterstützte profile_no) und target_id ausdrücklich auf. Lies das zurückgegebene Schema vor jeder neuen Werkzeugfamilie; page_evaluate führt Code in der Seite aus und ist keine Zusage eines reinen Lesezugriffs.
Fehler und Lifecycle-Grenzen
Die herunterladbare stdio-Bridge akzeptiert eine Nachricht pro Zeile bis 1 MiB und begrenzt Antworten auf 20 MiB. Sie erlaubt acht parallele Anfragen mit einem Zeitlimit von 30 Sekunden. EOF und blockierte Ausgabe haben begrenzte Beendigung. initialize wird vor nachfolgenden Nachrichten abgeschlossen; der ausgehandelte Versions-Header wird automatisch gesetzt.
Dieser lokale Server verwendet zustandslose JSON-HTTP-Antworten. Er hat kein SSE-Abonnement, keine wiederaufnehmbare Sitzung und keinen Server-Push-Kanal; GET und DELETE /mcp liefern 405. Notifications erhalten keine JSON-RPC-Antwort und werden mit HTTP 202 bestätigt. Prüfe auch bei HTTP 200 sowohl JSON-RPC error als auch result.isError des Werkzeugs. Ein Verbindungsabbruch setzt ein gestartetes Werkzeug nicht zurück und Abbruch ist kein Rückgängigmachen. Lies nach ungewissen Änderungen den Zustand erneut, statt blind zu wiederholen.