Wat is het Model Context Protocol?
Het Model Context Protocol (MCP) lost een fundamenteel probleem op in de wereld van AI-assistenten: hoe geef je een taalmodel toegang tot de juiste informatie en tools zonder elke integratie opnieuw te moeten bouwen? MCP is een open standaard, oorspronkelijk gepubliceerd door Anthropic in november 2024 en sinds 2025 ondergebracht bij de Linux Foundation. Het fungeert als een universele verbindingslaag tussen AI-modellen en de buitenwereld.
Vergelijk het met USB voor hardware: vroeger had elk apparaat zijn eigen connector en driver, nu plug je gewoon iets in. MCP doet hetzelfde voor AI-tools. Een MCP-server kan toegang bieden tot je Google Drive, een SQL-database, een REST-API of je lokale bestandssysteem. Elke AI-client die MCP ondersteunt, kan die server direct gebruiken.
Een open, breed gedragen standaard
MCP is volledig open source en gedocumenteerd op modelcontextprotocol.io. Naast Anthropic ondersteunen inmiddels ook OpenAI (Agents SDK, Responses API en ChatGPT) en Google (Google Cloud en Workspace) het protocol, samen met tientallen toolmakers. De huidige specificatieversie is 2025-11-25.
De drie bouwstenen van MCP
MCP definieert drie kernconcepten die samen de interface vormen tussen een AI-model en een externe dienst.
Tools
Tools zijn functies die het model kan aanroepen. Een tool heeft een naam, een beschrijving in natuurlijke taal en een JSON Schema dat de parameters definieert. Het model beslist zelf wanneer het een tool aanroept op basis van die beschrijving. Voorbeelden:
search_files(query: string, path: string)om bestanden te doorzoekensend_email(to: string, subject: string, body: string)om mail te versturenquery_database(sql: string)om een SQL-query uit te voeren
Resources
Resources zijn data-objecten die het model kan lezen. Ze hebben een URI-schema (bijvoorbeeld file://, db:// of gdrive://) en retourneren tekst of binaire content. Resources zijn read-only en bedoeld voor context: het model laadt een resource in zijn contextvenster om er vragen over te beantwoorden.
Prompts
Prompts zijn herbruikbare prompt-templates die de server aanbiedt. Ze kunnen parameters accepteren en worden gebruikt om complexe instructies consistent te herhalen zonder ze telkens opnieuw te schrijven.
Hoe werkt de communicatie?
MCP gebruikt JSON-RPC 2.0 om berichten te coderen. De huidige specificatie definieert twee standaard transportmechanismen tussen de client (je AI-applicatie) en de server (de tool-provider):
- Stdio: de server draait als subprocess, de communicatie loopt via stdin en stdout. Dit is de aanbevolen keuze voor lokale tools.
- Streamable HTTP: de server draait als zelfstandige HTTP-dienst op een enkel MCP-endpoint dat zowel POST als GET ondersteunt. Geschikt voor remote servers, met optioneel Server-Sent Events (SSE) om meerdere serverberichten te streamen.
Het oudere HTTP+SSE-transport (uit specificatieversie 2024-11-05) is vervangen door Streamable HTTP en geldt als deprecated. Nieuwe servers gebruiken Streamable HTTP. WebSocket is geen standaard transport; het protocol staat wel zelfgebouwde, transport-agnostische varianten toe.
De verbinding start met een handshake waarbij client en server hun mogelijkheden uitwisselen (capability negotiation). Daarna kan de client een lijst van beschikbare tools, resources en prompts opvragen en vervolgens specifieke aanroepen doen.
Let op DNS-rebinding bij Streamable HTTP
Een lokaal draaiende HTTP-server moet de Origin-header valideren en alleen aan 127.0.0.1 binden, niet aan 0.0.0.0. Anders kan een kwaadaardige website via DNS-rebinding je lokale MCP-server benaderen. De specificatie schrijft deze checks expliciet voor.
MCP versus traditionele function calling
Voor MCP gebruikte elke AI-provider zijn eigen mechanisme voor tool-gebruik: OpenAI had function calling, Anthropic had tool use, Google had function declarations. Elk met een andere syntax, andere beperkingen en een andere integratie-aanpak.
| Aspect | Traditionele function calling | MCP |
|---|---|---|
| Standaard | Per provider anders | Open, universeel |
| Herbruikbaarheid | Nee, per model herschrijven | Ja, eenmalig bouwen |
| Runtime | In-process | Out-of-process (apart proces) |
| Taal | Zelfde als je app | Elke taal |
| Discovery | Statisch | Dynamisch via protocol |
Het grootste voordeel van MCP is herbruikbaarheid. Je bouwt een MCP-server voor je interne wiki eenmalig, en elke MCP-compatibele client, of dat nu Claude Desktop, Cursor, een eigen chatbot of een automatiseringspijplijn is, kan die server direct gebruiken.
MCP in de praktijk: Google Workspace
Voor Google Workspace-omgevingen is MCP bijzonder krachtig. Stel je voor dat je een AI-assistent hebt die:
- Documenten kan ophalen uit Drive
- Agenda-items kan aanmaken in Calendar
- E-mails kan opstellen en versturen via Gmail
- Spreadsheet-data kan lezen en analyseren vanuit Sheets
Zonder MCP bouw je dit als vier losse integraties in je applicatie. Met MCP bouw je vier MCP-servers (of een gecombineerde Workspace-server) en elke AI-client gebruikt ze automatisch. Google biedt inmiddels zelf beheerde remote MCP-servers aan voor diensten als BigQuery en Google Maps, en koppelt MCP aan zijn agent-platform.
Begin met bestaande MCP-servers
Er bestaan al kant-en-klare MCP-servers voor Gmail, Google Drive, Calendar en tientallen andere diensten. Kijk op github.com/modelcontextprotocol/servers voor de officiële lijst voordat je er zelf een bouwt.
Installatie en configuratie
De snelste manier om met MCP te starten is via Claude Desktop. Open het configuratiebestand:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Voeg een server toe:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/jij/documenten"]
}
}
}
Na een herstart van Claude Desktop verschijnen de server-tools in de interface. Je kan dan direct vragen: "Zoek alle PDF-bestanden in mijn documenten uit het laatste kwartaal."
Een MCP-server toevoegen in Claude Desktop
- Open het bestand
claude_desktop_config.jsonop de juiste locatie voor je besturingssysteem. - Voeg onder
mcpServerseen entry toe met eencommandenargs, zoals in het voorbeeld hierboven. - Bewaar het bestand en sluit Claude Desktop volledig af.
- Start Claude Desktop opnieuw en controleer of de nieuwe tools zichtbaar zijn.
- Test de server met een concrete vraag die de tool gebruikt.
Beveiliging en vertrouwen
MCP-servers draaien met de rechten van de gebruiker die ze start. Een server die filesystem-toegang heeft, kan bestanden lezen en schrijven. Installeer daarom alleen servers van vertrouwde bronnen en controleer de broncode bij twijfel.
Het protocol zelf regelt geen authenticatie of autorisatie: dat is de verantwoordelijkheid van de server-implementatie. Productieservers horen OAuth 2.0 of API-key-authenticatie te implementeren, en lokale HTTP-servers moeten de Origin-header valideren tegen DNS-rebinding.
Werkt MCP met ChatGPT?
Ja. OpenAI ondersteunt MCP sinds 2025 in de Agents SDK, de Responses API en in ChatGPT zelf via Developer Mode, inclusief schrijfacties. Claude Desktop en Cursor hebben eveneens uitgebreide MCP-ondersteuning.
Kan ik MCP-servers zelf bouwen?
Ja, in vrijwel elke programmeertaal. Officiële SDK's zijn beschikbaar voor onder andere Python, TypeScript, Java, Kotlin, C#, Go, Ruby, Rust en Swift. Controleer de actuele lijst en de stabiliteit per SDK op de officiële MCP GitHub-organisatie.
Is MCP geschikt voor productie?
Ja. De specificatie is stabiel en wordt breed gebruikt. Grote leveranciers zoals Anthropic, OpenAI en Google hebben MCP in hun platformen verwerkt, en talloze tools bieden kant-en-klare servers aan.
Wat is het verschil tussen Streamable HTTP en het oude SSE-transport?
Het oude HTTP+SSE-transport gebruikte aparte endpoints en is sinds specificatieversie 2025-03-26 vervangen door Streamable HTTP, dat alles via een enkel MCP-endpoint afhandelt. SSE-streaming bestaat nog wel binnen Streamable HTTP, maar als optie, niet als los transport. Voor nieuwe servers gebruik je Streamable HTTP.
Hoe verschilt MCP van LangChain-tools?
LangChain-tools zijn objecten die in hetzelfde proces als je applicatie draaien. MCP-servers zijn onafhankelijke processen met een gestandaardiseerde interface, waardoor ze taalonafhankelijk en herbruikbaar zijn over verschillende clients.
Werkt MCP ook met Google Gemini?
Ja. Google ondersteunt MCP binnen Google Cloud en Google Workspace en biedt zelf beheerde remote MCP-servers aan voor diensten zoals BigQuery en Google Maps, die je aan agents kunt koppelen.