Ga naar inhoud

MCP-servers in de console

Het concept achter MCP staat in MCP.

Onder Tools > MCP-servers registreer je een MCP-server en kies je welke van haar tools je aanbiedt. Een MCP-server is een server van jezelf of van iemand anders die zelf tools aanbiedt. Core leest haar toollijst op de achtergrond; wat hij vindt staat daarna in het Overzicht, en elke geregistreerde server is meteen een toolset van haar eigen tools.

Je hebt een beheerdersaccount van de organisatie nodig, en de capability tooling moet in het plafond van de organisatie aanstaan. De host van de server moet bij de toegestane hosts van de organisatie staan.

Sleutels van de organisatie kunnen deze tools aanbieden in een beurt, voor zover hun beleid dit toestaat. Zie Tools via de API voor API-voorbeelden.

Een server registreren

MCP-servers: een tabel met de kolommen Server, Tools, Laatst gelezen, Authenticatie, Labels · regio en Herkomst, een filterveld, en een knop Server registreren in de balk.

De lijst toont per server zijn naam en host, wat hij aanbiedt (Alles · 12 als je niet hebt beperkt, 8 van 12 als je hebt gekozen), waar het lezen staat, de soort credential, de labels en de regio, en waar de server vandaan komt. Typ in Filter op naam of label om de lijst te verkleinen. Kies een rij om de pagina van de server te openen.

Kies Server registreren in de balk. Er opent een pagina; vul deze velden in en kies Registreren in de balk onderaan:

Veld Wat je invult
Identifier waarmee een verzoek deze server noemt; kan later niet meer wijzigen. Het veld zet zelf om naar kleine letters, cijfers, - en _, maximaal 32 tekens
URL het http(s)-adres van de server
Regio waar de server draait, zie Waar de host draait; mag leeg blijven
Authenticatie Geen, Token in een header, OAuth (client credentials) of OAuth (de persoon logt zelf in), zie Een credential opslaan

Core test de server niet vooraf. Na het registreren kom je op de pagina van de server, die nog niet is gelezen; Core leest de toollijst kort daarna op de achtergrond, en daar kies je de tools. Die staan daarna in het Overzicht als mcp__<server>__<tool>.

De servernaam kan niet worden bewerkt. Deze maakt deel uit van de toolnamen die aan het model worden aangeboden. Wijzigen doe je met Bewerken in de balk van de pagina van de server; na opslaan leest Core de toollijst opnieuw, en tot dat klaar is biedt hij de tools van de vorige keer aan.

De credential werkt precies zoals bij een API-koppeling, en hetzelfde blok Een credential opslaan beschrijft hem. Core stuurt hem mee als hij de toollijst van de server op de achtergrond leest én bij elke aanroep die een beurt doet.

Een server kan ook eigen headers hebben. In het blok Headers van het formulier voeg je er een toe met Header toevoegen: een naam en een waarde. De waarde mag invulwaarden ({$naam}) en aanroepvariabelen ({@naam}) bevatten die je applicatie per verzoek meestuurt, zoals het eigen token van je klant. Voor elk daarvan verschijnt een rij, zoals bij een API-koppeling: een invulwaarde van de soort Geheim is een wachtwoordveld waarbij daarna Ingesteld staat en het veld leeg blijft om de bewaarde waarde te houden, en een aanroepvariabele heeft een soort, Verplicht, een standaardwaarde en een schakelaar Geheim (Waarden die je applicatie meestuurt).

Het formulier weigert vooraf wat Core zou weigeren: Cookie, Proxy-Authorization en een header die Core of het MCP-transport zelf zet, Authorization tenzij Authenticatie op Geen staat, de header waarin de eigen credential van de server gaat, een aanroepvariabele in de URL (Core leest de toollijst zonder verzoek waar de waarde uit kan komen) en een geheim in de URL. Core laat een header met een aanroepvariabele weg als hij de toollijst leest, dus je server moet zijn tools ook zonder die header kunnen tonen; zie Een waarde van je klant aan een tool meegeven.

De sectie Asynchrone tool op het formulier bepaalt of het model de tools van deze server mag starten als taken die doorlopen nadat de beurt is afgelopen; ze geldt voor elke tool van de server. De velden staan beschreven bij Asynchrone tool; servers met eigen taken staan op Een tool op de achtergrond draaien.

De host moet zijn toegestaan. Core roept de server pas aan als de host bij de toegestane hosts van de organisatie staat, en dat geldt ook voor het token-endpoint van een OAuth-credential. Staat een host er niet, of blokkeert de omgeving hem, dan mislukt het lezen en zegt de pagina van de server dat Core geen tools van deze server aanbiedt tot dat verandert, met Naar toegestane hosts; die link opent de kaart Toegestane hosts.

Op een telefoon lees je de lijst en de pagina's; registreren en bewerken doe je op een groter scherm.

Verwijderen doe je in de gevarenzone op de pagina van de server, of met Verwijderen in het regelmenu. De bevestiging noemt de toolsets en aliassen die tools van de server kwijtraken; de automatische toolset van de server verdwijnt mee. Noemt de nieuwste versie van een agent een tool van de server, dan weigert Core het verwijderen en noemt het venster die agents.

Waar de host draait

Regio zegt waar de host van deze server draait: eu, us, global, in-cluster of een landcode van twee kleine letters zoals nl. Het telt alleen voor een sleutel waarvan het beleid de regio's beperkt (policy.settings.regions_allow): zo'n sleutel bereikt deze server alleen als zijn lijst deze regio noemt of een regio waar die in ligt (nl ligt in eu, en alles in global), en heeft voor de host dan geen eigen opgave nodig — al wint een regel in host_regions van het beleid van de sleutel of de organisatie die de host ruimer plaatst. Elke server zegt het voor zichzelf, dus de ene kan in de EU draaien en de andere in de VS. Laat je het veld leeg, dan plaatst elke sleutel de host met zijn eigen policy.settings.host_regions; maak je het leeg bij een bestaande server, dan vervalt de opgeslagen regio. De lijst toont de regio in de kolom Labels · regio. Zie Toegestane bestemmingen.

De pagina van een server

De pagina van een server heeft drie kaarten. Server toont de URL, de authenticatie, de regio, wanneer Core de toollijst het laatst las en dat hij dat elk uur opnieuw doet, en de automatische toolset van de server, met een link. Tools is waar je kiest wat de server aanbiedt. Versies toont wat de server door de tijd heeft aangeroepen, zie Versies en concepten.

Toegestane tools kies je, je typt ze niet — zodra Core de server heeft gelezen. Kies Alles, ook wat later bijkomt om elke tool aan te bieden, ook een tool die de server later toevoegt, of Kiezen om per tool een vakje aan of uit te zetten. Een naam waartoe je nog beperkt maar die de laatste leesbeurt niet meer vond, blijft als eigen regel staan, gemarkeerd Niet gevonden bij de laatste leesactie, en uitvinken is hoe je hem laat vervallen. Bovenaan staat hoeveel tools de server nu aanbiedt. Kies Opslaan om je keuze vast te leggen. Verdwijnt een tool bij het lezen, dan biedt Core hem niet meer aan: toolsets met een patroon dat hem dekte, komen vanzelf op minder uit, en een alias met hem als doel is daarna niet beschikbaar.

Nakijken wat Core heeft gelezen

De lijst en de pagina tonen waar het lezen staat. Nog niet gelezen betekent dat Core nog geen eerste leesbeurt heeft gehaald; die loopt kort na het registreren op de achtergrond, meestal binnen een minuut. Wordt gelezen betekent dat je net om een leesbeurt hebt gevraagd; je keuze van tools blijft staan en nieuwe tools verschijnen zodra het klaar is. Gelezen toont hoeveel tools de laatste leesbeurt heeft opgeslagen. Lezen mislukt staat in het rood, en de pagina zegt wat er misging; zolang lezen mislukt, biedt Core geen enkele tool van de server aan.

Kies Tools nu lezen in de balk van de pagina, of in het regelmenu, om een nieuwe leesbeurt te vragen. Core zet hem in de wachtrij en de worker voert hem uit; de pagina en de lijst worden bijgewerkt zodra dat is gebeurd.

Versies en concepten

Wat een server aanroept -- de URL, de headers, de invulwaarden en aanroepvariabelen, de tools die hij aanbiedt en of die op de achtergrond mogen draaien -- is een genummerde versie. Sla je een wijziging van een daarvan op, dan legt Core een nieuwe versie vast; wijzig je alleen de authenticatie, de regio of de labels, dan niet, want die horen bij de registratie en niet bij een versie. Een versie verandert nooit meer.

Wil je een wijziging voorbereiden zonder dat iemand hem al gebruikt, kies dan Opslaan als concept in het formulier. Een concept krijgt het volgende nummer, maar geen sleutel ziet het, en Core leest nooit de toollijst van een concept: de server blijft aanbieden wat zijn gepubliceerde versie aanbiedt. Een concept bevat alleen wat de server aanroept, dus het formulier weigert een concept als je de authenticatie, de regio of de labels hebt gewijzigd; sla die zonder concept op. De kop van de pagina zegt Concept v3 klaar zolang er een concept wacht, en concept bij een server die je als concept registreerde en nooit publiceerde.

De kaart Versies toont elke versie, nieuwste eerst, een concept gemarkeerd als concept. Open een concept om het te Publiceren -- de server roept het dan aan en Core leest zijn toollijst opnieuw -- of kies Concept weggooien; een weggegooid nummer wordt nooit opnieuw gebruikt. Een sleutel leest de gepubliceerde versies met GET /api/v1/mcp_servers/{id}/versions en GET /api/v1/mcp_servers/{id}/versions/{version}.

Labels

Stel Labels in op de server om toegang tot de tools per persoon te regelen. Alle tools van de server erven deze labels; je stelt ze niet per tool in.

Regels over Tools in de policy van een sleutel vergelijken de labels met de attributen van de persoon (Regels over een persoon). Zie Bouwen voor personen.

Dezelfde regels beslissen over de server zelf, voor een verzoek van een sleutel dat een persoon noemt: GET /mcp_servers toont hem als de regels haar minstens één van zijn tools laten zien, en een forbid verbergt hem alleen als die ze allemaal dekt. Lezen, wijzigen en verwijderen worden net zo beslist, en zijn tools opvragen (GET /mcp_servers/{id}/tools) of hem synchroniseren (POST /mcp_servers/{id}/sync) vraagt see (Registraties). De console toont elke server.

Lege lijsten en toegangsbeperkingen

“Nog geen MCP-servers” geeft aan dat de lijst leeg is. Kon de lijst niet laden, dan zegt de pagina dat met de status van Core en een knop Opnieuw.

Zie je tooling staat uit voor deze organisatie, dan staat Tools en MCP-servers aanroepen uit in het plafond van de organisatie. De beheerder van de organisatie erboven zet het aan bij Toegestane capabilities op Instellingen; voor een organisatie zonder bovenliggende organisatie doet je operator dat. Dat geldt voor elk onderdeel onder Tools.