Skip to content

MCP-server ​

kubehz draait een externe Model Context Protocol-server (MCP). Een AI-app zoals Claude of ChatGPT kan er met je clusters en spaces mee werken:

https://mcp.kubehz.cloud/mcp

Elke toolaanroep gaat via de kubehz-API, met dezelfde controles als het dashboard. De app kan nooit meer dan de persoon of de agentsleutel waarvoor hij handelt.

Er zijn twee manieren om te verbinden:

  • Namens jezelf. De app meldt je aan, en je staat hem één keer toe. Daarna handelt de app namens jou, binnen de rechten die je hebt toegestaan.
  • Met een agentsleutel. Er meldt zich geen persoon aan. De tools handelen binnen de rol, het bereik en de uitgavenlimiet van de sleutel.

AI-apps aanzetten ​

AI-apps staan standaard uit. Zolang ze uit staan, kan geen app voor een lid van de tenant handelen. Agentsleutels hangen niet af van deze instelling.

Je hebt de rol Owner of Admin nodig.

  1. Open in het dashboard Instellingen → AI-apps.
  2. Zet AI-apps (MCP) toestaan aan.
  3. Bevestig met je tweede factor.

Om AI-apps uit te zetten is geen tweede factor nodig. Alle verbonden apps stoppen dan direct, voor elk lid. De apps blijven in de lijsten staan. Als een owner of admin AI-apps weer aanzet, werken de apps weer.

Een app namens jezelf verbinden ​

kubehz accepteert deze apps:

  • Claude op claude.ai of claude.com.
  • ChatGPT op chatgpt.com.
  • Een app op je eigen computer die de aanmelding op een loopback-adres ontvangt, bijvoorbeeld Claude Code, Claude Desktop of een IDE.

Andere gehoste apps weigert kubehz.

Claude ​

  1. Voeg in Claude een aangepaste connector toe.
  2. Plak als URL https://mcp.kubehz.cloud/mcp.
  3. Verbind de connector.
  4. Meld je aan bij kubehz.

ChatGPT ​

  1. Maak in ChatGPT een connector aan.
  2. Plak als URL https://mcp.kubehz.cloud/mcp.
  3. Kies als authenticatie OAuth.
  4. Verbind de connector.
  5. Meld je aan bij kubehz.

Claude Code en andere lokale apps ​

bash
claude mcp add --transport http kubehz https://mcp.kubehz.cloud/mcp

Een andere lokale app heeft alleen de URL nodig, als hij externe MCP-servers met OAuth ondersteunt.

De eerste keer registreert de app zich bij id.kubehz.cloud en opent hij de aanmeldpagina van kubehz. Na het aanmelden toont kubehz de pagina Deze app toestaan?.

De pagina “Deze app toestaan?” ​

De pagina toont:

  • de naam van de app. Deze naam heeft de app zelf gekozen.
  • wat de app namens jou kan doen.
  • het adres waar je naar terugkeert.

Vertrouw de naam niet. Controleer in plaats daarvan het adres waar je naar terugkeert. Verwacht:

  • claude.ai of claude.com voor Claude.
  • chatgpt.com voor ChatGPT.
  • 127.0.0.1, localhost of [::1], met een poortnummer, voor een app op je eigen computer.

Klik op Weigeren als je de app niet zelf net hebt gestart, of als het adres niet hoort bij de app die je hebt gestart. De app krijgt dan geen toegang. Klik alleen op Toestaan als beide kloppen.

kubehz vraagt het één keer per app. Een latere aanmelding slaat de pagina over. Vraagt de app later om een nieuw recht, dan vraagt de pagina alleen om het nieuwe recht.

Je rol is de grens. De app kan nooit meer dan jij.

Standaard handelt de app in de tenant waar je het eerst lid van werd. De app kan een andere van je tenants kiezen. Daar werkt hij alleen als die tenant AI-apps heeft aangezet. De tool whoami toont de tenant.

Rechten ​

Een app krijgt niets behalve whoami tot hij om een recht vraagt. De pagina toont de rechten waar de app om vraagt. Het dashboard toont elk recht met een korte naam.

Op de paginaIn het dashboardTools
Zien wie je bent.Alleen de identiteitwhoami
Je spaces en clusters zien en hun kubeconfig-bestanden ophalen. De bestanden bevatten geen geheimen.Spaces en clusters bekijkenlist_spaces, get_space, space_kubeconfig, list_clusters, get_cluster, cluster_kubeconfig
Spaces aanmaken en verwijderen, en hun looptijd instellen (wanneer ze verlopen).Spaces aanmaken en verwijderencreate_space, delete_space, set_space_lease
De looptijd van je clusters instellen (wanneer ze verlopen).Looptijd van clusters instellenset_cluster_lease

Roept een app een tool aan zonder het recht ervoor, dan weigert kubehz de aanroep en noemt het recht. De app kan je dan opnieuw aanmelden en erom vragen.

Tools ​

ToolRechtWat het doet
whoamiGeenToont de aanroeper: de agentsleutel (rol, bereik, vervaldatum, uitgaven deze maand, bereikte resources) of de persoon (tenant en rol)
list_spacesSpaces en clusters bekijkenToont de spaces die de aanroeper bereikt, met status, limieten en looptijd
get_spaceSpaces en clusters bekijkenToont één space: status, endpoint, nodes, limieten en looptijd
space_kubeconfigSpaces en clusters bekijkenGeeft de kubeconfig van een space, voor een agentsleutel (de standaard) of voor een persoon
list_clustersSpaces en clusters bekijkenToont de clusters die de aanroeper bereikt, gehost en zelfgehost
get_clusterSpaces en clusters bekijkenToont één cluster: status, versie, workers en gezondheid
cluster_kubeconfigSpaces en clusters bekijkenGeeft de agent-kubeconfig van een gehost cluster
create_spaceSpaces aanmaken en verwijderenMaakt een space aan. Hij is binnen seconden klaar en wordt per uur gefactureerd
delete_spaceSpaces aanmaken en verwijderenVerwijdert een space met alles erin. Dit kan niet ongedaan worden gemaakt. Namens jou mislukt de aanroep (zie hieronder)
set_space_leaseSpaces aanmaken en verwijderenStelt in wanneer kubehz een space verwijdert: 1 tot 720 uur vanaf nu. Namens jou werkt alleen een later einde
set_cluster_leaseLooptijd van clusters instellenStelt in wanneer kubehz een gehost cluster verwijdert: 1 tot 720 uur vanaf nu. Namens jou werkt alleen een later einde

Namens jou kan een app geen space verwijderen en het einde van een looptijd niet vervroegen. Ook een eerste looptijd voor een space of cluster zonder looptijd vervroegt het einde. Daarvoor is telkens je tweede factor nodig, en de app kan die niet geven. Verwijder de space, of verkort de looptijd van een space, in het dashboard. Een space die de app zonder looptijd aanmaakt, blijft bestaan tot je hem verwijdert.

Een agentsleutel heeft geen tweede factor nodig. Met de rol Bewerker of Beheerder kan hij een space verwijderen en elk einde van een looptijd tussen 1 en 720 uur vanaf nu instellen.

Geen enkele kubeconfig bevat een secret. De agent-kubeconfig start lo kubehz token met de sleutel uit de omgeving. De kubeconfig voor een persoon meldt de persoon aan in de browser.

Een agentsleutel gebruikt deze rechten niet. Zijn rol beslist. Een sleutel met de rol Lezer kan alleen whoami en de tools die lezen gebruiken.

Een agent met een sleutel verbinden ​

Een agent zonder persoon gebruikt een agentsleutel. De agent haalt met de sleutel een token op en stuurt het als Authorization: Bearer. Geen pagina vraagt om toestemming, en de instelling AI-apps geldt niet. Wat de agent aanmaakt, krijgt een looptijd.

bash
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":{}}}'

Een token verloopt. Antwoordt de server met 401, haal dan met de sleutel een nieuw token op.

Namens jezelf of met een agentsleutel ​

Namens jezelfMet een agentsleutel
Wie handeltJij, via de appEen machine-identiteit
GrensJe rol en de rechten die je hebt toegestaanDe rol, het bereik en de uitgavenlimiet van de sleutel
Instelling AI-appsMoet aan staanGeldt niet
Wat het aanmaaktHeeft alleen een looptijd als de app er een insteltHeeft altijd een looptijd
Een space verwijderen of het einde van een looptijd vervroegenNiet via de app: het vraagt je tweede factorMet de rol Bewerker of Beheerder
Waar je het zietInstellingen → AI-appsToegang → Agentsleutels
Hoe het eindigtJe trekt het in, of kubehz verwijdert de ongebruikte appJe trekt de sleutel in, of hij verloopt

Verbonden apps bekijken en intrekken ​

In Instellingen → AI-apps ziet elk lid Jouw verbonden apps. Een Owner of Admin ziet ook Alle verbonden apps in deze tenant. Een app verschijnt in de lijst na zijn eerste toolaanroep. Elke rij toont de naam van de app, zijn Rechten, wanneer de persoon hem heeft toegestaan (Toegestaan) en wanneer hij voor het eerst en het laatst is gebruikt (Eerst gebruikt, Laatst gebruikt).

Om een app in te trekken:

  1. Open Instellingen → AI-apps.
  2. Klik in de rij van de app op Intrekken.
  3. Klik in het dialoogvenster op Intrekken.
  • Je eigen app stopt direct, in alle tenants. Om hem weer te gebruiken, meld je je vanuit de app opnieuw aan bij kubehz en sta je hem opnieuw toe.
  • Een Owner of Admin kan een app voor een lid intrekken. De app stopt direct voor dit lid in deze tenant. Bij de volgende aanmelding vraagt kubehz het lid de app opnieuw toe te staan.

Na een intrekking werkt alleen een nieuwe aanmelding. Een token van een eerdere aanmelding werkt nooit meer.

kubehz verwijdert geregistreerde apps die niemand gebruikt:

  • een app die niemand heeft toegestaan en gebruikt in de 7 dagen na zijn registratie.
  • een app die niemand 90 dagen heeft gebruikt.

Om een verwijderde app weer te gebruiken, verbind je hem opnieuw.

Lokale MCP met lo ​

lo mcp is een andere server. Hij draait op je eigen computer en biedt de lo-opdrachten van een lok8s-project als tools aan je editor of agent aan. Standaard biedt hij alleen de opdrachten aan die lezen. Hij biedt nooit een opdracht aan waarvan de uitvoer een inloggegeven is. Zijn tools lo kubehz space en lo kubehz cluster roepen de kubehz-API aan met een agentsleutel. Opdrachten buiten lo kubehz hebben geen kubehz-account nodig. Zie de MCP-gids van lok8s en de referentie van lo mcp.