Ga naar hoofdinhoud

MCP-sollicitatievragen: van beginner tot gevorderd (2026)

Bereid je voor op MCP-interviews met vragen over architectuur, tools, agents, beveiliging en systeemontwerp in de praktijk, allemaal getoetst aan de huidige protocolspec.
Bijgewerkt 5 jul 2026  · 6 min lezen

Anderhalf jaar geleden was het Model Context Protocol buiten Anthropic nog een nicheterm. Nu duikt het op in sollicitaties voor AI-engineering, developer relations en backend-rollen, omdat veel teams die agents uitrollen ergens in de stack een MCP-server of -client hebben.

MCP (Model Context Protocol) is een open protocol dat standaardiseert hoe AI-toepassingen verbinden met externe tools, data en prompttemplates. Het lost het N x M-integratieprobleem op: zonder gedeeld protocol heeft elke model-tool-combinatie zijn eigen connector nodig. Met MCP bouw je de connector één keer en kan elke compatibele host hem gebruiken. Je hoort weleens de vergelijking “de USB‑C van AI”: prima als eerste uitleg, maar niet veel meer dan dat.

Wat interviewers vragen hangt sterk van de rol af. Een junior developer moet misschien tools versus resources uitleggen. Een platform engineer krijgt eerder de vraag hoe een stateless protocolcore de uitrol verandert. Ik heb de gids ingedeeld op moeilijkheid en usecase, dus focus op de secties die bij jouw rol passen.

Timing is hier belangrijk, en ik noem het expliciet omdat MCP nog verandert. Op het moment van schrijven is de huidige stabiele spec 2025-11-25. Een release candidate voor 2026-07-28 is vastgezet en komt over ongeveer vier weken uit, dus alles uit die RC is als toekomstgericht gelabeld.

MCP-sollicitatievragen voor beginners

Deze komen in veel screenings terug, ongeacht senioriteit. Begin bij de woordenschat.

Wat is MCP en waarom is het gemaakt?

MCP is een open standaard, oorspronkelijk gebouwd door Anthropic en open source gemaakt in november 2024, om AI-toepassingen te verbinden met externe tools en databronnen. Simpeler gezegd: implementeer MCP één keer en je kunt met elke MCP-compatibele server praten in plaats van voor elke tool een nieuwe connector te schrijven.

Wat is een MCP-server?

Een server is een programma dat tools, resources en prompts beschikbaar maakt voor een MCP-client. Hij kan lokaal als subprocess over stdio draaien of als onafhankelijk, remote proces via HTTP bereikbaar zijn. De server weet niets van het model zelf; hij beantwoordt verzoeken volgens het protocol.

Wat is een MCP-client?

De client is de connector op protocolniveau binnen een hostapplicatie (denk aan Claude Desktop, VS Code of Cursor) en praat met telkens één server via JSON-RPC. Eén host kan meerdere clients draaien, die elk hun eigen één-op-één-verbinding met een server houden.

Hoe verschilt MCP van een gewone REST-API?

Een REST-API is geschreven voor developers om vanuit code aan te roepen. MCP is gebouwd zodat een LLM tijdens runtime kan ontdekken en aanroepen. Dat onderscheid weegt zwaarder dan het wireformat. Een client kan een server tools/list vragen en krijgt een gestructureerde beschrijving van de beschikbare mogelijkheden, iets wat een typische REST-API standaard niet biedt. Voor een enkele, simpele integratie is een directe API-call vaak sneller en goedkoper.

Welke soorten resources kan een server blootstellen?

Alles wat via een URI bereikbaar is: bestanden, databaseregels, documenten, configuratiewaarden, API-responses. Resources zijn alleen-lezen context, geen acties, wat beginners vaak door elkaar halen.

Interviewvragen over kernconcepten van MCP

Als de woordenschat zit, schakelen interviewers over naar hoe de onderdelen met elkaar praten.

Wat is de high-level architectuur?

Drie rollen: host, client, server. De host is de applicatie die iemand gebruikt. Die maakt één of meer clients aan, en elke client houdt een enkele verbinding met een server. Elk bericht tussen client en server is JSON-RPC 2.0, wat een stabiel wireformat geeft ongeacht de transportlaag.

Wat zijn de drie levenscyclusfasen van een verbinding?

Initialisatie, operatie en afsluiten. Tijdens initialisatie stuurt de client zijn ondersteunde protocolversie en capabilities, en de server reageert met de zijne. Zodra beide het eens zijn, verlopen normale verzoeken zoals tools/list en tools/call in de operatie-fase. Afsluiten is gewoon netjes sluiten.

Welke transports gebruikt MCP vandaag?

stdio voor lokale, subprocess-gebaseerde servers, en Streamable HTTP voor remote servers. Streamable HTTP verving het oudere HTTP-plus-SSE-transport in de 2025-03-26-spec, dus het beschrijven van twee losse SSE-endpoints is al verouderd.

Wat is het echte verschil tussen tools, resources en prompts?

Dit onderscheid gaat over controle, niet over datatype:

  • Tools staan onder controle van het model. De LLM beslist op basis van context wanneer er één wordt aangeroepen.
  • Resources staan onder controle van de applicatie. De host of gebruiker beslist wanneer er één wordt geladen.
  • Prompts staan onder controle van de gebruiker. Iemand kiest expliciet een template vóór de inferentie start.

Veel kandidaten definiëren dit op basis van het soort data, en missen daarmee de kern.

Interviewvragen over MCP-tools, -resources en -prompts

Als het controlemode helder is, volgt de vraag hoe deze primitieve onderdelen er in de praktijk uitzien.

Wat bevat een tooldefinitie?

Een name, een description, een inputSchema in JSON Schema, en sinds de 2025-06-18-spec een optionele outputSchema plus annotations die gedrag beschrijven, zoals of een tool read-only of destructief is. Clients moeten annotaties als onbetrouwbaar behandelen tenzij ze van een vertrouwde server komen. Het zijn hints, geen garanties.

Wanneer maak je iets een tool in plaats van een resource?

Als het een side-effect heeft of een verse, live berekening nodig heeft, is het een tool. Als het statische of semi-statische referentiedata zijn zonder side-effects, is het een resource. Een weercheck tegen een live API is een tool. Een gecachte lijst met ondersteunde steden is een resource.

Wat maakt een goede MCP-tool, los van dat hij werkt?

Ontwerp rond wat de gebruiker wil bereiken, niet rond de endpoints die je toevallig hebt. Een tool moet een complete workflow omhullen, niet één rauwe API-call. De beschrijving telt ook: die tekst gaat het modelcontext in en beïnvloedt of het model de juiste tool kiest. Hier is een minimaal voorbeeld met de FastMCP-laag van de Python-SDK:

from mcp.server.fastmcp import FastMCP

app = FastMCP("weather-demo")

@app.tool()
async def get_weather(city: str) -> str:
    """Get the current weather for a city."""
    return f"Weather data for {city}"

@app.resource("config://units")
async def get_units() -> str:
    """Static configuration for the unit system in use."""
    return '{"temperature": "celsius"}'

De docstring van de tool wordt de beschrijving; de resource is statische data achter een URI, zonder side-effects.

Hoe haalt een client een resource op?

Die roept resources/read aan op een URI die hij uit resources/list heeft gekregen. Als de server de listChanged-capability ondersteunt, kan hij de client melden wanneer de lijst met resources verandert. Zonder die capability heeft de client geen signaal en moet hij pollen of handmatig verversen.

Interviewvragen over MCP-serverontwikkeling

Hier moet conceptuele kennis omgezet worden in iets dat draait.

Welke officiële SDK's bestaan er, en zijn ze even volwassen?

Nee. SDK's zijn getierd: TypeScript, Python, C# en Go zitten in Tier 1 met volledige feature-ondersteuning, Java en Rust in Tier 2, en Swift, Ruby, PHP en Kotlin in Tier 3. De Python-SDK bevat FastMCP, de op decorators gebaseerde server-API.

Wat is de meest voorkomende bug die een lokale server breekt?

Schrijven naar stdout terwijl dat niet moet. Een stdio-transport gebruikt stdout exclusief voor JSON-RPC-berichten, dus een losse print() of console.log()-aanroep vervuilt de berichtstroom en laat de parser van de client vastlopen. Alles wat je voor debugging wilt loggen, moet naar stderr.

MCP Inspector toont tool en resource. Video door de auteur.

Hoe werkt foutafhandeling in MCP, en waarom is dat relevant in interviews?

Er zijn drie lagen. Transportfouten zijn verbindingsproblemen. Protocolfouten gebruiken standaard JSON-RPC-codes (-32700 voor een parse error, -32600 tot en met -32603 voor ongeldige verzoeken, onbekende methoden en vergelijkbare issues). Application-level fouten, zoals een API-call binnen je tool die een error teruggeeft, moeten terugkomen met isError: true in het toolresultaat zodat het model ze kan zien en erop kan reageren.

return {
    "content": [{"type": "text", "text": "Rate limit exceeded, try again later"}],
    "isError": True
}

Die vlag laat het model de fout zien en iets anders proberen.

Is MCP nu stateful?

Ja, sessies worden vandaag op verbindingsniveau bijgehouden. Dat levert schaalproblemen op voor productieteams, die ik in de sectie systeemontwerp behandel.

Interviewvragen over MCP-beveiliging en -governance

Beveiligingsvragen komen nu vaak terug in MCP-interviews, vooral voor platform- en enterpriserollen.

Hoe verschilt authenticatie tussen stdio- en HTTP-transports?

Voor lokale stdio-servers is authenticatie in de praktijk optioneel; je vertrouwt het proces dat je gestart hebt immers al. Voor HTTP-gebaseerde remote servers is OAuth 2.1 het raamwerk, en servers worden als OAuth 2.0 resource servers geclassificeerd sinds de 2025-06-18-spec. OAuth is niet overal in MCP vereist.

Wat is tool poisoning?

Dat zijn kwaadaardige instructies die verstopt zitten in de metadata van een tool, meestal de beschrijving of het schema, die het model leest terwijl het beslist welke tool aan te roepen. De tool hoeft niet te worden uitgevoerd om effect te hebben, omdat het model de instructies al zag toen de tool werd gelijst.

Hoe verschilt een rug pull-aanval van tool poisoning?

Tool poisoning is een instappuntprobleem. Een rug pull is een persistentieprobleem: een tool lijkt schoon wanneer je hem goedkeurt, daarna verandert de definitie, en de meeste clients hebben geen ingebouwde manier om hernieuwde goedkeuring af te dwingen. Verdedigen tegen het ene dekt het andere niet af.

Wat is Enterprise-Managed Authorization, en waarom is het nu belangrijk?

EMA is een MCP-extensie die op 18 juni 2026 stabiel is geworden. Het verplaatst de autorisatiebeslissing naar de identity provider van de organisatie in plaats van per-server toestemmingskliks door elke medewerker. De client krijgt tijdens single sign-on een ondertekende Identity Assertion JWT en wisselt die in voor een gescope access token bij de authorization server van de server. Anthropic, Microsoft en Okta ondersteunen het.

Interviewvragen over MCP en AI-agents

Hier raakt het protocol aan agentontwerp.

Waarom is MCP specifiek belangrijk voor agents?

Agents hebben context en actie nodig. MCP stopt beide in één protocol. Zoals eerder genoemd, laat tools/list een agent ontdekken wat beschikbaar is, in plaats van te vertrouwen op een hardgecodeerde lijst in de agentcode.

Diagram dat laat zien dat de host en client van een AI-agent via JSON-RPC verbinden met een MCP-server die tools, resources en prompts aanbiedt.

Model met agent-host, client en server. Afbeelding door de auteur.

Wat is het verschil tussen MCP en A2A?

De korte regel: MCP verbindt agents met tools, A2A verbindt agents met andere agents. Beide protocollen vallen nu onder de Agentic AI Foundation, dus ze worden meestal als aparte lagen besproken, niet als concurrenten.

Wat is de sampling-primitief, en moet ik die nog noemen?

Sampling laat een server via de client een modelcompletion aanvragen, waardoor een server agentachtig gedrag kan draaien zonder API-sleutels te beheren. Ken de primitief, maar voeg de kanttekening toe: de 2026-07-28 RC markeert Sampling, Roots en Logging als deprecated onder het nieuwe feature-lifecyclebeleid. Ze blijven minimaal twaalf maanden functioneren, maar serverauteurs krijgen steeds vaker het advies om direct de API van een modelprovider aan te roepen.

Hoe voorkomen agents dat hun context window ontploft door tooldefinities?

Door niet alle tooldefinities vooraf te laden. Anthropic's Tool Search stelt het laden van toolschema's uit tot ze nodig zijn, en de technische write-up meldt 85% minder tokengebruik voor omgevingen met veel tools, terwijl de volledige bibliotheek bereikbaar blijft. In een interviewantwoord zou ik uitgesteld laden combineren met smal gescope servers.

Interviewvragen over MCP-systeemontwerp

Scenariovragen testen of je deze ideeën onder beperkingen kunt toepassen, niet alleen definities kunt opdreunen.

Ontwerp een documentsysteem voor retrieval met MCP.

MCP en RAG concurreren hier niet. RAG verzorgt vooraf geïndexeerde vector-retrieval; MCP stelt die retrieval live bloot als een tool of resource die de agent kan aanroepen, naast andere acties die de agent nodig heeft. Behandel de vraag als: hoe passen de twee samen, niet: welke vervangt welke.

Ontwerp een MCP-server voor interne bedrijfsdata.

Begin met single responsibility: één server per domein, zoals een databaseserver en een aparte fileserver, in plaats van één server die alles doet. Voeg vanaf het begin OAuth 2.1 toe, least-privilege scopes per tool, en auditlogging, want toegangsbeheer is lastiger te repareren nadat een server live is.

Hoe zou je vandaag een MCP-implementatie schalen, vóórdat de stateless spec live is?

Kandidaten struikelen vaak door de toekomstige spec te beschrijven alsof die al live is. De statefulness uit de serversectie is hier het schaalprobleem: horizontaal schalen vraagt sticky routing, een gedeelde session store of een MCP-gateway. De 2026-07-28 RC haalt protocolsessies weg, maar dat is nog niet live.

Hoe voorkom je dat een grote deployment met meerdere servers het model in tokens laat verdrinken?

Het idee van uitgesteld laden uit de agentsectie helpt hier ook. Op deploymentniveau: filter en aggregeer data aan de serverkant voordat het de modelcontext bereikt, en paginaeer alles wat een lijst teruggeeft. De hoofdregel is: beheer wat het contextvenster binnenkomt.

Interviewvragen over MCP-integratie

Integratievragen checken of je begrijpt waar MCP opduikt in gangbare ontwikkeltools.

Hoe verschijnt MCP binnen Claude-producten?

Claude.ai, Claude Desktop en Claude Code ondersteunen allemaal MCP, en Anthropic beheert een connector-directory met kant-en-klare servers. Er is ook een MCP-connector in de Messages API voor remote servers, nog in bèta op het moment van schrijven.

Ontwikkelaarsinstellingen van Claude Desktop met een lokaal verbonden MCP-server met één beschikbare tool.

Claude Desktop met verbonden MCP-server. Afbeelding door de auteur.

Is MCP alleen nuttig met Claude?

Nee. OpenAI nam MCP over in de Agents SDK en Apps SDK vanaf maart 2025. VS Code leverde midden 2025 ondersteuning voor de volledige spec, Cursor ondersteunt MCP via mcp.json, en Google Cloud had in april 2026 meer dan 50 beheerde MCP-servers die algemeen beschikbaar waren of in preview.

Hoe verschilt MCP concreet van RAG?

Dit is het antwoord uit systeemontwerp in korter formaat: RAG beantwoordt vanuit een geüpdatete kennisbank, terwijl MCP live opvragingen en acties afhandelt.

Gevorderde MCP-sollicitatievragen

Gevorderde vragen toetsen of je het protocol volgt terwijl het verandert, niet alleen hoe het vandaag werkt.

Kun je de versiegeschiedenis van de spec doornemen?

Interviewers vragen dit om te zien wat er veranderd is en wanneer. Vijf revisies zijn relevant, en slechts één is nog speculatief:

Versie

Datum

Wat is veranderd

2024-11-05

Nov 2024

Eerste release

2025-03-26

Mrt 2025

Streamable HTTP vervangt HTTP+SSE; OAuth 2.1 geïntroduceerd

2025-06-18

Jun 2025

Gestructureerde tooloutputs, elicitation, OAuth resource server-classificatie

2025-11-25

Nov 2025

Huidige stabiele spec; async Tasks (experimenteel), governance geformaliseerd

2026-07-28

RC vastgezet mei 2026

Stateless core, MCP Apps, extensiekader

Het belangrijkste is weten welke rij echt live is.

Wie bestuurt MCP nu eigenlijk?

Anthropic droeg het protocol op 9 december 2025 over aan de Agentic AI Foundation, een gericht fonds onder de Linux Foundation. Block en OpenAI richtten samen met Anthropic de AAIF op, met Google, Microsoft, AWS, Cloudflare en Bloomberg als ondersteunende leden. De maintainers behielden de technische besluitvorming; governance verhuisde naar een bredere stichting.

Wat verandert er concreet in de release van 2026-07-28?

De grootste verandering is de stateless core uit de systeemontwerpsectie: de initialize/initialized-handshake en de Mcp-Session-Id-header verdwijnen, vervangen door capability-informatie die in _meta op elk verzoek meegaat. Dat haalt de eis voor sticky routing weg. Een extensiekader definieert ook hoe optionele capabilities zoals MCP Apps en Tasks los van elkaar uitkomen en stabiliseren.

Wat zijn MCP-extensies, en werken ze overal?

Nee. Extensies zijn opt-in-capabilities, zoals Enterprise-Managed Authorization, OAuth Client Credentials voor machine-tot-machine-auth, en MCP Apps voor interactieve UI binnen een host. Ondersteuning verschilt per client, dus ontwerp niet op basis van universele extensie-ondersteuning.

Scenario-gebaseerde MCP-sollicitatievragen

Deze testen diagnosevermogen meer dan feitenkennis, dus structureer antwoorden van symptoom naar oorzaak naar oplossing.

Tool-calls falen af en toe. Wat check je eerst?

Kijk of de fouten terugkomen als isError: true in het toolresultaat of als een protocolfout. Dat vertelt je of het probleem in de logica van de tool zelf zit of in het transport. Kijk daarna naar rate limits van wat de tool aanroept, en check op time-outs voordat je aanneemt dat het een modelprobleem is.

Een agent blijft handelen op verouderde resourcedata. Hoe komt dat?

Dit grijpt terug op de eerdere resourcevraag: listChanged is wat een client vertelt dat een resource is veranderd. Zonder die declaratie heeft de client geen signaal en blijft hij een gecachte snapshot serveren totdat iets een refresh afdwingt.

Eén MCP-server is een duidelijke bottleneck geworden. Wat doe je?

Splits langs domeinlijnen, voeg connection pooling toe en schaal horizontaal. Totdat de stateless core live is, heb je mogelijk nog steeds de sessie-affiniteit nodig die bij systeemontwerp is besproken.

Gevoelige data lekte via een tool-call. Hoe kon dat gebeuren?

Twee veelvoorkomende oorzaken zijn een tool met bredere rechten dan nodig, of ontbrekende outputsanitisatie voordat data de modelcontext in ging. Least privilege per tool en een sanitisatiestap vóór context zijn de fixes. Tool poisoning is hieraan verwant: een model kan geïnstrueerd worden om data door te sturen zonder dat iemand exfiltratiecode schrijft.

Veelgemaakte fouten in MCP-interviews

Een paar patronen komen vaak genoeg voor om expliciet te noemen:

  • MCP behandelen als een drop-in vervanging voor REST, na het eerder genoemde REST-onderscheid

  • Tools versus resources definiëren op datatype nadat het controlemode al is uitgelegd

  • Aannemen dat dezelfde auth-regel geldt voor stdio en HTTP

  • Het legacy SSE-antwoord geven na de eerder genoemde transportwijziging

  • De live spec vermengen met de 2026-07-28 RC

  • De hierboven behandelde beveiligingsrisico's overslaan wanneer je een tool-calling-systeem ontwerpt

De meeste van deze fouten komen uit oudere tutorials.

Hoe je je voorbereidt op MCP-interviews

Hands-on oefenen is belangrijk bij dit protocol.

  • Bouw een kleine server met FastMCP of de TypeScript-SDK, stel één tool en één resource bloot, en krijg hem draaiend

  • Installeer de officiële Inspector (npx @modelcontextprotocol/inspector) en bekijk het ruwe JSON-RPC-verkeer dat je te zien krijgt

  • Verbind je server met een echte client, Claude Desktop, VS Code of Cursor, en kijk hoe de initialisatiehandshake verloopt

  • Lees de echte spec-changelog in plaats van een tweedehands samenvatting, vooral de entries van 2025-06-18 en 2025-11-25

  • Kies één systeemontwerpscenario uit dit artikel en schrijf vóór je interview een volledig antwoord uit

Deze stappen onderscheiden definitiekennis van praktijkervaring.

Conclusie

Ik denk niet dat het nog genoeg is om MCP-definities te memoriseren. Het lastige deel is weten welk antwoord bij welke specversie hoort. Huidige deployments hebben nog te maken met sessies op verbindingsniveau; de 2026-07-28 RC wijst naar een stateless core. Als je die twee door elkaar haalt, klinkt je architectuurantwoord zelfverzekerd maar niet accuraat.

Daarom zou ik MCP zien als iets om te testen, niet alleen om over te lezen. Bouw de kleine server uit de voorbereidingssectie, kijk hoe een client tools lijst en resources leest, en let op waar het protocol stopt en je applicatieontwerp begint. Het nuttige interviewantwoord is niet “MCP is de USB‑C van AI.” Het is “dit is wat MCP standaardiseert, dit niet, en dit is wat er recent veranderde.”

Voor een meer gestructureerd vervolg behandelt onze cursus Building Scalable Agentic Systems MCP en A2A in de context van agentontwerp, testen en uitrol.


Khalid Abdelaty's photo
Author
Khalid Abdelaty
LinkedIn

Ik ben een data-engineer en communitybouwer die werkt aan datapijplijnen, cloud en AI-tools, en tegelijkertijd praktische, impactvolle tutorials schrijft voor DataCamp en beginnende developers.

FAQs

Moet ik elke specversiedatum uit mijn hoofd leren?

Nee. Ken de volgorde en wat er bij elke stap veranderde, vooral de transportswitch en welke versie live is gegaan. Interviewers vinden het belangrijker dat je kunt redeneren waarom een verandering is doorgevoerd dan dat je de exacte datum kunt opdreunen.

Sampling wordt uitgefaseerd. Is het nog de moeite waard om te leren?

Ja, voorlopig wel. Het blijft minimaal een jaar volledig functioneel nadat de deprecatie live gaat. Weet waarom het wordt uitgefaseerd: security exposure, plus beperkte adoptie vergeleken met de complexiteit.

Met welke SDK moet ik beginnen als ik nog nooit met MCP heb gewerkt?

Python met FastMCP is het eenvoudigste startpunt omdat de op decorators gebaseerde API het meeste boilerplate verbergt. Gebruik TypeScript als je stack al zwaar op JavaScript leunt; die SDK is ook Tier 1.

Blijft MCP relevant zodra de 2026-07-28-spec live is?

Waarschijnlijk wel. De stateless core die eerder is besproken, is bedoeld om de schaalproblemen in productie op te lossen waar teams tegenaan liepen. Dat een protocol onder druk eenvoudiger wordt, is vaak een teken van volwassenheid, niet van verval.

Hoe technisch worden MCP-interviews op beginnersniveau eigenlijk?

Dat verschilt per rol. Een algemene AI-engineering-screening stopt mogelijk bij host versus client versus server en tools versus resources. Een platform- of infrastructuurrol kan snel in transports en auth duiken, ook op relatief junior niveau.

Onderwerpen

Leer met Datacamp

Cursus

Schaalbare Agentic-systemen bouwen

1 Hr 30 Min
16K
Ontdek wat er nodig is om AI-agenten op te schalen, met een beetje hulp van frameworks zoals MCP en A2A.
Bekijk detailsRight Arrow
Begin met de cursus
Meer zienRight Arrow