Waar MCP vandaan komt en welk probleem het oplost
Anthropic maakte Model Context Protocol op 25 november 2024 open om losse integraties te vervangen door een open manier om AI-assistenten met content, bedrijfstools en ontwikkelomgevingen te verbinden. [1]
MCP vervangt geen databases of REST-API's. Een MCP-server staat doorgaans boven een bestaand systeem en maakt de mogelijkheden begrijpelijk voor compatibele AI-hosts. [1][4]
Wat MCP standaardiseert en wat niet
MCP standaardiseert discovery en aanroepen van tools, het aanbieden van resources en herbruikbare prompttemplates. [4][5][6][7]
Businesslogica, datamodel en bedrijfsrechten blijven verantwoordelijkheden van de implementatie. [5][8]
Architectuur in de praktijk: host, client en server
| Element | Rol |
|---|---|
| Host | AI-applicatie die model, gebruiker en MCP-verbindingen coördineert. |
| MCP-client | Protocolcommunicatielaag voor een specifieke server. |
| MCP-server | Biedt mogelijkheden aan en koppelt ze aan externe data of systemen. |
| Tools | Acties die het model kan aanroepen. |
| Resources | Data en context met een URI. |
| Prompts | Herbruikbare prompttemplates. |
De klassieke MCP-architectuur scheidt host, client en server. De host is de AI-app, de client implementeert protocolcommunicatie en de server biedt data en acties. De huidige versie houdt die rollen aan, maar vereist geen HTTP-sessiestatus tussen requests. [15][2]
Een host kan meerdere MCP-servers gebruiken, bijvoorbeeld GitHub, tickets en een interne kennisbank. [12][15]
Tools, resources en prompts: de kernprimitieven
`Tools` zijn acties die het model kan aanroepen en hebben naam, beschrijving en invoerschema. [5]
`Resources` bieden data via URI; `prompts` bieden herbruikbare prompttemplates. [6][7]
STDIO, Streamable HTTP en het oude SSE-transport
| Transport | Typisch gebruik |
|---|---|
| STDIO | Lokaal proces, CLI, IDE, ontwikkelaarstools. |
| Streamable HTTP | Externe server, SaaS, productie-infrastructuur. |
| HTTP+SSE | Verouderd HTTP-transport, deprecated sinds 2026-07-28. |
STDIO past bij lokale servers die als proces worden gestart. Streamable HTTP is bedoeld voor externe netwerkdiensten. [4][2]
Sinds `2026-07-28` is de remote kern stateless. Legacy HTTP+SSE is officieel deprecated met minimaal twaalf maanden overgang. [2]
Hoe een tool call er in huidig MCP uitziet
POST /mcp HTTP/1.1
MCP-Protocol-Version: 2026-07-28
Mcp-Method: tools/call
Mcp-Name: search
Content-Type: application/json
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "search",
"arguments": {"q": "invoice 2026"}
}
}
Sinds `2026-07-28` zijn `initialize` en `Mcp-Session-Id` niet verplicht. Een request kan versie, clientinformatie en capabilities dragen; `server/discover` is optioneel. [2]
Met Streamable HTTP maken `Mcp-Method` en `Mcp-Name` routing en metering mogelijk zonder het volledige JSON-body te parseren. [2]
Praktisch voorbeeld: agent met een ticketsysteem
Een MCP-server kan `search_tickets`, `get_ticket` en `update_ticket` als tools aanbieden, documentatie als resources en een prompt voor incidentanalyse. De host ontdekt de catalogus, het model kiest een actie en de server vertaalt die naar de interne API. [5][6][7]
Dezelfde server kan daarna door meerdere compatibele hosts worden hergebruikt. [4][12]
Autorisatie: OAuth 2.1, Bearer-tokens en Client ID Metadata Documents
Voor HTTP gebruikt MCP OAuth 2.1-concepten en discovery-standaarden. Tokens gaan via `Authorization: Bearer` en niet via query strings. [8]
Audience validation en PKCE horen bij de beveiliging. Dynamic Client Registration wordt officieel uitgefaseerd ten gunste van Client ID Metadata Documents. [2][8]
Beveiliging: MCP betekent geen volledig vertrouwen
Servers moeten invoer valideren, toegangscontrole afdwingen, calls limiteren en uitvoer opschonen. Clients horen gevoelige acties te bevestigen, argumenten te tonen, timeouts te gebruiken en calls te loggen. [5]
Least privilege blijft essentieel. Een documentatieserver hoort geen rechten te hebben om productiedata te verwijderen. [5][8][13]
MCP Apps: wanneer een tool een interface nodig heeft
MCP Apps is een officiële extensie voor formulieren, dashboards en interactieve visualisaties. Een tool verwijst naar een `ui://`-resource die de host in een sandboxed iframe kan renderen. [9]
Communicatie blijft gestructureerd en auditbaar; hosts kunnen toestemming eisen voor UI-geïnitieerde tool calls. [9]
Tasks: lange processen zonder verbinding open te houden
MCP Tasks laat een server een duurzame task handle teruggeven in plaats van de verbinding te blokkeren. De client vraagt later status en resultaat op. [10]
CI, batchjobs, deployments, externe queues en menselijke goedkeuringen zijn typische toepassingen. [10][2]
Adoptie: Anthropic, OpenAI, GitHub en ontwikkelaarstools
OpenAI ondersteunt remote MCP-servers in Responses API sinds mei 2025 en trad toe tot het MCP steering committee. [11]
GitHub Copilot ondersteunt MCP in IDEs, CLI, Copilot-app en cloud agent en biedt registry- en enterprise-beheer. [12][13][14]
MCP versus REST API en function calling
REST beschrijft een algemene systeeminterface, function calling hoe een specifiek model functies aanvraagt. MCP voegt een gedeelde discovery-, schema- en communicatielaag toe tussen AI-host en toolserver. [4][5]
Bij één model en een paar interne functies kan MCP onnodig zijn. Bij meerdere hosts of een herbruikbare integratie wordt het voordeel groter. [4][11][12]
Checklist voor een productie-MCP-server
Begin met weinig, duidelijke tools, gevalideerde schema's en minimale rechten. [5][8]
Gebruik voor remote servers actueel Streamable HTTP, autorisatie, metrics, rate limiting en tracing en behandel compatibiliteit bewust. [2][8]
- Bouw voor `2026-07-28`.
- Beperk tools en rechten tot het minimum.
- Valideer alle argumenten en resultaten.
- Vraag bevestiging voor gevoelige acties.
- Implementeer bij HTTP OAuth en audience validation correct.
- Gebruik rate limiting, timeouts, audit logs en tracing.
- Geef een server geen onnodige secrets.
- Test hostcompatibiliteit en foutafhandeling.
Wat in 2026 veranderde en waar MCP naartoe gaat
`2026-07-28` bracht de stateless kern, verwijderde handshake en sessies, maakte lijsten cachebaar, voegde header-routing, formele extensies en strengere autorisatie toe. Roots, Sampling en Logging zijn deprecated voor nieuwe implementaties. [2]
De roadmap van augustus 2026 richt zich op agent messaging, webhooks, events, HTTP-unificatie, agent identity, enterprise security en betere SDK-ervaring. Dit zijn richtingen, niet allemaal huidige functies. [3]

