Wat is MCP? Model Context Protocol uitgelegd

De open standaard die AI-modellen verbindt met tools, bestanden en services — denk aan USB-C voor AI-integraties

8 min leestijd Bijgewerkt: april 2026

🔌 Wat is MCP?

The Model Context Protocol (MCP) is een open standaard gepubliceerd door Anthropic in december 2024 die een universele interface definieert voor het verbinden van AI-modellen met externe tools, gegevensbronnen en services. Voor MCP was elke AI-integratie een op maat gemaakte, eenmalige implementatie. MCP standaardiseert hoe AI-clients communiceren met externe mogelijkheden — zodat één integratie werkt met elk compatibel AI-systeem.

MCP is een client-serverprotocol: MCP-clients zijn AI-systemen (zoals Claude, Cursor, VS Code met Copilot) die externe mogelijkheden willen gebruiken. MCP-servers zijn services die die mogelijkheden blootleggen (GitHub, een database, een bestandssysteem, een webbrowser) via een gestandaardiseerde API die elke MCP-client kan gebruiken.

💡 Belangrijk inzicht: MCP maakt AI niet slimmer — het maakt AI beter verbonden. De intelligentie blijft in het model; MCP levert de infrastructuur die die intelligentie in staat stelt om op real-world data en services te handelen.

🔋 De USB-C-metafoor

Voor USB-C had elk apparaat zijn eigen propriëtaire connector — een telefoonlader werkte niet met een laptop, een displaykabel werkte niet met opslagapparaten. USB-C loste dit op met één universele standaard: één poort, één kabel, oneindig veel apparaten.

AI-integraties vóór MCP waren hetzelfde chaos. Het verbinden van Claude met GitHub vereiste custom code. Het verbinden van GPT-4 met dezelfde GitHub API vereiste andere custom code. Het toevoegen van een nieuwe tool betekende het opnieuw bouwen van integraties vanaf nul voor elk AI-platform.

MCP is USB-C voor AI. Eén standaard:

  • Bouw een MCP-server één keer — elke MCP-client kan hem gebruiken
  • Neem een nieuw AI-model aan — uw bestaande MCP-servers werken onmiddellijk
  • Het ecosysteem van MCP-servers groeit onafhankelijk van de ontwikkeling van AI-modellen

⚙️ Hoe MCP Werkt

MCP gebruikt een JSON-RPC 2.0-protocol over een transportlaag (stdio voor lokale servers, HTTP/SSE voor remote servers). De communicatie volgt een levenscyclus van initialisatie, capability discovery, en request handling.

Drie kernprimitieven

PrimitiveWat het blootlegtExample
Tools Functies die de AI kan aanroepen (model-controlled) search_github_issues, run_sql_query, send_email
Resources Data die de AI kan lezen (application-controlled) file:///workspace/src, db://customers/schema
Prompts Herbruikbare prompt-sjablonen (door gebruiker beheerd) code-review, summarize-pr, explain-error

De communicatieflow

  1. Initialiseren: Client maakt verbinding met server, wisselt protocolversie en capabilities uit
  2. Ontdekken: Client vraagt lijst op van beschikbare tools, resources en prompts
  3. Aansturen: AI-model besluit een tool aan te roepen; client stuurt het verzoek naar de server
  4. Teruggeven: Server voert de actie uit en geeft gestructureerde resultaten terug aan de client
  5. Doorgaan: AI-model verwerkt de resultaten en zet het redeneren voort

Transportopties

TransportBeste voorNotes
stdio Lokale tools, CLI-integraties Client start server als subprocess; eenvoudigste setup
HTTP + SSE Remote/cloud services, gezamenlijke teams Server draait onafhankelijk; ondersteunt auth-headers
WebSocket Realtime bidirectioneel (concept) Voorgesteld voor streaming use-cases

🔄 MCP vs Function Calling

Function calling (toolgebruik) is een functie ingebouwd in specifieke AI-API's — OpenAI, Anthropic, Google — die je toestaat om aangepaste functies te definiëren die het model kan aanroepen. MCP is een laag boven of naast function calling die standaardiseert hoe die functies worden ontdekt en verbonden.

Function CallingMCP
Scope API-specifiek, per-aanvraag Cross-platform, gestandaardiseerd
Discovery Hardcoded in je API-aanroep Dynamisch — server adverteert capabilities
Portability Gekoppeld aan één AI-provider Werkt met elke MCP-compatibele client
Resources Niet gestandaardiseerd Eerste-klasse primitie f (bestanden, DB's, URI's)
Beste voor Eenvoudige, single-provider use-cases Multi-tool, multi-model productieomgevingen

In de praktijk gebruiken MCP-servers vaak function calling intern — MCP levert de discovery en connectielaag, terwijl function calling de daadwerkelijke LLM-tot-tool-aanroep afhandelt.

🏢 Wie ondersteunt MCP

De adoptie van MCP is snel gegroeid sinds de lancering in december 2024. Per april 2026 omvat het ecosysteem:

AI-clients met MCP-ondersteuning

  • Claude (Anthropic) — native MCP-ondersteuning in Claude.ai en Claude Code
  • Cursor — MCP-servers voor code-aware AI-assistentie
  • VS Code (GitHub Copilot) — MCP-integratie in agent-modus
  • Windsurf (Codeium) — MCP-serverondersteuning
  • Continue.dev — open-source IDE-assistent met MCP

Populaire MCP-servers

  • Filesystem — lees/schrijf lokale bestanden (officieel Anthropic)
  • GitHub — repos, PR's, issues, code search
  • PostgreSQL / SQLite — database query en schema-exploratie
  • Brave Search / Exa — web search zonder API-keys
  • Puppeteer / Playwright — browserautomatisering
  • Slack / Linear / Notion — integraties voor productiviteitstools
📦 MCP-servers vinden: The officiële MCP-servers repository en community-registries zoals mcp.so vermelden honderden beschikbare servers.

🚀 Aan de slag met MCP

Optie 1: Gebruik bestaande MCP-servers (5 minuten)

De snelste manier om MCP te ervaren is met Claude Desktop en vooraf gebouwde servers. Bewerk je Claude Desktop-config op ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/yourname/Documents"]
    },
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_..." }
    }
  }
}

Optie 2: Bouw een MCP-server (30 minuten)

Officiële SDK's zijn beschikbaar voor TypeScript, Python en Kotlin:

// TypeScript MCP server example
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";

const server = new Server({ name: "my-server", version: "1.0.0" });

server.setRequestHandler("tools/list", async () => ({
  tools: [{
    name: "get_weather",
    description: "Get current weather for a city",
    inputSchema: {
      type: "object",
      properties: { city: { type: "string" } },
      required: ["city"]
    }
  }]
}));

server.setRequestHandler("tools/call", async (request) => {
  const { city } = request.params.arguments;
  // ... fetch weather data
  return { content: [{ type: "text", text: `Weather in ${city}: sunny, 22°C` }] };
});

const transport = new StdioServerTransport();
await server.connect(transport);

🔐 MCP Beveiligingsoverwegingen

De kracht van MCP — AI-modellen toegang geven tot tools, bestanden en services — brengt ook beveiligings risico's mee waar ontwikkelaars tegen moeten ontwerpen.

RiskDescriptionMitigation
Prompt-injectie via MCP Kwaadaardige inhoud in toolresultaten manipuleert de AI Sanitiseer tooloutput; gebruik aparte reasoning- en action-modellen
Overprivileged servers MCP-server heeft meer permissies dan nodig Principe van minste privilege; waar mogelijk read-only
Confused deputy AI acteert namens een aanvaller zonder gebruikersbewustzijn HITL-bevestiging voor destructieve/onomkeerbare acties
Server supply chain Kwaadaardige third-party MCP-server exfiltreert data Gebruik alleen vertrouwde, geaudite servers; beoordeel servercode
⚠️ Geef MCP-servers nooit toegang die je een ontwikkelaarstagiair ook niet zou geven. Als je een nieuwe medewerker geen willekeurige databasequeries zou laten uitvoeren, geef je MCP-server dan geen onbeperkte database-toegang. Ontwerp de permissies van je MCP-server net zo zorgvuldig als je elke API ontwerpt.

Voor een diepere duik in AI-beveiligingskwetsbaarheden — inclusief hoe prompt-injectie kan worden gewapend via MCP-toolresultaten — zie onze gids: Prompt Injectie Uitleg.