MCP-Server
kubehz betreibt einen entfernten Model-Context-Protocol-Server (MCP). Eine KI-App wie Claude oder ChatGPT kann damit mit deinen Clustern und Spaces arbeiten:
https://mcp.kubehz.cloud/mcpJeder Tool-Aufruf geht über die kubehz-API, mit denselben Prüfungen wie im Dashboard. Die App kann nie mehr als die Person, in deren Namen sie handelt, oder der Agent-Schlüssel, mit dem sie handelt.
Es gibt zwei Wege, dich zu verbinden:
- In deinem Namen. Die App meldet dich an, und du lässt sie einmal zu. Dann handelt die App in deinem Namen, im Rahmen der Berechtigungen, die du erlaubt hast.
- Mit einem Agent-Schlüssel. Keine Person meldet sich an. Die Tools handeln im Rahmen von Rolle, Bereich und Ausgabenlimit des Schlüssels.
KI-Apps einschalten
KI-Apps sind standardmäßig aus. Solange sie aus sind, kann keine App für ein Mitglied des Mandanten handeln. Agent-Schlüssel hängen nicht von dieser Einstellung ab.
Du brauchst die Rolle Owner oder Admin.
- Öffne im Dashboard Einstellungen → KI-Apps.
- Schalte KI-Apps (MCP) erlauben ein.
- Bestätige mit deinem zweiten Faktor.
Zum Ausschalten braucht es keinen zweiten Faktor. Dann stoppen alle verbundenen Apps sofort, für jedes Mitglied. Die Apps bleiben in den Listen. Schaltet ein Owner oder Admin die KI-Apps wieder ein, funktionieren die Apps wieder.
Eine App in deinem Namen verbinden
kubehz nimmt diese Apps an:
- Claude auf claude.ai oder claude.com.
- ChatGPT auf chatgpt.com.
- Eine App auf deinem eigenen Rechner, die die Anmeldung auf einer Loopback-Adresse empfängt, zum Beispiel Claude Code, Claude Desktop oder eine IDE.
Andere gehostete Apps lehnt kubehz ab.
Claude
- Füge in Claude einen benutzerdefinierten Connector hinzu.
- Füge als URL
https://mcp.kubehz.cloud/mcpein. - Verbinde den Connector.
- Melde dich bei kubehz an.
ChatGPT
- Erstelle in ChatGPT einen Connector.
- Füge als URL
https://mcp.kubehz.cloud/mcpein. - Wähle als Authentifizierung OAuth.
- Verbinde den Connector.
- Melde dich bei kubehz an.
Claude Code und andere lokale Apps
claude mcp add --transport http kubehz https://mcp.kubehz.cloud/mcpEine andere lokale App braucht nur die URL, wenn sie entfernte MCP-Server mit OAuth unterstützt.
Beim ersten Mal registriert sich die App bei id.kubehz.cloud und öffnet die Anmeldeseite von kubehz. Nach der Anmeldung zeigt kubehz die Seite Diese App zulassen?.
Die Seite „Diese App zulassen?“
Die Seite zeigt:
- den Namen der App. Den Namen hat die App selbst gewählt.
- was die App in deinem Namen kann.
- die Adresse, zu der du zurückkehrst.
Vertraue nicht dem Namen. Prüfe stattdessen die Adresse, zu der du zurückkehrst. Erwarte:
- claude.ai oder claude.com für Claude.
- chatgpt.com für ChatGPT.
127.0.0.1,localhostoder[::1]mit einer Portnummer für eine App auf deinem Rechner.
Klicke auf Ablehnen, wenn du die App nicht gerade selbst gestartet hast oder wenn die Adresse nicht zu der App gehört, die du gestartet hast. Die App bekommt dann keinen Zugriff. Klicke nur auf Zulassen, wenn beides stimmt.
kubehz fragt einmal pro App. Eine spätere Anmeldung überspringt die Seite. Fragt die App später nach einer neuen Berechtigung, fragt die Seite nur nach der neuen Berechtigung.
Deine Rolle ist die Grenze. Die App kann nie mehr als du.
Standardmäßig handelt die App in dem Mandanten, dem du zuerst beigetreten bist. Die App kann einen anderen deiner Mandanten wählen. Dort funktioniert sie nur, wenn dieser Mandant KI-Apps eingeschaltet hat. Das Tool whoami zeigt den Mandanten.
Berechtigungen
Eine App bekommt nichts außer whoami, bis sie nach einer Berechtigung fragt. Die Seite zeigt die Berechtigungen, nach denen die App fragt. Das Dashboard zeigt jede mit einem kurzen Namen.
| Auf der Seite | Im Dashboard | Tools |
|---|---|---|
| Sehen, wer du bist. | Nur die Identität | whoami |
| Deine Spaces und Cluster sehen und ihre kubeconfig-Dateien abrufen. Die Dateien enthalten keine Geheimnisse. | Spaces und Cluster sehen | list_spaces, get_space, space_kubeconfig, list_clusters, get_cluster, cluster_kubeconfig |
| Spaces anlegen und löschen und ihre Laufzeit festlegen (wann sie ablaufen). | Spaces anlegen und löschen | create_space, delete_space, set_space_lease |
| Die Laufzeit deiner Cluster festlegen (wann sie ablaufen). | Laufzeit von Clustern festlegen | set_cluster_lease |
Ruft eine App ein Tool ohne die passende Berechtigung auf, lehnt kubehz den Aufruf ab und nennt die Berechtigung. Die App kann dich dann erneut anmelden und danach fragen.
Tools
| Tool | Berechtigung | Was es tut |
|---|---|---|
whoami | Keine | Zeigt den Aufrufer: den Agent-Schlüssel (Rolle, Bereich, Ablauf, Ausgaben in diesem Monat, Reichweite) oder die Person (Mandant und Rolle) |
list_spaces | Spaces und Cluster sehen | Listet die Spaces, die der Aufrufer erreicht, mit Status, Limits und Laufzeit |
get_space | Spaces und Cluster sehen | Zeigt einen Space: Status, Endpunkt, Nodes, Limits und Laufzeit |
space_kubeconfig | Spaces und Cluster sehen | Gibt die Kubeconfig eines Spaces, für einen Agent-Schlüssel (der Standard) oder für eine Person |
list_clusters | Spaces und Cluster sehen | Listet die Cluster, die der Aufrufer erreicht, gehostet und selbst gehostet |
get_cluster | Spaces und Cluster sehen | Zeigt einen Cluster: Status, Version, Worker und Zustand |
cluster_kubeconfig | Spaces und Cluster sehen | Gibt die Agent-Kubeconfig eines gehosteten Clusters |
create_space | Spaces anlegen und löschen | Erstellt einen Space. Er ist in Sekunden bereit und wird pro Stunde abgerechnet |
delete_space | Spaces anlegen und löschen | Löscht einen Space und alles darin. Das lässt sich nicht rückgängig machen. In deinem Namen schlägt der Aufruf fehl (siehe unten) |
set_space_lease | Spaces anlegen und löschen | Legt fest, wann kubehz einen Space löscht: 1 bis 720 Stunden ab jetzt. In deinem Namen geht nur ein späteres Ende |
set_cluster_lease | Laufzeit von Clustern festlegen | Legt fest, wann kubehz einen gehosteten Cluster löscht: 1 bis 720 Stunden ab jetzt. In deinem Namen geht nur ein späteres Ende |
In deinem Namen kann eine App keinen Space löschen und das Ende einer Laufzeit nicht vorziehen. Auch eine erste Laufzeit für einen Space oder Cluster ohne Laufzeit zieht das Ende vor. Dafür braucht es jedes Mal deinen zweiten Faktor, und die App kann ihn nicht liefern. Lösche den Space oder kürze die Laufzeit eines Spaces im Dashboard. Ein Space, den die App ohne Laufzeit erstellt, bleibt, bis du ihn löschst.
Ein Agent-Schlüssel braucht keinen zweiten Faktor. Mit der Rolle Bearbeiter oder Admin kann er einen Space löschen und jedes Ende einer Laufzeit setzen, das 1 bis 720 Stunden ab jetzt liegt.
Keine Kubeconfig enthält ein Secret. Die Agent-Kubeconfig startet lo kubehz token mit dem Schlüssel aus der Umgebung. Die Kubeconfig für eine Person meldet die Person im Browser an.
Ein Agent-Schlüssel nutzt diese Berechtigungen nicht. Seine Rolle entscheidet. Ein Schlüssel mit der Rolle Betrachter kann nur whoami und die Tools nutzen, die lesen.
Einen Agenten mit einem Schlüssel verbinden
Ein Agent ohne Person nutzt einen Agent-Schlüssel. Der Agent holt mit dem Schlüssel ein Token und sendet es als Authorization: Bearer. Keine Seite fragt nach Zustimmung, und die Einstellung KI-Apps gilt nicht. Was der Agent erstellt, bekommt eine Laufzeit.
TOKEN=$(lo kubehz token --format token)
curl -s https://mcp.kubehz.cloud/mcp \
-H "Authorization: Bearer $TOKEN" -H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"whoami","arguments":{}}}'Ein Token läuft ab. Antwortet der Server mit 401, hol mit dem Schlüssel ein neues Token.
In deinem Namen oder mit einem Agent-Schlüssel
| In deinem Namen | Mit einem Agent-Schlüssel | |
|---|---|---|
| Wer handelt | Du, über die App | Eine Maschinen-Identität |
| Grenze | Deine Rolle und die Berechtigungen, die du erlaubt hast | Rolle, Bereich und Ausgabenlimit des Schlüssels |
| Einstellung KI-Apps | Muss an sein | Gilt nicht |
| Was es erstellt | Hat nur eine Laufzeit, wenn die App eine setzt | Hat immer eine Laufzeit |
| Space löschen oder Ende einer Laufzeit vorziehen | Nicht über die App: Es braucht deinen zweiten Faktor | Mit der Rolle Bearbeiter oder Admin |
| Wo du es siehst | Einstellungen → KI-Apps | Zugriff → Agent-Schlüssel |
| Wie es endet | Du widerrufst es, oder kubehz löscht die ungenutzte App | Du widerrufst den Schlüssel, oder er läuft ab |
Verbundene Apps sehen und widerrufen
Unter Einstellungen → KI-Apps sieht jedes Mitglied Deine verbundenen Apps. Ein Owner oder Admin sieht außerdem Alle verbundenen Apps in diesem Mandanten. Eine App erscheint in der Liste nach ihrem ersten Tool-Aufruf. Jede Zeile zeigt den Namen der App, ihre Berechtigungen, wann die Person sie erlaubt hat (Erlaubt) und wann die App zuerst und zuletzt genutzt wurde (Zuerst genutzt, Zuletzt genutzt).
Um eine App zu widerrufen:
- Öffne Einstellungen → KI-Apps.
- Klicke in der Zeile der App auf Widerrufen.
- Klicke im Dialog auf Widerrufen.
- Deine eigene App stoppt sofort, in allen Mandanten. Um sie wieder zu nutzen, melde dich aus der App erneut bei kubehz an und lass sie wieder zu.
- Ein Owner oder Admin kann eine App für ein Mitglied widerrufen. Die App stoppt sofort für dieses Mitglied in diesem Mandanten. Bei der nächsten Anmeldung fragt kubehz das Mitglied, ob es die App wieder zulässt.
Nach einem Widerruf funktioniert nur eine neue Anmeldung. Ein Token aus einer früheren Anmeldung funktioniert nie wieder.
kubehz löscht registrierte Apps, die niemand nutzt:
- eine App, die in den 7 Tagen nach ihrer Registrierung niemand zugelassen und genutzt hat.
- eine App, die 90 Tage lang niemand genutzt hat.
Um eine gelöschte App wieder zu nutzen, verbinde sie erneut.
Lokales MCP mit lo
lo mcp ist ein anderer Server. Er läuft auf deinem eigenen Rechner und bietet die lo-Befehle eines lok8s-Projekts deinem Editor oder Agenten als Tools an. Standardmäßig bietet er nur die Befehle an, die lesen. Er bietet nie einen Befehl an, dessen Ausgabe ein Zugangsdatum ist. Seine Tools lo kubehz space und lo kubehz cluster rufen die kubehz-API mit einem Agent-Schlüssel auf. Befehle außerhalb von lo kubehz brauchen kein kubehz-Konto. Siehe die MCP-Anleitung von lok8s und die Referenz zu lo mcp.