Ga naar inhoud

MCP

MCP (Model Context Protocol) is een standaard waarmee een programma tools aanbiedt aan een model. Een MCP-server biedt tools aan; een MCP-client verbindt ermee en roept ze aan. MCP is dus geen soort tool maar een manier om tools aan te sluiten.

Core gebruikt MCP in twee richtingen. Ze lossen verschillende problemen op en je stelt ze op verschillende plekken in.

flowchart LR
    ext["MCP-server van jou of een leverancier<br/>bijvoorbeeld een ticketsysteem"]
    core["Core"]
    client["MCP-client<br/>codeerassistent of eigen agent"]
    core -->|"1. Core gebruikt de tools van de server"| ext
    client -->|"2. De client gebruikt Core als server"| core

Richting 1: Core gebruikt een MCP-server

Je registreert een MCP-server in je organisatie. Core leest de toollijst van de server, en jij kiest welke tools je toestaat. Die tools staan daarna tussen de andere tools van je organisatie als mcp__<server>__<tool>, en een agent of verzoek biedt ze aan het model aan. Elke geregistreerde server is ook een toolset van haar eigen tools.

Wanneer: een systeem dat je agent moet gebruiken heeft al een MCP-server, van jezelf of van een leverancier. Heeft het alleen een HTTP-API, dan is een API-koppeling de kortere weg.

De credential voor de server bewaar je bij de registratie. De server kan ook vragen dat elke persoon zelf inlogt; de tools handelen dan namens de persoon voor wie de beurt is. Een deel van de bundels van Artific Connect werkt zo, bijvoorbeeld GitHub.

Lees verder: MCP-servers in de console en MCP-servers in de API.

Richting 2: Core is een MCP-server

Een MCP-client buiten Core, zoals een codeerassistent of een agent die je zelf draait, verbindt met Core en gebruikt Core als tools. Er zijn drie endpoints:

Endpoint Wat de client krijgt Inloggen met
POST /api/v1/mcp elke API-operatie van Core als tool, voor zover de sleutel die mag uitvoeren: create_skill, search_index, create_response een API-sleutel
POST /api/v1/mcp/toolsets/{name} één van je eigen toolsets als server: je API-koppelingen, MCP-servers, zoektools en de rest, uitgevoerd door Core een API-sleutel
POST /api/v1/management/mcp de beheeroperaties voor de organisaties die je beheert inloggen als beheerder

Wanneer het eerste: je wilt Core bedienen vanuit een assistent: een prompt opslaan, een index doorzoeken, een agent bijwerken, zonder zelf HTTP-aanroepen te schrijven.

Wanneer het tweede: je hebt in Core een set tools samengesteld, met credentials, policy en meting, en wilt die ook gebruiken in een agent die niet in Core draait. De client krijgt de tools; de credentials blijven in Core.

Wanneer het derde: een beheerder wil organisaties, sleutels en verbruik beheren vanuit een assistent, met dezelfde rechten als in de console.

Core past bij elke toolaanroep dezelfde controles en dezelfde registratie toe als bij een HTTP-aanroep. Op de twee endpoints voor een sleutel ziet de client alleen de tools die de sleutel echt kan gebruiken. Het beheerendpoint toont elke beheertool; een tool die je niet mag gebruiken, weigert zodra je hem aanroept.

Lees verder: Core gebruiken vanuit een MCP-client.

Core-operaties in een beurt

Dezelfde operaties uit richting 2 kun je ook aan een beurt binnen Core geven, zonder MCP-client. Ze heten dan core__<tool>, bijvoorbeeld core__create_skill, en je biedt ze aan als elke andere tool. Zo kan een agent in Core zelf een skill opslaan of een index doorzoeken. Een core__-tool draait als de sleutel van de beurt en bereikt wat die sleutel bereikt (Een agent het platform geven).

De twee richtingen naast elkaar

Core gebruikt een MCP-server Core is een MCP-server
Wie voert de tool uit de externe server Core
Wie roept aan een model in een beurt van Core een client buiten Core
Waar stel je het in het onderdeel MCP-servers van de organisatie in je MCP-client, met het adres van Core
Capability tooling wat de operatie vraagt; tooling voor een toolset

Hoe het samenhangt

  • Een geregistreerde MCP-server is één van de bronnen van tools, naast API-koppelingen, ingebouwde tools en zoektools.
  • De policy van de sleutel beslist over een MCP-tool zoals over elke andere tool.
  • Een toolset is de eenheid in beide richtingen: een geregistreerde server wordt een toolset, en een toolset kun je als server aanbieden.
  • Een MCP-server kan in een publicatie, en een installeerder kan er zijn eigen server voor in de plaats kiezen.

Verder

Tutorial: Koppel een externe capability via MCP.