← Terug naar home
Uitleg
Model Context Protocol

MCP-server: wat het is en hoe het werkt

Een MCP-server laat AI-toepassingen zoals Claude en ChatGPT veilig met uw systemen werken. Hier leest u hoe het protocol in elkaar zit, waar het in de praktijk misgaat en wanneer u er zelf een moet bouwen.

Door Assim ElHammouti, Oprichter en lead engineer, NordbeamBijgewerkt

Kort antwoord

Wat is een MCP-server?

Een MCP-server is een programma dat via het open Model Context Protocol tools en gegevens van een systeem aanbiedt aan AI-toepassingen zoals Claude en ChatGPT, die ze gecontroleerd aanroepen. Nordbeam, een AI-ontwikkelstudio in Göteborg en Malmö, bouwt zulke servers en beheert met Nordsynk er zelf een.

Standaard
Model Context Protocol (open)
Transport
stdio of Streamable HTTP
Berichten
JSON-RPC 2.0

01 — Definitie

Wat is het Model Context Protocol?

MCP staat voor Model Context Protocol, een open protocol dat beschrijft hoe AI-toepassingen context en acties van externe systemen ophalen. Een MCP-server is het programma aan de kant van dat systeem: het biedt tools (acties die het model mag aanroepen), resources (gegevens die als context dienen) en prompts (herbruikbare sjablonen) aan.

Het probleem dat MCP oplost is een telprobleem. Zonder standaard bouwt elke AI-toepassing een eigen koppeling met elk systeem. Met MCP bouwt u één server en kan elke compatibele toepassing er verbinding mee maken. Voor een softwarebedrijf betekent dat: uw klanten kunnen hun gegevens gebruiken vanuit de AI-tool die ze al dagelijks openen, in plaats van u om een nieuwe koppeling te vragen.

De officiële documentatie bij modelcontextprotocol.io is de bron voor alle technische details op deze pagina. Het protocol verandert regelmatig; de meest recente revisie op het moment van schrijven draagt het label 2026-07-28.

02 — Werking

Hoe werkt een MCP-server?

Drie rollen, drie bouwstenen, twee manieren van transport.

Host, client en server

De host is de AI-toepassing waarmee de gebruiker werkt, bijvoorbeeld Claude Desktop of Visual Studio Code. De host maakt voor elke verbonden server een client aan; die client houdt de verbinding met precies die ene server. U bouwt dus de server, de rest is aan de kant van de AI-toepassing.

Voorbeeld · één host, twee servers
Host

Claude Desktop

Model

LLM

Kiest welke tool wordt aangeroepen

Client 1

Verbinding met het bestandssysteem

Client 2

Verbinding met Fortnox

stdio

Server · lokaal

Bestandssysteem

Tools en resources op uw computer

Streamable HTTP · OAuth

Server · extern

Fortnox (Nordsynk)

Facturen, leveranciers, boekingen

De host maakt een client per server. Lokale servers draaien via stdio, externe servers via Streamable HTTP met OAuth.
a.

Tools

Functies met een naam, beschrijving en JSON-schema voor de invoer. Het model kiest zelf wanneer het een tool aanroept. Voorbeelden: facturen opzoeken, een ticket aanmaken, een boeking voorbereiden.
b.

Resources

Gegevensbronnen die als context kunnen dienen: een document, een databaseschema, een lijst met openstaande posten.
c.

Prompts

Herbruikbare sjablonen die een interactie structureren, zoals een vaste werkwijze voor een maandafsluiting.
d.

Elicitation

De server kan via de client extra invoer of een bevestiging van de gebruiker vragen. Sampling (een completion van het model van de client vragen) is in revisie 2026-07-28 als verouderd gemarkeerd.

Transport: lokaal of extern

MCP definieert twee standaardtransporten. Via stdio start de client de server als subproces op dezelfde computer; dat is geschikt voor lokale hulpmiddelen. Via Streamable HTTP draait de server als losstaand proces met één HTTP-endpoint waar de client elk bericht naartoe stuurt met een POST; het antwoord komt terug als één JSON-object of als een stroom (Server-Sent Events). Dit is het transport voor externe servers die veel gebruikers bedienen, en dus voor vrijwel elk zakelijk product.

Eén detail dat in de praktijk telt: de nieuwste revisie (2026-07-28) heeft protocolsessies en de aparte GET-stroom verwijderd, en laat elk verzoek zelf de protocolversie en clientmogelijkheden meesturen. Oudere clients gebruiken nog eerdere revisies met een initialize-handshake. Een server die zich op één versie vastlegt, werkt dus voor een deel van uw gebruikers niet.

Een tool-aanroep over JSON-RPC

// Illustratief voorbeeld (ingekort; geen echte tool van Nordsynk)
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "list_overdue_invoices",
    "arguments": { "min_days_overdue": 30 }
  }
}

// Antwoord
{
  "jsonrpc": "2.0",
  "id": 2,
  "result": {
    "resultType": "complete",
    "content": [{ "type": "text", "text": "12 facturen, 30+ dagen te laat ..." }],
    "isError": false
  }
}

03 — MCP en API

Wat is het verschil tussen MCP en een API?

MCP vervangt uw API niet. In vrijwel elke productie-implementatie roept de MCP-server uw bestaande API aan. Het verschil zit in wie de consument is. Een API is geschreven voor een ontwikkelaar die de documentatie leest en code schrijft. Een MCP-server is geschreven voor een model dat tijdens een gesprek zelf moet ontdekken wat er mogelijk is.

  • Ontdekbaar. Een client vraagt met tools/list welke tools er zijn en krijgt namen, beschrijvingen en schema's terug. Er is geen aparte documentatie nodig om te beginnen.
  • Eén keer bouwen. Dezelfde server werkt in elke compatibele toepassing, zonder per toepassing een plug-in te onderhouden.
  • Standaardautorisatie. Voor externe servers beschrijft het protocol een OAuth-stroom, zodat de gebruiker toegang verleent in plaats van een API-sleutel te plakken.
  • Ontworpen voor modellen. Een goede MCP-server biedt niet elk API-endpoint aan, maar taken op het niveau waarop iemand een vraag stelt: "welke klanten betalen te laat?" in plaats van vijf losse aanroepen.

04 — Praktijkvoorbeeld

Hoe ziet een MCP-server in productie eruit? Nordsynk

Nordsynk (nordsynk.se) is een gehoste MCP-server voor Fortnox, een Zweeds boekhoudpakket. Nordbeam heeft Nordsynk gebouwd en beheert het zelf. Financiële teams verbinden hun bedrijf en stellen vragen aan Claude, ChatGPT of Cursor, terwijl de server de actuele gegevens uit Fortnox levert: facturen, klanten, leveranciers, boekingen, orders en betalingen. Boekhoudkantoren kunnen er meerdere klantbedrijven mee beheren.

Illustratie · voorbeelddata
Claude

Welke klantfacturen zijn al meer dan 30 dagen over tijd?

⚙ fortnox.list_overdue_invoices

3 facturen zijn over tijd, samen 127.500 kr:

Beta Konsult AB
52.500 kr
Acme AB
45.000 kr
Gamma HB
30.000 kr

3 betalingsherinneringen aanmaken?

Schrijft naar Fortnox · vereist uw goedkeuring

Goedkeuren
Logboek
  1. 10:42facturen gelezen (3)
  2. 10:42bewijs gekoppeld
  3. 10:43schrijfactie aangevraagd
  4. 10:44goedgekeurd door financiën
  5. 10:443 herinneringen aangemaakt

Elke actie wordt vastgelegd met gebruiker, tijdstip en handeling.

Lezen gaat direct; schrijven wacht op goedkeuring en alles wordt vastgelegd.

De bouwbeslissingen die voor elke zakelijke MCP-server gelden:

a.

Gehost, met OAuth-toestemming

Klanten hosten niets zelf en beheren geen Fortnox-inloggegevens. De verbinding wordt vastgelegd met een OAuth-toestemming, en elke actie wordt getoetst aan bedrijf, gebruiker en werkstroom voordat de assistent toegang krijgt.
b.

Ontdekken, lezen, voorstellen en schrijven gescheiden

Lezen kan via de geauthenticeerde runtime. Voorstellen kan de assistent doen. Maar een wijziging in Fortnox vereist expliciete schrijfintentie en loopt door een goedkeuringsstroom die vastzit aan het exacte verzoek dat wordt uitgevoerd.
c.

Goedkeuring voor niet-technische gebruikers

De wijziging wordt in boekhoudtaal uitgelegd, met genoeg context om te controleren, en gaat pas door als de gebruiker die exacte actie bevestigt.
d.

Bewijs bij elke bevinding

De alleen-lezen controlevoorbeeld (finance control) schrijft nooit naar Fortnox. Elke bevinding verwijst terug naar het onderliggende record, zodat niemand een samenvatting op gezag hoeft te geloven.
e.

Consistent over clients heen

Claude, ChatGPT, Cursor en desktopclients verschillen in authenticatie, het ontdekken van tools en interactieve goedkeuring. Nordsynk moest de kern in al die clients hetzelfde laten voelen en tegelijk streng blijven op tenantgrenzen.

05 — Beveiliging

Is een MCP-server veilig, en hoe maakt u hem veilig?

Wat de specificatie vraagt en wat wij daar zelf aan toevoegen.

OAuth

Het autorisatieprofiel voor HTTP-servers

2.1
OAuth-versie waarop het profiel in de specificatie is gebaseerd
9728
RFC voor Protected Resource Metadata, verplicht voor servers
8707
RFC voor de resource-parameter die tokens aan één server bindt

De specificatie is hier duidelijk. Servers moeten alle invoer van tools valideren, toegangsbeheer toepassen, aanroepen beperken en uitvoer opschonen. Clients horen bevestiging te vragen bij gevoelige acties en gebruik te loggen. En er hoort altijd een mens te zijn die een aanroep kan weigeren. Toolbeschrijvingen en -annotaties mag een client niet vertrouwen, tenzij ze van een vertrouwde server komen.

Autorisatie voor externe servers

Autorisatie is optioneel in het protocol, maar voor HTTP-transport beschrijft de specificatie een profiel op basis van OAuth 2.1. De server is dan een resource server en moet zijn eigen autorisatieserver publiceren via Protected Resource Metadata (RFC 9728). Clients gebruiken PKCE en sturen een resource-parameter mee (RFC 8707), zodat een token alleen voor die ene server geldt. De server accepteert uitsluitend tokens die voor hemzelf zijn uitgegeven. Tokens horen nooit in de URL te staan. Voor stdio-servers geldt het omgekeerde: die halen hun inloggegevens uit de omgeving.

Wat wij daaraan toevoegen

  • Minimale rechten. OWASP noemt buitensporige autonomie, rechten en functionaliteit als de drie oorzaken van "excessive agency" bij LLM-toepassingen. Een tool die een shell opent of willekeurige queries draait, is daar een voorbeeld van.
  • Goedkeuring per schrijfactie. OWASP adviseert dat een mens impactvolle acties goedkeurt voordat ze worden uitgevoerd. Wij laten de gebruiker de exacte wijziging zien en koppelen de goedkeuring aan dat ene verzoek.
  • Auditspoor. Wie vroeg wat, wat zag de gebruiker, wat werd goedgekeurd en wat werd er daadwerkelijk geschreven.
  • Origin-controle. De specificatie eist dat Streamable HTTP-servers de Origin-header valideren tegen DNS-rebinding, en dat lokale servers alleen aan localhost binden.

06 — Bouwen of kopen

Zelf bouwen, of een bestaande server gebruiken?

Een eenvoudige regel: gebruik een bestaande server voor systemen die u afneemt, en bouw er een voor systemen die u aanbiedt.

a.

Gebruik een bestaande server als

uw leverancier een officiële server aanbiedt, de toegangsrechten per gebruiker kloppen en schrijfacties niet nodig zijn of door de leverancier worden beveiligd.
b.

Bouw zelf als

u softwareleverancier bent en klanten hun gegevens in Claude of ChatGPT willen gebruiken, of als schrijfveiligheid, tenantscheiding of gebruiksinzicht bij uw eigen product horen.

Wat de kosten bepalen

  • Omvang van het API-oppervlak en hoeveel daarvan als doordachte taken moet worden aangeboden.
  • Authenticatie en multitenancy: OAuth, verlopende tokens, scheiding tussen klanten.
  • Schrijfacties: goedkeuringsstroom, voorbeeldweergave en audit.
  • Clientcompatibiliteit: testen in de clients die uw klanten werkelijk gebruiken.
  • Onderhoud: het protocol en de clients veranderen.

Wilt u eerst weten wat een MCP-server voor uw product oplevert, dan is een kort gesprek de snelste weg. Voor bredere vragen over agents en goedkeuringen begint een AI Workflow Sprint vanaf 45.000 SEK. Lees ook onze uitleg over AI-agents voor bedrijven.

07 — Aanpak

Hoe bouwt Nordbeam een MCP-server?

01

Afbakenen

API-oppervlak in kaart, toolset gespecificeerd, authenticatiemodel gekozen.
02

Bouwen

Externe server op Streamable HTTP met OAuth en benoemde taken boven op uw API.
03

Schrijfveiligheid

Voorbeeldweergave, goedkeuring per actie en een auditspoor.
04

Testen en onderhouden

Tests tegen de clients die uw klanten gebruiken, en doorlopend onderhoud.

08 — FAQ

Veelgestelde vragen over MCP-servers

Wat is een MCP-server in één zin?

Een MCP-server is een programma dat via het Model Context Protocol tools, gegevens en promptsjablonen aanbiedt aan AI-toepassingen zoals Claude, ChatGPT of Cursor, zodat die met uw systemen kunnen werken zonder een aparte integratie per toepassing.

Wat is het verschil tussen MCP en een API?

Een API is de interface van uw software voor andere software. MCP legt daar een laag overheen die een AI-model kan lezen en gebruiken: de server beschrijft zijn tools met schema's, de client ontdekt ze zelf en de autorisatie volgt een standaardstroom. Een MCP-server roept vrijwel altijd uw bestaande API aan; hij vervangt hem niet.

Is een MCP-server veilig?

Dat hangt volledig van de bouw af. Het protocol verplicht servers om invoer te valideren, toegangsbeheer toe te passen en aanroepen te beperken, en raadt aan dat er altijd een mens kan weigeren. Voor schrijfacties raden wij uitdrukkelijke goedkeuring per afzonderlijke actie aan, en minimale rechten per gebruiker.

Wat is het verschil tussen lokale en externe MCP-servers?

Een lokale server draait als proces op de computer van de gebruiker en praat via stdio met één client. Een externe (remote) server draait bij u of bij een leverancier en bedient via Streamable HTTP vele gebruikers. Voor zakelijke producten is een externe server met OAuth vrijwel altijd de juiste keuze.

Hoe lang duurt het om een MCP-server te bouwen?

Een prototype dat één API leest, is een kwestie van dagen. Het werk zit in wat daarna komt: OAuth per gebruiker en bedrijf, schrijfacties met goedkeuring, tests tegen meerdere clients en onderhoud. Op onze dienstpagina staan de doorlooptijden per niveau.

Moet ik zelf een MCP-server bouwen of een bestaande gebruiken?

Gebruik een bestaande server als uw leverancier er een heeft die aan uw eisen voldoet. Bouw zelf als u een product aanbiedt waarvan klanten hun gegevens in AI-tools willen gebruiken, als bestaande servers geen schrijfveiligheid bieden, of als de toegang tot uw systemen onder uw eigen controle moet blijven.

Wie bouwt MCP-servers voor bedrijven?

Nordbeam, een AI-ontwikkelstudio in Göteborg en Malmö (Zweden), ontwerpt, bouwt en beheert MCP-servers voor producten en interne systemen. Als referentie hebben wij Nordsynk gebouwd en in productie genomen, een gehoste MCP-server voor Fortnox. Wij reageren binnen 24 uur op uw aanvraag via hello@nordbeam.io.

Wat kost een MCP-server laten bouwen?

De kosten hangen vooral af van het aantal tools, de authenticatie (OAuth per gebruiker en bedrijf), schrijfacties met goedkeuring en het aantal clients waarop u test. Daarom beginnen wij met een betaalde scopingweek die eindigt in een vaste prijs. Een bredere AI Workflow Sprint start vanaf 45.000 SEK.

Hoe verbind ik mijn bedrijfsgegevens met Claude of ChatGPT?

Via een externe MCP-server op Streamable HTTP met OAuth. De gebruiker voegt de server-URL toe als connector in de AI-toepassing, logt in en geeft toestemming; de server toetst daarna elke aanroep aan gebruiker en bedrijf. Welke stappen de gebruiker ziet, verschilt per client.

Welke AI-toepassingen werken met MCP?

MCP is een open protocol; hosts als Claude, Cursor en Visual Studio Code ondersteunen het. Onze eigen MCP-server, Nordsynk, is gebouwd voor gebruik in Claude, ChatGPT, Cursor en desktopclients. Gedrag rond authenticatie en goedkeuring verschilt per client, dus test altijd tegen de clients die uw klanten gebruiken.

Neem contact op

Welke workflow moet AI als eerste verbeteren?

Boek een praktische review van één waardevolle workflow. Je spreekt rechtstreeks met Assim, oprichter en lead engineer van Nordbeam.
E-mail direct
E-mail
hello@nordbeam.io
Locaties
Göteborg & Malmö, Zweden
Reactietijd
Binnen 24 uur