MCP (Model Context Protocol) is een open standaard om AI-assistenten aan andere software te koppelen. De maker van een boekhoudpakket of webshopplatform bouwt één MCP-server, een koppelstuk dat zijn product openstelt voor AI. Elke AI-toepassing die MCP ondersteunt, kan die server dan gebruiken, bijvoorbeeld om een factuur op te zoeken of een taak aan te maken, zonder aparte koppeling per assistent.
Waar komt het vandaan?
Anthropic bracht MCP op 25 november 2024 uit als open standaard, met een specificatie, SDK's en kant-en-klare servers voor Google Drive, Slack, GitHub en andere systemen. Het probleem dat Anthropic noemde: elke nieuwe gegevensbron vraagt om een eigen koppeling op maat. De officiële documentatie vergelijkt MCP met een USB-C-poort voor AI-toepassingen.
In december 2025 droeg Anthropic MCP over aan de Agentic AI Foundation, een fonds onder de Linux Foundation dat het samen met Block en OpenAI oprichtte. Volgens Anthropic hadden ChatGPT, Cursor, Gemini, Microsoft Copilot en Visual Studio Code MCP toen al in gebruik genomen, en waren er meer dan 10.000 openbare MCP-servers actief. Op 10 februari 2026 opende Chrome een vroege preview van WebMCP, een browser-API voorgesteld door ontwikkelaars van Microsoft en Google waarmee een webpagina haar eigen tools aan AI-agents aanbiedt, als een MCP-server binnen de pagina.
Hoe werkt het?
Het architectuuroverzicht noemt drie rollen:
- De host is de AI-toepassing, zoals Claude Desktop of Visual Studio Code.
- De host maakt per server één client aan, en elke client onderhoudt één verbinding.
- De server biedt tools en gegevens aan, op dezelfde machine via standaardinvoer en -uitvoer (stdio) of op afstand via Streamable HTTP, met OAuth als aanbevolen manier van inloggen.
Berichten gebruiken JSON-RPC 2.0. Servers bieden tools (functies die het model kan aanroepen, zoals een databasequery), resources (gegevens om alleen te lezen, zoals bestanden, gekozen door de toepassing) en prompts (sjablonen die de gebruiker kiest). De client haalt de lijst met tools op met tools/list en voert een tool uit met tools/call.
Het model spreekt zelf geen MCP. In de handleiding voor een client geeft de client de tools van de server als gewone tooldefinities aan het model en voert hij de toolaanroepen van het model uit via de server: een MCP-tool bereikt het model via function calling.
De versie van 28 juli 2026, in september 2026 de actuele, schrapte de openingshandshake. Elk verzoek bevat nu zelf zijn protocolversie en mogelijkheden, en een client kan met server/discover vragen wat een server ondersteunt.
Waar gaat het mis?
- Onbetrouwbare servers. Tools kunnen willekeurige code uitvoeren, en een toolbeschrijving kan instructies verbergen die het model leest en de gebruiker nooit ziet. Invariant Labs noemde dat in april 2025 tool poisoning, een vorm van prompt-injectie. De specificatie zegt dat de host de gebruiker om toestemming moet vragen voordat een tool draait, en dat hij toolbeschrijvingen van onbetrouwbare servers moet wantrouwen. Het protocol kan dat niet afdwingen; de toepassing moet het doen.
- Een vol contextvenster. De meeste clients laden alle tooldefinities vooraf in het contextvenster, en elk tussenresultaat gaat door het model. Anthropic schreef in november 2025 dat agents met duizenden tools dan honderdduizenden tokens verwerken voordat ze een verzoek lezen. De oplossing van Anthropic is het model de tools vanuit code te laten aanroepen, zoals bij programmatic tool calling.
- Gegevens verspreid over servers. Een vraag die twee systemen raakt, laat de agent bij beide servers gegevens ophalen en de resultaten in zijn contextvenster combineren. Dinobase, een opensourcetool, zet zulke gegevens in plaats daarvan achter één SQL-querylaag. In zijn eigen benchmark uit april 2026 won die aanpak van tools per bron, die Dinobase zelf had gesimuleerd (meer over die benchmark).
Voorbeeld
Stel: een webshopplatform biedt een MCP-server met twee tools, get_order_status en create_return. Een medewerker voegt de server toe in Claude Desktop. Op de vraag "is bestelling 1042 al verzonden?" roept het model get_order_status aan via de server en antwoordt het met de echte status. Voordat create_return draait, vraagt de toepassing de medewerker om toestemming, zoals de specificatie verwacht. Dezelfde server werkt zonder aanpassing in een andere MCP-toepassing, zoals Cursor.
Bronnen
- Anthropic: Introducing the Model Context ProtocolRSS
- Model Context Protocol: Specification, version 2026-07-28Web
- Model Context Protocol: Architecture overviewWeb
- Anthropic: Donating the Model Context Protocol and establishing the Agentic AI FoundationRSS
- Anthropic: Code execution with MCP, building more efficient agentsRSS
- Invariant Labs: MCP security notification, tool poisoning attacksRSS
