Nederlands
  • MCP
  • Model Context Protocol
  • AI

Wat is MCP (Model Context Protocol) en hoe werkt het

Een gemakkelijk te begrijpen gids over Model Context Protocol (MCP), waarin wordt uitgelegd hoe het LLM's helpt toegang te krijgen tot externe bronnen om kennisbeperkingen te overwinnen en krachtigere AI-toepassingen te bouwen.

Yijun
Yijun
Developer

Stop met weken verspillen aan gebruikersauthenticatie
Lanceer veilige apps sneller met Logto. Integreer gebruikersauthenticatie in minuten en focus op je kernproduct.
Aan de slag
Product screenshot

Wat is MCP?

MCP (Model Context Protocol) is een open, universeel protocol dat standaardiseert hoe applicaties contextinformatie aan grote taalmodellen (LLM's) verstrekken.

Eenvoudig gezegd, net zoals het HTTP-protocol verschillende websites en browsers in staat stelt informatie uit te wisselen volgens dezelfde regels, is MCP als het HTTP-protocol van de AI-wereld. MCP stelt verschillende AI-modellen in staat om op een gestandaardiseerde manier verbinding te maken met verschillende gegevensbronnen en hulpmiddelen. Deze standaardisatie maakt het gemakkelijker voor ontwikkelaars om AI-toepassingen te bouwen zonder gespecialiseerde interfaces voor elk model of gegevensbron te hoeven maken.

Waarom hebben we MCP nodig?

Grote taalmodellen (LLM's) zijn krachtig, maar ze hebben meerdere belangrijke beperkingen:

  • Kennisbeperkingen en update-uitdagingen: LLM's kennen alleen informatie die in hun trainingsgegevens is opgenomen. Bijvoorbeeld de kennis van GPT-4 stopt in april 2023. Het trainen van grote taalmodellen vereist enorme computerbronnen en tijd, vaak duurt het zes maanden of langer om een nieuwe versie te voltooien. Dit creëert een moeilijk probleem: modelkennis is altijd "verouderd", terwijl updates extreem duur en tijdrovend zijn. Tegen de tijd dat een nieuw model klaar is met trainen, begint de kennis al achter te lopen.

  • Gebrek aan gespecialiseerde domeinkennis: LLM's worden getraind met behulp van algemeen beschikbare gegevens. Ze kunnen geen diepgaand begrip hebben van gespecialiseerde gegevens en informatie in specifieke bedrijfsomgevingen. Bijvoorbeeld, de interne processen van een medische instelling, de productcatalogus van een bedrijf of de eigen kennis van een organisatie vallen niet binnen de trainingsscope van het model.

  • Geen uniforme standaard voor toegang tot externe gegevens: Momenteel zijn er veel methoden om LLM's van extra informatie te voorzien, zoals RAG (Retrieval-Augmented Generation), lokale kennisbanken, internetzoekopdrachten, enz. Verschillende ontwikkelingsteams bieden verschillende integratieoplossingen, wat leidt tot hoge integratiekosten tussen systemen. Systemen met gespecialiseerde domeingegevens (zoals CRM, ERP, medische dossiersystemen, enz.) zijn moeilijk naadloos te integreren met LLM's. Elke integratie vereist maatwerkontwikkeling, zonder een gemeenschappelijke, gestandaardiseerde methode.

Dit is waarom we MCP nodig hebben. MCP biedt een gestandaardiseerd protocol waarmee LLM's op een consistente manier toegang kunnen krijgen tot externe informatie en hulpmiddelen, waardoor al deze problemen worden opgelost. Via MCP kunnen we de volgende belangrijke voordelen behalen:

  • Rijke ingebouwde integraties: MCP biedt vele kant-en-klare serverintegraties, waaronder bestandssystemen, databases (PostgreSQL, SQLite), ontwikkeltools (Git, GitHub, GitLab), netwerktools (Brave Search, Fetch), productiviteitstools (Slack, Google Maps), en meer. Dit betekent dat je deze integraties niet vanaf nul hoeft op te bouwen. Je kunt eenvoudig deze vooraf gebouwde connectors gebruiken om LLM's toegang te geven tot gegevens in deze systemen.

  • Flexibele wisseling tussen LLM-aanbieders: Vandaag gebruik je misschien GPT-4, morgen wil je Claude of Gemini proberen, of verschillende LLM's gebruiken voor verschillende scenario's. Met MCP hoef je niet de hele integratielogica van je applicatie te herschrijven. Je hoeft alleen het onderliggende model te wijzigen, en alle gegevens- en hulpmiddelenintegraties blijven ongewijzigd.

  • Complexe AI-workflows bouwen: Stel je een systeem voor documentenanalyse voor dat meerdere databases moet bevragen, specifieke hulpmiddelen moet gebruiken voor documentvergelijking en rapporten moet genereren. MCP stelt je in staat om dergelijke complexe agenten en workflows bovenop LLM's te bouwen.

Hoe werkt MCP

In MCP zijn er drie kernrollen: MCP Server (die hulpmiddelen en gegevens toegang biedt), MCP Client (ingebed in de LLM en communiceert met de MCP Server), en MCP Hosts (applicaties die LLM's en Clients integreren, zoals Claude Desktop, Cursor, enz.). Laten we deze drie rollen in detail bekijken om te zien hoe ze samenwerken.

MCP Server

De MCP Server is een programma dat hulpmiddelen en gegevens toegang biedt die LLM's kunnen gebruiken. In tegenstelling tot traditionele externe API-servers kan de MCP Server draaien als een lokale applicatie op het apparaat van de gebruiker of worden ingezet op een externe server.

Elke MCP Server biedt een set specifieke hulpmiddelen die verantwoordelijk zijn voor het ophalen van informatie uit lokale gegevens of externe diensten. Wanneer een LLM vaststelt dat het een bepaald hulpmiddel moet gebruiken bij het verwerken van een taak, zal het de hulpmiddelen gebruiken die door de MCP Server worden aangeboden om de benodigde gegevens te verkrijgen en deze aan de LLM retourneren.

MCP Client

De MCP Client is de brug die LLM's en MCP Servers verbindt. Ingebed in de LLM, is deze verantwoordelijk voor:

  • Verzoeken ontvangen van de LLM
  • Verzoeken doorsturen naar de juiste MCP Server
  • Resultaten van de MCP Server teruggeven aan LLM

Je kunt Ontwikkel een MCP Client bekijken om meer te leren over het integreren van MCP Client met LLM's.

MCP Hosts

Programma's zoals Claude Desktop, IDE's (Cursor, enz.) of AI-tools die toegang willen tot gegevens via MCP. Deze applicaties bieden gebruikers interfaces om interacties met LLM's aan te gaan, terwijl ze MCP Client integreren om verbinding te maken met MCP Servers om de capaciteit van LLM's uit te breiden met de hulpmiddelen die door MCP Servers worden geboden.

MCP Workflow

De bovenstaande drie rollen vormen uiteindelijk een AI-applicatie gebouwd op MCP.

Een voorbeeldworkflow van dit systeem is als volgt:

Hoe bouw je een MCP Server

De MCP Server is de meest kritieke schakel in het MCP-systeem. Het bepaalt welke hulpmiddelen de LLM kan gebruiken om toegang te krijgen tot welke gegevens, en beïnvloedt direct de functionele grenzen en mogelijkheden van de AI-toepassing.

Om te beginnen met het bouwen van je eigen MCP Server, wordt aangeraden eerst de officiële MCP quickstart-gids te lezen, waarin het volledige proces van het opzetten van de omgeving tot de implementatie en het gebruik van de MCP Server gedetailleerd wordt uitgelegd. We zullen alleen de kernimplementatiedetails uitleggen.

Definiëren van hulpmiddelen aangeboden door de MCP Server

De kernfunctie van een MCP Server is het definiëren van hulpmiddelen via de server.tool() methode. Deze hulpmiddelen zijn functies die de LLM kan aanroepen om externe gegevens te verkrijgen of specifieke operaties uit te voeren. Laten we een vereenvoudigd voorbeeld bekijken met Node.js:

In dit voorbeeld definiëren we een hulpmiddel genaamd search-documents dat een zoekreeks en maximaal aantal resultaten als parameters accepteert. De implementatie van het hulpmiddel zou verbinding maken met een kennisbanksysteem en zoekresultaten retourneren.

De LLM zal beslissen of het dit hulpmiddel moet gebruiken op basis van de definitie van het hulpmiddel en de vraag van de gebruiker. Indien nodig zal de LLM dit hulpmiddel aanroepen, de resultaten verkrijgen en een antwoord genereren door de resultaten met de vraag van de gebruiker te combineren.

Best practices voor het definiëren van hulpmiddelen

Bij het bouwen van dergelijke hulpmiddelen kun je de volgende best practices volgen:

  • Heldere beschrijvingen: Geef gedetailleerde, nauwkeurige beschrijvingen van elk hulpmiddel, waarin duidelijk de functionaliteit, toepassingsscenario's en beperkingen worden vermeld. Dit helpt niet alleen de LLM het juiste hulpmiddel te kiezen, maar maakt het ook gemakkelijker voor ontwikkelaars om de code te begrijpen en te onderhouden.
  • Parameter validatie: Gebruik Zod of vergelijkbare bibliotheken om invoerparameters strikt te valideren, waarbij correcte typen, redelijke waarde bereiken worden gegarandeerd en niet-conforme invoer wordt afgewezen. Dit voorkomt dat fouten zich verspreiden naar backendsystemen en verbetert de algehele stabiliteit.
  • Foutafhandeling: Implementeer uitgebreide foutafhandelingsstrategieën, vang mogelijke uitzonderingen op en retourneer gebruiksvriendelijke foutmeldingen. Dit verbetert de gebruikerservaring en stelt de LLM in staat zinvolle reacties te geven op basis van foutcondities, in plaats van simpelweg te falen.
  • Toegang tot gegevens beheren: Zorg dat de API's van backendhulpbronnen robuuste authenticatie- en autorisatiemechanismen hebben, en ontwerp permissies nauwkeurig om de MCP Server alleen toegang te verlenen en gegevens terug te geven waar de gebruiker bevoegd voor is. Dit voorkomt lekken van gevoelige informatie en waarborgt gegevensbeveiliging.

Hoe de beveiliging van gegevensuitwisseling tussen MCP (AI-modellen) en externe systemen te waarborgen

Bij de implementatie van MCP Servers die AI-modellen verbinden met externe systemen, zijn er twee belangrijke beveiligingsuitdagingen in MCP-implementatie:

  • Authenticatie: In tegenstelling tot traditionele applicaties kan de gebruiker in de MCP-omgeving niet inloggen met traditionele inlogprocedures (zoals gebruikersnaam/wachtwoord, e-mail/verificatiecode, enz.) om toegang tot het externe systeem te krijgen.
  • Toegangsbeheersing voor MCP Server-verzoeken: Gebruikers die systemen benaderen via AI-tools zijn dezelfde personen die mogelijk direct je systeem gebruiken. De MCP Server fungeert als hun vertegenwoordiger wanneer ze via AI-tools interageren. Het herontwerpen van een volledig toegangsbeheersmechanisme alleen om de MCP Server te accommoderen zou een aanzienlijke inspanning en kosten vergen.

De belangrijke oplossing voor deze uitdagingen is het implementeren van Persoonlijke Toegangstokens (PATs). PATs bieden een veilige manier voor gebruikers om toegang te verlenen zonder hun inloggegevens te delen of interactieve inlogprocedures te vereisen.

Zo werkt de workflow:

Deze aanpak stelt je bestaande dienst in staat zijn authenticatiemechanismen te behouden terwijl je MCP-integratie veilig mogelijk maakt.

Je kunt het blogartikel: Geef je bedrijf kracht: Verbind AI-tools met je bestaande dienst met toegangscontrole raadplegen met een complete voorbeeldbroncodeset om te leren hoe je Logto's Persoonlijke Toegangstokens (PAT) in combinatie met Toegangscontrole op Basis van Rollen (RBAC) kunt gebruiken om de middelen te beperken waar de MCP toegang toe heeft van backenddiensten.

Samenvatting

MCP (Model Context Protocol) brengt revolutionaire veranderingen in de combinatie van LLM's en specifieke bedrijven. Het lost de problemen van kennisbeperkingen in grote taalmodellen op, het gebrek aan gespecialiseerde domeinkennis en niet-gestandaardiseerde toegang tot externe gegevens.

Het gebruik van MCP om je eigen diensten te verbinden zal nieuwe mogelijkheden voor je bedrijf brengen. MCP is de brug die AI en zakelijke waarde met elkaar verbindt. Je kunt AI-assistenten creëren die echt de interne kennis van je bedrijf begrijpen, intelligente tools ontwikkelen die toegang hebben tot de nieuwste gegevens, en professionele toepassingen bouwen die voldoen aan specifieke industriële behoeften.