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.
- MCP-servers in de console: een server registreren en tools toestaan.
- Core gebruiken vanuit een MCP-client: verbinden met een sleutel of als beheerder, en een toolset aanbieden.
- Tools via de API: tools op een verzoek.
- Een codeeragent aansluiten: een codeeragent zijn modelaanroepen via Core laten doen.