MCP en API-DATA

Model Context Protocol (MCP) is een open protocol voor het verbinden van large language model toepassingen met externe data en tools via een gestandaardiseerde interface.

MCP en API-DATA

Inleiding

Model Context Protocol (MCP) is een open protocol voor het verbinden van large language model toepassingen met externe data en tools via een gestandaardiseerde interface.

Het doel van MCP is om AI assistenten en agenten op een uniforme manier te laten communiceren met databronnen, API's, bestanden en andere systemen. In plaats van per integratie een eigen koppeling te schrijven, biedt MCP een generieke laag waarboven AI toepassingen kunnen werken.

In de context van MCP wordt vaak gesproken over API data, omdat het protocol in de praktijk gebruikmaakt van bestaande API's van databronnen. MCP definieert niet hoe de interne API van een systeem eruitziet, maar beschrijft hoe een AI toepassing een MCP server kan ontdekken, welke functionaliteit beschikbaar is, welke resources geraadpleegd kunnen worden en hoe tools op een veilige manier aangeroepen kunnen worden.

Dit artikel beschrijft de basisbegrippen, architectuur en dataflows van MCP, en legt uit hoe API data in deze architectuur wordt ontsloten voor AI modellen.

Definitie van MCP

MCP, voluit Model Context Protocol, is een open, op JSON-RPC 2.0 gebaseerd protocol dat een standaard manier biedt om context en functionaliteit vanuit externe systemen beschikbaar te maken voor LLM toepassingen. De kern is dat MCP:

  • een client server model gebruikt voor het uitwisselen van contextdata en toolfunctionaliteit

  • JSON gebaseerde berichten definieert voor discovery, lifecycle en tooluitvoering

  • een reeks features specificeert, zoals resources, prompts en tools, inclusief uitbreidingen als sampling, roots en elicitation

MCP zelf is agnostisch ten aanzien van welk LLM wordt gebruikt. Het protocol schrijft niet voor hoe het model wordt aangestuurd, maar alleen hoe host, client en server context en acties onderling structureren.

Architectuur en componenten

Deelnemers in MCP

De MCP architectuur hanteert drie hoofdrollen die samen de gegevensstroom bepalen.

  • MCP host De host is de AI toepassing die de regie voert, bijvoorbeeld een desktopapplicatie, IDE plugin of chatinterface. De host start MCP clients, onderhoudt verbindingen en presenteert de resultaten aan de gebruiker of aan het onderliggende model.

  • MCP client Een client is een component binnen de host die een één op één verbinding beheert met een specifieke MCP server. De client implementeert de MCP basisprotocolregels, verstuurt verzoeken, ontvangt antwoorden en verzorgt de vertaling naar de hostomgeving.

  • MCP server De server is een programma dat contextdata en tools exposeert aan MCP clients. De server kan lokaal draaien (bijvoorbeeld via STDIO, direct op dezelfde machine) of op afstand, bijvoorbeeld als webservice die via een transportlaag zoals WebSockets of een andere stream bereikbaar is.

Een host kan meerdere clients bevatten, en elke client is gekoppeld aan precies één server. Op die manier kan een AI toepassing tegelijk verbinding hebben met meerdere externe systemen, ieder via zijn eigen MCP server.

Lagen in de architectuur

De architectuur van MCP kan in drie conceptuele lagen worden onderverdeeld.

  • Transportlaag Deze laag verzorgt de fysieke verbinding tussen client en server. Voorbeelden zijn STDIO voor lokale servers of netwerkgebaseerde transporten voor remote servers. Het protocol schrijft de exacte transporttechnologie niet dwingend voor, maar gaat uit van een bidirectioneel kanaal.

  • Datalayer protocol In de datalaag zijn de JSON-RPC 2.0 berichten, methoden en parameters gedefinieerd voor discovery, tooluitvoering, resource toegang en notificaties. Hier wordt vastgelegd hoe servers hun capabilities kenbaar maken en hoe clients verzoeken formuleren.

  • Featurelaag Daarboven liggen MCP features zoals resources, tools en prompts, plus optionele client features zoals sampling en roots. Deze features beschrijven op een hoger niveau welke soorten data en acties beschikbaar zijn.

Kernfeatures: resources, prompts en tools

Resources

Resources zijn de representatie van gegevens of context die een server beschikbaar stelt. Dit kan gaan om bijvoorbeeld productcatalogi, logbestanden, documenten, CRM records of events in een dataplatform. Elke resource heeft metadata, zoals naam, type en een URI of pad waarmee het benaderd kan worden.

Via het MCP dataprotocol kan een client een lijst van beschikbare resources opvragen, details opvragen over een specifieke resource en de inhoud of een deel van de inhoud laten ophalen. De server bepaalt zelf hoe dit 'onder water' gebeurt, meestal door via een interne API of database een query uit te voeren. De host ziet alleen de gestructureerde JSON respons.

Prompts

Prompts in MCP zijn herbruikbare prompttemplates of workflows die door de server worden aangeboden. Ze vormen in feite een soort voorgedefinieerde interactiepatronen die de host aan de gebruiker of aan een model kan aanbieden. Een prompt kan variabelen hebben en kan verwijzen naar specifieke resources of tools.

Door prompts via MCP te exposeren kunnen serverontwikkelaars domeinspecifieke promptlogica bundelen. De client kan deze prompts ophalen, invullen met concrete parameters en vervolgens gebruiken in interacties met het LLM.

Tools

Tools zijn functies die de server beschikbaar stelt om acties uit te voeren, zoals het aanmaken van records, het uitvoeren van een query, het triggeren van een workflow of het genereren van een rapport. Tools worden beschreven met een naam, parameterschema en een beschrijving van het gedrag.

De client kan tools ontdekken via tool discovery en daarna een tool execution request sturen, inclusief de benodigde parameters. De server voert de actie uit op basis van zijn interne API's of systemen en retourneert een resultaatsobject. Het LLM kan deze tools gebruiken als 'acties' in een tool calling scenario.

Levenscyclus van een MCP verbinding

Initialisatie en discovery

Bij het opzetten van een verbinding start de host een MCP client met de configuratie voor een specifieke server. De client naaiert een initialisatieuitwisseling, waarbij client en server:

  • capabilities uitwisselen

  • beschikbare features en versies bekendmaken

  • optionele configuratie opvragen of doorgeven

Na deze stap weet de client welke resources, prompts en tools beschikbaar zijn en welke berichten de server ondersteunt. Dit wordt vaak in interne datastructuren vastgelegd, zodat het LLM deze mogelijkheden kan 'zien' via de host.

Tool discovery

Tool discovery is het proces waarbij de server aan de client bekendmaakt welke tools er bestaan, welke parameters zij accepteren en welke semantiek zij hebben. Dit gebeurt via JSON-RPC berichten die een gestructureerde lijst van tools teruggeven.

  • de toolset zichtbaar te maken in de interface

  • het schema door te geven aan het LLM, zodat het model weet welke toolnamen en parameters het mag gebruiken

  • tooling op te bouwen die tools sorteert, filtert of annotaties toevoegt

Wanneer het LLM besluit een tool aan te roepen, vertaalt de host deze intentie naar een MCP tool execution request. Dit bericht bevat in elk geval:

Tool execution

  • de naam of identifier van de tool

  • de parameterwaarden, meestal als JSON object

  • een context of correlation id, zodat antwoorden gekoppeld kunnen worden

De server voert de interne actie uit, meestal via een API call naar een bestaand systeem, en stuurt vervolgens een uitvoeringresultaat terug. Dat resultaat wordt door de client aan de host doorgegeven en daarna aan het model gepresenteerd als tool output.

Notificaties

MCP ondersteunt daarnaast notificaties, waarmee servers bijvoorbeeld wijzigingen in de lijst van tools of resources kunnen melden. Dit maakt dynamische omgevingen mogelijk, waarin servers tijdens runtime nieuwe mogelijkheden kunnen toevoegen of verwijderen. Clients reageren hierop door hun lokale representatie van de servercapabilities bij te werken.

API data in MCP

Rol van API's

MCP beschrijft niet hoe een onderliggend systeem zijn API implementeert, maar gaat er wel vanuit dat de MCP server toegang heeft tot een gestructureerde datalaag, meestal via een REST, GraphQL of andere API. In de praktijk fungeert de MCP server als adapter tussen een bestaande API en de MCP wereld.

  • database of SaaS applicatie met bestaande REST API

  • dataplatform zoals een event store of KQL database met query API

  • interne bedrijfsservices met eigen endpoints

De MCP server vertaalt een resource request of tool execution naar één of meerdere API calls, verwerkt de respons en geeft die terug in MCP formaat.

Structurering van API data

API data wordt binnen MCP meestal als JSON gerepresenteerd, waarbij de server verantwoordelijk is voor:

  • het mappen van API velden naar MCP resource of toolresultaat velden

  • het eventueel anonimiseren of filteren van data voor privacy of security

  • het toevoegen van metadata, zoals timestamps, id's of typeinformatie

Deze abstractie zorgt ervoor dat de host en het model niet afhankelijk zijn van de exacte structuur van de onderliggende API. Het enige dat vaststaat is het MCP contract zoals beschreven in de serverbeschrijving.

Voorbeeldscenario's met API data

Enkele veelvoorkomende scenario's waarin MCP en API data samengaan:

  • Boekhoudsoftware waarin een MCP server gekoppeld is aan een SaaS API, zodat een chatbot in natuurlijke taal nieuwe klanten of facturen kan aanmaken

  • Productdatabanken waarin een MCP server API endpoints gebruikt om productinformatie op te halen en deze via natuurlijke taalvragen door een AI agent laat beantwoorden

  • Realtime dataplatformen waarin een MCP server query's uitvoert op eventhouses of KQL databases en de resultaten in JSON terugstuurt naar de AI client

In al deze gevallen fungeert MCP als de standaardlaag die bepaalt hoe de AI toepassing met de API data communiceert, niet hoe de data intern is opgeslagen.

Beveiliging en privacy

Gebruikerscontrole en toestemming

Omdat MCP toegang geeft tot potentieel gevoelige gegevens en krachtige tools, is beveiliging een centraal onderdeel van de specificatie. Basisprincipes zijn:

  • expliciete toestemming van gebruikers voor toegang tot data en het uitvoeren van acties

  • transparantie over welke servers verbonden zijn en welke tools beschikbaar zijn

  • duidelijke user interfaces voor het autoriseren of weigeren van acties

De host moet voorkomen dat tooluitvoering of data-uitlevering gebeurt zonder dat de gebruiker zich hiervan bewust is.

Dataprivacy

MCP hostimplementaties behoren zorgvuldig om te gaan met de gegevens die via servers worden aangeboden. Dit omvat:

  • het alleen doorgeven van resource data aan modellen of andere systemen met toestemming

  • het toepassen van toegangscontrole en scoping, zodat servers niet meer data zien dan nodig

  • het minimaliseren van opslag van gevoelige data in logs of caches

Servers op hun beurt implementeren doorgaans hun eigen authenticatie en autorisatie naar de onderliggende API's, bijvoorbeeld via tokens, IP restricties of identity providers.

Tools en code-uitvoering

Tools kunnen neer komen op het uitvoeren van willekeurige code of het muteren van data. MCP behandelt toolbeschrijvingen daarom als onbetrouwbare input, tenzij zij afkomstig zijn van een vertrouwde server. Hosts worden geacht:

  • geen tools automatisch uit te voeren zonder expliciete user consent

  • duidelijke uitleg te geven over wat een tool doet voordat deze wordt aangeroepen

  • logging en error reporting in te zetten voor auditing en debugging

Dit verkleint de kans op misbruik of ongewenste acties die via een tooluitvoering kunnen plaatsvinden.

Implementatie en SDK's

Taal specifieke SDK's

Om implementatie te vereenvoudigen zijn er officiële SDK's voor meerdere programmeertalen. Deze SDK's:

  • verbergen de details van JSON-RPC communicatie

  • bieden helperfuncties voor server en client lifecycle

  • bevatten typen en schema's voor de MCP features

Ontwikkelaars kunnen hiermee relatief snel een nieuwe MCP server opzetten die via bestaande API's data ontsluit, of een client inbouwen in een toepassing, zoals een IDE of desktopapp.

Referentieservers en tooling

Naast SDK's bestaan er referentie implementaties van MCP servers voor veelgebruikte systemen, bijvoorbeeld:

  • populaire bestandsopslagdiensten

  • ontwikkeltools en repositories

  • databaseplatformen

Verder is er tooling zoals inspectoren, waarmee ontwikkelaars kunnen testen of hun server aan de specificatie voldoet en hoe responses eruitzien.

Gebruik in enterprise en realtime omgevingen

MCP wordt steeds vaker geïntegreerd in enterpriseomgevingen en dataplatformen. In sommige oplossingen wordt een volledige MCP server aangeboden die specifiek is afgestemd op één platform, bijvoorbeeld een realtime intelligence omgeving of een data explorer dienst. Deze server vertaalt MCP toolrequests direct naar query's op eventhouses of andere databronnen en levert in seconden resultaten terug aan AI agenten.

Door deze architectuur ontstaat een modulaire en schaalbare manier om AI modellen toegang te geven tot operationele en historische data, zonder dat elk AI product opnieuw een volledige API integratie hoeft te ontwikkelen.

Relatie tot andere protocollen

MCP wordt vaak vergeleken met het Language Server Protocol, omdat beide een generiek protocol definiëren om een familie van tools aan te sluiten op verschillende hosts. Waar het Language Server Protocol zich richt op programmeertalen en ontwikkeltools, richt MCP zich op data en acties voor AI toepassingen. Het idee van een universele connector die als "USB C voor AI" fungeert, is in beide gevallen vergelijkbaar, maar de inhoudelijke focus verschilt.

Samenvatting

MCP en API data vormen samen een generiek integratiekader voor AI toepassingen. MCP definieert een open standaard voor:

  • hoe AI hosts via clients met servers communiceren

  • hoe servers resources, prompts en tools beschikbaar stellen

  • hoe JSON gebaseerde data en toolresultaten heen en weer worden gestuurd

De feitelijke data komt meestal uit bestaande API's van databronnen of applicaties. De MCP server fungeert als adapter die deze API data vertaalt naar MCP berichten. Daardoor kunnen LLM toepassingen op een uniforme manier toegang krijgen tot uiteenlopende systemen, terwijl beveiliging, privacy en gebruikerscontrole structureel meegenomen worden in het ontwerp.

Bedankt voor uw bericht!

We nemen zo snel mogelijk contact met u op.

Wie helpt jou om te winnen?

Hoe realiseer je de potentie van AI?
Kan mijn bedrijf winnen met innovatie?
Spartner heeft de antwoorden.

Boek een call

Bart Schreurs
Business Development Manager
Bart Schreurs

We hebben je bericht ontvangen! We nemen zo snel mogelijk contact op! Er ging iets mis tijdens het versturen van je bericht, controleer alle velden.