Het Model Context Protocol (MCP) is een open standaard waarmee modellen zoals die van Anthropic kunnen worden gebruikt. Claude en ontwikkelaarshulpmiddelen zoals Claude-code Op een veilige, gestandaardiseerde manier een beroep doen op externe hulpmiddelen, gegevensbronnen en prompts.
Deze handleiding begeleidt u bij het bouwen van uw eigen MCP-server vanaf nul, zodat Claude Code toegang krijgt tot aangepaste functies en de functionaliteit aanzienlijk kan uitbreiden, ver voorbij de ingebouwde functies.
Wat is het Model Context Protocol (MCP)?
MCP (Model Context Protocol) is een open specificatie Ontworpen om te standaardiseren hoe taalmodelclients (zoals Claude, Claude Code of andere LLM-frontends) verbinding maken met toolservers en gegevensbronnen. Zie MCP als een "USB-C-poort voor LLM's": het definieert een transport-/JSON-RPC-schema en een gebruikelijke manier voor servers om drie soorten functionaliteiten te publiceren:
- Informatiebronnen — bestands- of documentgegevens die een client kan lezen (bijvoorbeeld een database-rij, een tekstbestand, een JSON-payload).
- Tools — aanroepbare functies die het model de host kan vragen uit te voeren (met goedkeuring van de gebruiker).
- aanwijzingen — herbruikbare promptsjablonen of workflows die het model/de client kan aanroepen.
MCP ondersteunt meerdere transporten (stdio, HTTP, SSE) en biedt schema's, SDK's en voorbeeldservers, zodat u het wire-formaat niet zelf hoeft te bedenken. Het protocol wordt openbaar onderhouden (spec + SDK's) en bevat tutorials en een galerij met voorbeeldservers om de acceptatie te versnellen.
Hoe is MCP opgebouwd?
De architectuur van MCP is opzettelijk eenvoudig en modulair: de kernstukken zijn MCP servers, MCP klantenen Vervoer die JSON-RPC-berichten met elkaar verbinden. Hieronder staan de belangrijkste componenten waarmee u te maken krijgt bij het bouwen van een server voor Claude Code (of andere MCP-clients).
Server, client en het protocol
- MCP-server — Een dienst die publiceert Tools, bronnen en prompts. Tools kunnen bijwerkingen uitvoeren of gegevens ophalen; bronnen tonen alleen-lezen content; prompts zijn herbruikbare promptsjablonen waaruit de client het model kan vragen om monsters te nemen.
- MCP-client (host) — Meestal onderdeel van de LLM-host (bijv. Claude Code, VS Code-plug-in, een browserclient). Het detecteert beschikbare servers, presenteert toolbeschrijvingen aan het model en routeert door het model geïnitieerde aanroepen naar servers.
- Protocol — Berichten worden gecodeerd als JSON-RPC; de specificatie definieert levenscyclusgebeurtenissen, tooldetectie, aanroep, voltooiingen/sampling en hoe gestructureerde resultaten terug naar de client en het model worden getransporteerd.
Communicatiepatroon (wat gebeurt er als een tool wordt gebruikt)
- De client stuurt een gebruikersbericht naar het model.
- Het model analyseert de context en besluit een tool aan te roepen die door MCP beschikbaar wordt gesteld (of meerdere tools).
- De client stuurt de tooloproep via het gekozen transport door naar de MCP-server.
- De server voert de tool uit en retourneert resultaten.
- Het model ontvangt de uitvoer van de tool en stelt het uiteindelijke antwoord voor de gebruiker samen.
Implementatieprimitieven
- JSON-RPC Berichten volgen het MCP-schema.
- Gereedschapsdefinities worden gepubliceerd in de detectiereacties van de server, zodat clients ze in de gebruikersinterface kunnen presenteren.
- Informatiebronnen worden verwezen door
@source:pathsyntaxis door clients (bijv.@postgres:...), waardoor modellen naar externe inhoud kunnen verwijzen zonder dat er grote hoeveelheden gegevens in de prompt hoeven te worden ingevoegd.
Waarom Claude Code integreren met MCP-servers?
Claude Code is het aanbod van Anthropic, gericht op code- en ontwikkelaarsgerichte workflows (editor/IDE-integratie, codebegrip, enz.). Door uw interne tools (bronzoekfunctie, CI-runner, ticketsysteem, privéregisters) beschikbaar te stellen via MCP-servers, kan Claude Code deze aanroepen als eersteklas gereedschap binnen codegesprekken en agentstromen.
Door Claude Code te integreren met MCP-servers worden praktische, productierelevante mogelijkheden voor een coderingsagent ontsloten:
1. Laat het model handelen op echte systemen
Claude Code kan een MCP-server vragen om issue trackers te raadplegen, databasequery's uit te voeren, grote documenten te lezen of GitHub PR's te genereren – wat end-to-end automatisering mogelijk maakt vanuit de codeersessie. Dit wordt expliciet ondersteund door de Claude Code-documentatie (bijvoorbeeld: het raadplegen van Postgres, Sentry of het creëren van PR's).
2. Grote hoeveelheden data en gespecialiseerde logica uitbesteden
In plaats van elke gegevensbron in de prompt te integreren (wat tokens verbruikt), publiceert u gegevens en tools via MCP. Het model roept de tool aan, ontvangt een gestructureerd antwoord en baseert dit op de redenering. Dit vermindert het tokengebruik en stelt servers in staat om zwaar werk te verwerken (databasequery's, lange bestandslezingen, autorisatie).
3. Veiligheid en bestuur
MCP centraliseert toegangscontrole en auditing op serverniveau, waardoor organisaties goedgekeurde servers op een whitelist kunnen zetten, kunnen bepalen welke tools beschikbaar zijn en uitvoer kunnen beperken. Claude Code ondersteunt ook MCP-configuratie voor ondernemingen en toestemming per scope.
4. Herbruikbaarheid en ecosysteem
MCP-servers zijn herbruikbaar voor verschillende clients en teams. Na één keer bouwen kunnen meerdere Claude/LLM-clients dezelfde services gebruiken (of implementaties uitwisselen).
Wat heb je nodig voordat je begint?
Minimale eisen
- Een ontwikkelmachine met Python 3.10 + (in het voorbeeld gebruiken we Python). Node en andere talen worden ook ondersteund door MCP SDK's.
uv(Astral's tool) of een gelijkwaardige runner voor het draaien van MCP stdio-servers (de MCP-tutorial gebruiktuv). Hieronder ziet u de installatiestappen.- Claude Code geïnstalleerd of toegang tot de Claude-client (desktop of CLI) om uw server te registreren en te testen; of een MCP-compatibele client. Claude Code ondersteunt HTTP-, SSE- en lokale stdio-servers.
- BeveiligingsnotitieVoeg alleen vertrouwde MCP-servers toe aan Claude Code in team- of bedrijfsinstellingen. MCP geeft servers toegang tot gevoelige gegevens en er bestaat een risico op directe injectie als een server schadelijke inhoud retourneert.
Hoe de Claude Code CLI te installeren en te verifiëren
Dit is Claude Code installatie- en gebruikshandleiding.
1) Snelle samenvatting: aanbevolen installatiemethoden
Gebruik de native installatieprogramma (aanbevolen) of Homebrew op macOS/Linux. NPM is beschikbaar als je een Node-gebaseerde installatie nodig hebt. Windows ondersteunt PowerShell/CMD-installatieprogramma's. Bron: officiële Claude Code-documentatie en GitHub.
2) Vereisten
- macOS 10.15+, Ubuntu 20.04+/Debian 10+ of Windows 10+ (WSL aanbevolen op Windows).
- Knooppunt.js 18+ alleen vereist voor de NPM-installatiemethode.
3) Installatieopdrachten (kies er één)
Native (aanbevolen — geen Node-afhankelijkheid), macOS / Linux / WSL:
curl -fsSL https://claude.ai/install.sh | bash
# optional: install latest explicitly
curl -fsSL https://claude.ai/install.sh | bash -s latest
# or install a specific version
curl -fsSL https://claude.ai/install.sh | bash -s 1.0.58
Windows PowerShell:
irm https://claude.ai/install.ps1 | iex
# or for latest: & (::Create((irm https://claude.ai/install.ps1))) latest
(Dit zijn de officiële native installatiescripts).
NPM (als u een Node-gebaseerde globale installatie wilt):
# requires Node.js 18+
npm install -g @anthropic-ai/claude-code
Niet . sudo npm install -g — waarschuwen voor sudo globale installaties (rechten-/beveiligingsproblemen). Als u rechtenfouten tegenkomt, gebruik dan nvm of repareer uw npm-globale prefix in plaats van sudo te gebruiken.
4) Controleer of het binaire bestand is geïnstalleerd (basiscontroles)
Voer deze direct na de installatie lokaal uit:
# is the command on PATH?
which claude
# version (or -v)
claude --version
# or
claude -v
# help (sanity check)
claude --help
Verwacht: which toont een pad (bijv. /usr/local/bin/claude or ~/.nvm/.../bin/claude) en claude --version drukt een semver-achtige string af. De documentatie en README tonen beide claude als primair CLI-toegangspunt.
5) Controleer de installatiestatus en -configuratie (aanbevolen controles)
a) claude doctor,Loop:
claude doctor
Deze ingebouwde diagnose controleert uw installatietype, veelvoorkomende problemen (zoals problemen met npm-machtigingen), afhankelijkheden zoals ripgrep, en stelt oplossingen voor. De documentatie raadt expliciet aan om claude doctor na installatie.
b) Voer een rooktest uit (niet-interactief)
Vanuit uw projectmap:
cd /path/to/your/project
claude -p "Explain this project in 3 sentences"
Dit gebruikt print modus (-p) om één enkele prompt te versturen en vervolgens af te sluiten; goed voor CI of snelle functionele controles.
c) Authenticatieverificatie (zorg ervoor dat de CLI Anthropic kan bereiken)
Claude Code ondersteunt verschillende autorisatiestromen (Console OAuth, API-sleutel, providerintegraties). Algemene controles:
- Als u een API-sleutel gebruikt (CI/headless/lokale omgevingsvariabele):
export ANTHROPIC_API_KEY="sk-..."
# then
claude auth status
claude auth whoami # or `claude auth whoami` / `claude whoami` depending on version
Je kunt gebruiken KomeetAPIAPI-sleutel van om Claude Code te gebruiken. Als u Claude's API via CometAPI gebruikt, krijgt u 20% korting.
- Als u OAuth via de console hebt gebruikt - loop:
claude auth status
claude auth whoami
U zou account-/abonnementgegevens of een bevestiging moeten zien dat u bent geauthenticeerd.
Stapsgewijze omgevingsvoorbereiding
Hieronder vindt u concrete stappen om twee veelgebruikte ontwikkelaarsstacks (TypeScript en Python) voor te bereiden, gevolgd door snelle controles om er zeker van te zijn dat alles werkt.
H3 — A. TypeScript / Node-instelling (snelste pad)
- Project maken en SDK installeren:
mkdir mcp-demo && cd mcp-demo
npm init -y
npm install @modelcontextprotocol/sdk express zod
npm install --save-dev typescript tsx @types/node @types/express
- creëren
server.ts(We geven een volledig voorbeeld in het gedeelte ‘Hoe bouw je snel…’.) - Run:
npx -y tsx server.ts
- Test lokaal met de MCP-inspecteur of voeg toe aan Claude Code:
npx @modelcontextprotocol/inspector
# or (for Claude Code)
claude mcp add --transport http my-server http://localhost:3000/mcp
(Met de opdrachten Inspector en Claude kunt u detectie valideren en hulpmiddelen aanroepen.)
Hoe bouw je snel een MCP-server voor Claude Code?
snelle controlelijst
-
Start uw server (aanbevolen wordt een streambare HTTP):
node server.tsoruvicorn server:app. -
Vanaf uw ontwikkelcomputer:
- Gebruik MCP-inspecteur valideren (
npx @modelcontextprotocol/inspector) en bevestigtools/listenresources/list; of - Voeg de server toe aan Claude Code:
claude mcp add --transport http <name> http://<host>:<port>/mcp(of volg de web-UI-stromen als uw klant externe MCP ondersteunt).
Als u van plan bent de Messages API-connector van Anthropic te gebruiken voor een externe MCP (geen aparte client), lees dan de Claude-documentatie. Mogelijk is een bètaheader vereist (raadpleeg de documentatie voor de exacte header en de huidige ondersteuningsstatus).
Hieronder staan twee complete maar compacte servervoorbeelden die u kunt kopiëren, uitvoeren en verbinden met Claude Code (of de MCP Inspector). Het TypeScript-voorbeeld gebruikt Express + de TypeScript SDK; het Python-voorbeeld demonstreert een FastAPI-koppeling.
Let op: de onderstaande code volgt de voorbeelden van de openbare SDK en is opzettelijk minimaal gehouden voor de duidelijkheid. Voeg voor productie authenticatie, logging, snelheidsbeperking en invoervalidatie toe aan de standaardinstellingen van de SDK.
Voorbeeld 1: TypeScript + Express (Streamable HTTP)
creëren server.ts (compleet):
// server.ts
import express from "express";
import * as z from "zod/v4";
import { McpServer, ResourceTemplate } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";
const server = new McpServer({ name: "claude-code-demo", version: "0.1.0" });
// Register a simple tool: add two numbers
server.registerTool(
"add",
{
title: "Add",
description: "Add two numbers a and b",
inputSchema: { a: z.number(), b: z.number() },
outputSchema: { result: z.number() }
},
async ({ a, b }) => {
const output = { result: a + b };
return {
content: ,
structuredContent: output
};
}
);
// Register a resource: greet user (dynamic)
server.registerResource(
"greeting",
new ResourceTemplate("greeting://{name}", { list: undefined }),
{ title: "Greeting", description: "Return a greeting for the name" },
async (uri, params) => {
return {
contents:
};
}
);
// Express + Streamable HTTP transport
const app = express();
app.use(express.json());
app.post("/mcp", async (req, res) => {
const transport = new StreamableHTTPServerTransport({ enableJsonResponse: true });
// Close transport when connection closes
res.on("close", () => transport.close());
await server.connect(transport);
await transport.handleRequest(req, res, req.body);
});
const port = parseInt(process.env.PORT || "3000", 10);
app.listen(port, () => console.log(`MCP server listening: http://localhost:${port}/mcp`));
Run:
npm install
npx -y tsx server.ts
Maak vervolgens verbinding in Claude Code (voorbeeld):
# Add the remote server to your Claude Code MCP list (local dev)
claude mcp add --transport http my-demo http://localhost:3000/mcp
Dit voorbeeld is gebaseerd op de officiële TypeScript SDK Quick Start en laat zien hoe u hulpmiddelen en bronnen registreert en deze vervolgens beschikbaar stelt via Streamable HTTP.
Voorbeeld 2: Python + FastAPI (FastMCP + Streamable HTTP)
creëren server.py (compleet):
# server.py
from fastapi import FastAPI
from mcp.server.fastmcp import FastMCP
app = FastAPI()
mcp = FastMCP("claude-python-demo", stateless_http=True)
# tool: simple sum
@mcp.tool()
def add(a: int, b: int) -> dict:
"""Add two integers"""
return {"result": a + b}
# resource: simple greeting resource template
@mcp.resource("greeting://{name}")
def greeting(name: str):
return {"contents": }
# mount the streamable-http MCP endpoint (FastMCP exposes an ASGI app)
app.mount("/mcp", mcp.streamable_http_app())
# optional endpoint to demonstrate other API routes
@app.get("/")
async def root():
return {"status": "OK"}
Run:
uvicorn server:app --reload --port 8000
Neem contact op met de inspecteur:
npx @modelcontextprotocol/inspector
# In Inspector select Streamable HTTP and enter http://localhost:8000/mcp
Python SDK-voorbeelden en FastMCP-hulpprogramma's maken het eenvoudig om te registreren @mcp.tool() en @mcp.resource() versierde functies die de LLM kan ontdekken en aanroepen.
Hoe noemt Claude Code jouw tools eigenlijk?
Wanneer een LLM besluit een tool te gebruiken, stuurt de client een JSON-RPC-aanroep naar de MCP-server. De server voert de gevraagde tool uit (bijvoorbeeld een database raadplegen, tests uitvoeren of een externe API aanroepen) en retourneert gestructureerde inhoud en presenteerbare inhoudDe client (Claude Code) kan vervolgens de gestructureerde uitvoer opnemen in de context van het model, zodat het model kan blijven redeneren met die betrouwbare gegevens – niet alleen met de tekstuele uitvoer van de server. De TypeScript SDK ondersteunt het registreren inputSchema en outputSchema (zod) zodat argumenten en uitvoer gevalideerd en machinaal getypt worden.
Welke test- en debugtools moet u gebruiken?
MCP-inspecteur
Het MCP-inspecteur is de officiële visuele ontwikkelaarstool voor het testen van MCP-servers. Hiermee kunt u verbinding maken met een server (stdio, SSE of streamable-HTTP), tools weergeven, ze handmatig aanroepen en de levenscyclus van JSON-RPC-berichten inspecteren – onmisbaar tijdens de ontwikkeling. Start het via npx @modelcontextprotocol/inspector.
Lokaal versus extern testen
- Lokaal (stdio) — snelle iteratiecyclus voor desktop-apps en offline debuggen.
- Streambare HTTP — test met de Inspector of maak verbinding met Claude Code met behulp van de
claude mcp addCLI of de MCP-connector in de Berichten-API voor tests op afstand. Zorg ervoor dat u alle benodigde authenticatieheaders voor uw server opgeeft.
Conclusie
MCP vormt de praktische brug tussen moderne LLM's en de systemen die de data daadwerkelijk bevatten en acties uitvoeren. Voor codeworkflows geeft de integratie van Claude Code met een MCP-server het model gestructureerde, controleerbare toegang tot repositories, CI, issue trackers en aangepaste tools, wat resulteert in nauwkeurigere automatisering en veiligere neveneffecten. Met officiële SDK's in TypeScript en Python, Streamable HTTP voor externe hosting en tools zoals de MCP Inspector kunt u in enkele minuten een minimale server bouwen en itereren naar een productie-implementatie.
Ontwikkelaars hebben toegang tot Claude Sonnet 4.5 API en Claude Opus 4.1 API enz. via CometAPI, de nieuwste modelversie wordt altijd bijgewerkt met de officiële website. Om te beginnen, verken de mogelijkheden van het model in de Speeltuin en raadpleeg de API-gids voor gedetailleerde instructies. Zorg ervoor dat u bent ingelogd op CometAPI en de API-sleutel hebt verkregen voordat u toegang krijgt. KomeetAPI bieden een prijs die veel lager is dan de officiële prijs om u te helpen integreren.
Klaar om te gaan?→ Meld u vandaag nog aan voor CometAPI !
Als u meer tips, handleidingen en nieuws over AI wilt weten, volg ons dan op VK, X en Discord!
