Claude Code kent je code. Het leest je bestanden, begrijpt je architectuur, en kan een NullReferenceException in seconden debuggen. Maar vraag of je laatste deployment is gelukt, query een database, of lees een e-mail — en het weet van niets.
Dat voelde altijd als een gemiste kans. De AI begrijpt mijn codebase, maar kan niet praten met de systemen waar ik dagelijks mee werk.
Wat als je dat zou kunnen veranderen?
Wat is MCP?
MCP staat voor Model Context Protocol. Het is een open standaard waarmee AI-tools zoals Claude Code kunnen communiceren met externe systemen via zogenaamde “MCP servers.”
Zie het als een USB-poort voor AI. Je laptop weet niet welk apparaat je gaat aansluiten — een toetsenbord, een webcam, een externe schijf — maar kan met allemaal praten via een standaard interface. MCP werkt op dezelfde manier. Je bouwt een server die “tools” aanbiedt, en Claude Code kan die tools aanroepen wanneer het ze nodig heeft.
Geen custom integraties. Geen API-lijmcode in je prompts. Gewoon een gestandaardiseerd protocol.
Wat kun je ermee bouwen?
De mogelijkheden zijn breder dan je zou verwachten. Een paar voorbeelden:
- CI/CD status — Vraag Claude Code: “Is de build geslaagd?” en het bevraagt je build server direct.
- Database queries — “Hoeveel gebruikers hebben zich deze week aangemeld?” zonder je terminal te verlaten.
- Deployment triggers — “Deploy de staging branch naar test” — Claude Code roept je deployment pipeline aan.
- E-mail — “Staan er urgente berichten in mijn inbox?” — Claude Code leest je mail en geeft een samenvatting.
- Monitoring — “Zijn er fouten in het laatste uur?” — Claude Code checkt je logging platform.
Het kernidee: alles wat je kunt scripten, kun je als MCP tool beschikbaar maken.
Je eerste MCP server bouwen
Laten we een simpele bouwen. Een server die build status en test coverage ophaalt — het soort informatie waarvoor je normaal alt-tab naar een browser.
Je hebt Python nodig en het fastmcp package:
pip install fastmcp
Maak dan een bestand aan, bijvoorbeeld build_server.py:
from fastmcp import FastMCP
mcp = FastMCP("build-status")
@mcp.tool()
def get_build_status(project: str) -> str:
"""Get the latest build status for a project."""
# In de praktijk: roep hier je CI/CD API aan
return f"Build for {project}: passed"
@mcp.tool()
def get_test_coverage(project: str) -> str:
"""Get the test coverage for a project."""
# In de praktijk: ophalen uit SonarQube, Coverlet, etc.
return f"Coverage for {project}: 87%"
if __name__ == "__main__":
mcp.run()
Dat is alles. Twee decorators, twee functies, en je hebt een MCP server met twee tools.
De @mcp.tool() decorator registreert de functie als een tool die Claude Code kan ontdekken en aanroepen. De docstring wordt de toolbeschrijving — Claude Code gebruikt die om te beslissen wanneer het de tool aanroept. De type hints vertellen welke parameters verwacht worden.
Koppelen aan Claude Code
Open je Claude Code settings bestand (~/.claude/settings.json of de project-level .claude/settings.json) en voeg je server toe:
{
"mcpServers": {
"build-status": {
"command": "python",
"args": ["path/to/build_server.py"]
}
}
}
Herstart Claude Code. Je tools zijn nu beschikbaar. Vraag “Wat is de build status van my-api?” en Claude Code roept achter de schermen get_build_status("my-api") aan.
Geen prompt engineering. Geen API-responses copy-pasten. Claude Code handelt de toolselectie en parametermapping zelf af.
Van speelgoedvoorbeeld naar echte tool
Ik ben niet gestopt bij build status. Ik heb een MCP server gebouwd voor Apple Mail — apple-mail-mcp — met meer dan 25 tools. E-mails lezen, zoeken op afzender, berichten verplaatsen, concepten beheren, conversaties exporteren.
Het begon klein. Eén tool om de inbox te lezen. Toen eentje om te zoeken op onderwerp. Toen eentje om e-mails naar mappen te verplaatsen. Voor ik het wist had ik een complete e-mailbeheerlaag die Claude Code kon bedienen.
Het praktische resultaat: ik kan zeggen “Check mijn inbox op berichten van de klant over de migratie” en Claude Code leest mijn mail, vindt de relevante berichten, en vat ze samen. Geen apps wisselen, geen door threads scrollen.
Een paar dingen die ik leerde bij het bouwen:
- Docstrings zijn belangrijk. Claude Code gebruikt ze om te bepalen welke tool het aanroept. Vage beschrijvingen leiden tot verkeerde toolselectie.
- Houd tools gefocust. Eén tool per actie. Bouw geen “doe alles”-tool — Claude Code werkt beter met veel kleine, specifieke tools.
- Voeg veiligheidslimieten toe. Mijn mailserver kapt batch-operaties af op 10 berichten. Je wilt niet dat een AI per ongeluk 500 e-mails archiveert.
- Test met echte scenario’s. De tool werkt anders wanneer Claude Code zelf de parameters bepaalt dan wanneer je ze hardcoded in tests.
De eerlijke nuance
MCP is nog jong. Dit moet je weten:
Het ecosysteem groeit, maar is niet volwassen. Er zijn MCP servers voor GitHub, Slack, databases en meer — maar veel zijn community-built en variëren in kwaliteit. Verwacht nog geen plug-and-play voor elke dienst.
Debuggen kan lastig zijn. Als een tool faalt, zijn de foutmeldingen niet altijd duidelijk. Soms roept Claude Code een tool aan met onverwachte parameters. Alles loggen in je server helpt.
Het voegt een dependency toe. Je workflow hangt nu af van een extern serverproces. Als het crasht, verliest Claude Code de toegang tot die tools. Een startup wrapper script (zoals een start_mcp.sh) dat venv-creatie en herstarts afhandelt helpt.
Security is jouw verantwoordelijkheid. Een MCP tool die je productiedatabase bevraagt is krachtig — en gevaarlijk. Denk na over wat je beschikbaar stelt en voeg passende beveiligingen toe.
Niets hiervan is een dealbreaker. Maar het is goed om te weten waar je aan begint.
Waar te beginnen
Als dit iets heeft aangewakkerd, is dit mijn suggestie:
Kies één ding waar je vijf keer per dag naar alt-tabt. Je build server. Je issue tracker. Je deployment dashboard. Bouw dan een MCP server met één tool die je die informatie geeft.
Begin met een hardcoded response — gewoon om het werkend te zien in Claude Code. Vervang dan de echte API-call. Voeg dan een tweede tool toe. Je zult verrast zijn hoe snel het nuttig wordt.
De FastMCP documentatie is goed. En als je een volledig voorbeeld wilt zien, mijn apple-mail-mcp server is open source.
MCP maakt van Claude Code meer dan een code-assistent — het wordt iets dat dichter bij een echte collega komt. Eentje die de build kan checken, de logs kan lezen, en je kan vertellen wat er aan de hand is. Dat is de twintig minuten waard die het kost om je eerste server te bouwen.
Heb je al een MCP server gebouwd, of ben je van plan? Ik ben benieuwd welke tools je als eerste zou koppelen. Stuur me een bericht via de contactpagina.