Zum Inhalt springen

Model Context Protocol (MCP)

PushGo Gateway kann als MCP HTTP-Server fungieren, sodass MCP-fähige KI-Assistenten Message senden, Event verwalten und Thing innerhalb autorisierter Channel-Bereiche aktualisieren können. Die OAuth2-Autorisierung wird empfohlen, damit Benutzer Channels in einem Browser binden, anstatt einem Modell Channel-Passwörter zu geben.

  • Lassen Sie einen KI-Assistenten eine PushGo-Benachrichtigung senden, nachdem eine Aufgabe abgeschlossen ist.
  • Lassen Sie einen KI-Assistenten lang laufende Arbeiten als Event synchronisieren.
  • Lassen Sie einen KI-Assistenten ein Thing für einen Dienst, ein Gerät oder eine Aufgabe aktualisieren.
  • Bieten Sie MCP-Clients von Drittanbietern bereichsbezogenen Channel-Zugriff.

MCP sollte die Benutzerbestätigung nicht ersetzen. Bei Workflows mit hoher Auswirkung sollte die Bestätigung weiterhin auf der Client- oder Orchestrierungsebene erfolgen.

https://your-gateway-domain/mcp

Wenn eine öffentliche Gateway-Instanz MCP/OAuth aktiviert, verwenden Sie den /mcp-Endpunkt dieser Region. Selbstgehostete Deployments müssen PUSHGO_PUBLIC_BASE_URL auf eine extern erreichbare URL setzen.

Terminal-Fenster
PUSHGO_MCP_ENABLED=true
PUSHGO_PUBLIC_BASE_URL=https://gateway.example.com

Allgemeine Einstellungen:

UmgebungsvariableStandardBeschreibung
PUSHGO_MCP_DCR_ENABLEDtrueAktiviert die dynamische Client-Registrierung.
PUSHGO_MCP_PREDEFINED_CLIENTSkeineVordefinierte OAuth-Clients im Format client_id:client_secret; mehrere Clients per Zeilenumbruch oder Semikolon trennen.

Wenn der Client DCR nicht unterstützt, verwenden Sie PUSHGO_MCP_PREDEFINED_CLIENTS.

ModusChannel PasswortAm besten fürRisiko
OAuth2-AutorisierungNicht in Toolaufrufen übergebenKI-Assistenten, Drittanbieter-Clients, ProduktionBegrenzt durch Bereiche und Channelzuteilungen.
Legacy-ModusWird bei jedem Toolaufruf übergebenPersönliche Skripte, vertrauenswürdige UmgebungenDer Aufrufer verfügt direkt über die Channel-Passwörter.

Bevorzugen Sie die OAuth2-Autorisierung in der Produktion.

  1. Der MCP-Client stellt eine Verbindung zu /mcp her.
  2. Der Client erhält eine OAuth2-Clientidentität über OAuth oder DCR.
  3. Der Assistent ruft pushgo.channel.bind.start an.
  4. Der Benutzer öffnet das zurückgegebene bind_url.
  5. Der Benutzer gibt die Channel-ID und das Passwort ein und bestätigt den Autorisierungsumfang.
  6. Der Assistent fragt pushgo.channel.bind.status ab.
  7. Nach der Autorisierung kann der Assistent Tools innerhalb des gebundenen Channelbereichs aufrufen.

Bind-Sessions und Token-Laufzeiten werden vom aktuellen Gateway-Laufzeitprofil verwaltet; in v1.2.9 sind sie keine öffentlichen CLI-/Env-Optionen.

WerkzeugZweck
pushgo.message.sendSendet einen einmaligen Message. Unterstützt title, body, url, images, severity, ttl, metadata, thing_id und verwandte Felder.
WerkzeugZweck
pushgo.event.createErstellt ein Lebenszyklusereignis und gibt event_id zurück.
pushgo.event.updateAktualisiert ein vorhandenes Ereignis.
pushgo.event.closeSchließt ein vorhandenes Ereignis.
WerkzeugZweck
pushgo.thing.createErstellt eine persistente Entität und gibt thing_id zurück.
pushgo.thing.updateAktualisiert Entitätsattribute.
pushgo.thing.archiveArchiviert eine Entität.
pushgo.thing.deleteLöscht eine Entität oder zieht sie zurück.
Werkzeug oder RessourceZweck
pushgo.channel.bind.startErstellt eine Bindungs- oder Widerrufssitzung und gibt bind_url zurück.
pushgo.channel.bind.statusÜberprüft den Bindungssitzungsstatus.
pushgo.channel.listListet derzeit autorisierte Channels auf.
pushgo.channel.unbindWiderruft die Channel-Autorisierung.
pushgo://channelsListe der autorisierten Channelressourcen.
pushgo://channels/{channel_id}Grundlegende Informationen für einen Channel.
  • Der MCP-Endpunkt ist https://your-gateway-domain/mcp.
  • Reverse-Proxys müssen Host und X-Forwarded-Proto korrekt übergeben.
  • Selbstgehostete Deployments müssen PUSHGO_PUBLIC_BASE_URL auf eine extern erreichbare HTTPS-Stamm-URL festlegen.
  • Wenn OAuth-Ausstellermetadaten oder Bindungslinks interne Adressen enthalten, überprüfen Sie zuerst PUSHGO_PUBLIC_BASE_URL.
  • Wenn ein Client DCR nicht unterstützt, verwenden Sie vordefinierte Clients.
  • MCP-Zuschüsse bleiben bestehen; Behandeln Sie die Datenbank oder das Speicherverzeichnis nicht als verfügbaren Cache.
  • Token- und Bind-Session-Laufzeiten sind in v1.2.9 profilgesteuerte Laufzeiteinstellungen; wählen Sie das passende Laufzeitprofil statt TTL-Env-Variablen zu setzen.
  • Rotieren Sie vordefinierte Client-Geheimnisse regelmäßig.
  • Verwenden Sie separate Channels für die Automatisierung mit hohem Risiko, anstatt alles in einem Channel zu autorisieren.
  • Verwenden Sie strukturierte Gateway-Protokolle und -Statistiken für das betriebliche Debugging.
SymptomPrüfen
Client kann OAuth-Metadaten nicht erkennenPUSHGO_PUBLIC_BASE_URL muss eine externe HTTPS-URL sein; Reverse-Proxy muss bekannte Routen weiterleiten.
Bind-Link öffnet sich nichtÖffentliches DNS, HTTPS-Zertifikat, Reverse-Proxy-Pfad, PUSHGO_PUBLIC_BASE_URL und ob die Bind-Session abgelaufen ist.
DCR schlägt fehlClient-DCR-Unterstützung und PUSHGO_MCP_DCR_ENABLED.
Werkzeugaufruf fragt nach passwordMöglicherweise befinden Sie sich im Legacy-Modus oder die OAuth-Autorisierung ist unvollständig.
Autorisiert, aber keine Channels sichtbarAbschluss der Bindungssitzung, Scopes und ob die Channel-Freigabe widerrufen wurde.