Blog

MCP-servers voor Claude Code in 2026: 7 integraties en installatie

Markdown

Wat MCP is en hoe je het in 5 minuten aansluit met de opdracht claude mcp add. 7 servers: GitHub, Postgres, Slack, Notion, Sentry, Playwright. Stel een allowlist in via hooks.

Lees het volledige artikel

Aanvullende instructies voor het werken met Ailoot staan in de documentatie.

Wat is een MCP-server en waarom heeft Claude Code er een nodig?

Belangrijkste punten

MCP (Model Context Protocol) is een open standaard van Anthropic waarmee Claude Code via één uniforme interface toegang krijgt tot externe tools en gegevens. Eén protocol in plaats van tien verschillende API's. Anthropic noemt het “USB-C voor AI-toepassingen”: sluit de poort aan en Claude kan je database, e-mail, messenger of repository zien.

Anthropic kondigde MCP op 25 november 2024 aan als open standaard. In een jaar tijd werd het protocol een industriestandaard: OpenAI, Google DeepMind en Microsoft ondersteunen het. De officiële repository modelcontextprotocol/servers bevat referentieservers van het MCP-project zelf (Filesystem, Memory, Sequential Thinking, Fetch en andere); leveranciers als GitHub, Notion, Stripe, Linear, Cloudflare en Sentry publiceren MCP-servers in hun eigen repositories. In community-indexen loopt het totale aantal servers in de duizenden.

Technisch gezien werkt MCP via JSON-RPC 2.0. De architectuur is eenvoudig: Claude Code is de client, elke dienst is een server en de MCP-server ertussen heeft drie onderdelen: tools (wat de AI kan aanroepen), resources (wat de AI kan lezen) en prompts (kant-en-klare sjablonen).

Net zoals USB-C een standaardmanier biedt om apparaten met verschillende randapparatuur te verbinden, biedt MCP een standaardmanier om AI-modellen met verschillende gegevensbronnen en tools te verbinden.
— Model Context Protocol, https://modelcontextprotocol.io/

Waarom dit belangrijk is voor een vibe coder: vóór MCP was elke verbinding tussen Claude en een externe dienst een aparte integratie met een eigen wrapper. Met MCP sluit je Postgres, Slack en GitHub aan met drie vergelijkbare opdrachten. Ontkoppelen is net zo eenvoudig wanneer je de dienst niet meer nodig hebt.

Waarin verschilt MCP van Skills en subagents?

Belangrijkste punten

De drie mechanismen lijken op elkaar, maar lossen verschillende problemen op. Skills zijn je workflows en prompts in codevorm. Subagents zijn aparte gespecialiseerde “collega's” met hun eigen context. MCP biedt externe tools waarmee Claude diensten en gegevens kan bereiken. De kosten in tokens verschillen: een Skill is het goedkoopst, terwijl MCP meestal duurder is. MCP plaatst aanvankelijk alleen toolnamen en serverinstructies in de context; Claude laadt volledige beschrijvingen wanneer dat nodig is. De meeste kosten komen van dienstreacties: die kunnen groot zijn en in het gesprek blijven staan.

Een eenvoudige tabel om de verschillen uit elkaar te houden:

MechanismeWat het isWanneer je het gebruiktKosten in tokens
SkillEen bestand met instructies en prompts in .claude/skills/Een workflow komt steeds terug: een e-mail schrijven, een rapport samenstellen, een bericht publicerenLaag. Wordt geladen bij een trigger
SubagentEen aparte agent met eigen context en toolsEen lange parallelle taak: beoordelen, auditen, onderzoekenGemiddeld. Eigen context
MCP-serverEen dienst met tools/resources via JSON-RPCLive toegang tot gegevens nodig: database, e-mail, messenger, repositoryGemiddeld of hoog. Alleen toolnamen blijven in de context; beschrijvingen worden op verzoek geladen en dienstreacties kunnen groot zijn

Praktische vuistregel: als een taak één keer is vastgelegd en als tekst wordt herhaald, is het een Skill. Als de AI een live reactie van een extern systeem nodig heeft, is het MCP. Als de taak lang en vertakt is en een afzonderlijk brein nodig heeft, is het een subagent.

Meer over de twee verwante mechanismen: Claude Code Skills: zo bouw je je eigen bibliotheek en Claude Code-subagents: 5 kant-en-klare voorbeelden.

Een MCP-server installeren: je eerste opdracht in 5 minuten

Belangrijkste punten

Dezelfde syntaxis werkt voor elk geval: claude mcp add [name] -- [launch command]. De server verschijnt in de lijst van claude mcp list. Claude ontdekt vervolgens de tools van de server en begint ze in het gesprek te gebruiken. Je hoeft de configuratie niet handmatig te bewerken: alles gaat via de CLI.

De volledige syntaxis uit de officiële documentatie:

claude mcp add <name> [options] -- <command> [args...]

Er worden drie transporttypen ondersteund: --transport stdio (standaard, een lokaal proces), --transport http (externe HTTP) en --transport sse (gemarkeerd als verouderd; gebruik dit alleen als de server nog niet is overgestapt).

Via de vlag --scope worden drie scopes ondersteund:

  • local — alleen in de huidige projectmap (standaard).
  • project — wordt opgeslagen in .mcp.json, gecommit naar de repository en beschikbaar voor het hele team.
  • user — globaal voor alle projecten op de computer.

Een minimaal voorbeeld met de referentie-Filesystem-server van het MCP-project. Die start binnen een halve minuut:

claude mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem@2026.8.31 /Users/me/projects
claude mcp list

Na list zie je filesystem in de lijst als de map uit de opdracht bestaat; zonder die map start de server niet. De server kan de werkmappen van Claude Code zien, dus de map waarin je Claude Code hebt gestart. Hieronder, in 5.2, leg ik uit waarom dat zo is en wanneer deze server echt nuttig is.

Controleer of MCP is verbonden door /mcp uit te voeren in een Claude Code-sessie. Je ziet dan alle servers, hun status en hun tooloverzichten. Aanvullende instructies voor het werken met Ailoot staan in de documentatie. Raadpleeg de README van de gekozen MCP-server voor de bijbehorende opdrachten.

stdio of HTTP: welk transport kies je?

Belangrijkste punten

stdio is een lokaal proces op je computer; alles werkt zonder netwerk en OAuth is niet nodig. HTTP is een externe dienst die je met een token of OAuth benadert en die je tussen apparaten kunt delen. Als je een MCP-server installeert via npx of uvx, gebruikt die stdio. Heeft een dienst een eigen openbaar serviceadres, dan gebruikt die HTTP. SSE is officieel als verouderd gemarkeerd, dus vertrouw er niet op.

Vergelijking op basis van de belangrijkste criteria:

CriteriumstdioHTTP
Waar het draaitLokaal (een onderliggend proces van Claude Code)Externe server
AutorisatieNiet nodigOAuth 2.1 of Bearer-token
NetwerkpoortenGeenOpenbaar adres
GebruikssituatiesFilesystem, Postgres, lokale hulpprogramma'sGitHub, Slack, Notion, Linear, Sentry
Opnieuw verbindenNiet nodigExponentiële back-off, maximaal 5 pogingen
ImplementatieLokale pakketinstallatieDienst van de leverancier

Vuistregel: alles wat op je schijf of in een lokale database staat, gebruikt stdio. Alles in de cloud gebruikt HTTP. SSE is officieel verouderd; kies het niet.

7 kant-en-klare MCP-servers voor ondernemers

Belangrijkste punten

Hier zijn zeven configuraties die 80% van de taken van een vibe coder afdekken: code (GitHub), bestanden (Filesystem), database (Postgres via DBHub), teamcommunicatie (Slack), kennisbank (Notion), foutopsporing (Sentry) en browserworkflows (Playwright). Bij elke configuratie geef ik hieronder een installatieopdracht van één regel en een voorbeeld van hoe je Claude in een echt gesprek precies kunt vragen het werk uit te voeren.

5.1. GitHub MCP — de officiële server van GitHub

Wat het doet: geeft Claude Code toegang tot issues, pull requests, repositorybestanden en actieruns. De server is open source en heeft meer dan 30.000 sterren op GitHub.

Installatie (HTTP, via OAuth):

claude mcp add --transport http github https://api.githubcopilot.com/mcp/

Je kunt ook stdio via Docker gebruiken als je in plaats van OAuth een PAT-token nodig hebt.

Voorbeeld: “Lees de open issues met het label bug, groepeer ze per component en stel voor in welke volgorde we ze kunnen sluiten.” Claude roept GitHub MCP aan, leest alle issues en geeft een geprioriteerde lijst terug.

Repository: github/github-mcp-server.

5.2. Filesystem MCP — de referentieserver van het MCP-project

Wat het doet: geeft de AI toegang tot bestanden op de computer binnen goedgekeurde mappen. De server is uitgebracht door het MCP-project zelf; het npm-register vermeldt Model Context Protocol a Series of LF Projects, LLC als auteur.

Installatie (stdio), met een vastgepinde versie:

claude mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem@2026.8.31 /Users/me/projects

Wanneer Claude Code verbinding maakt, geeft het zijn werkmappen door aan de server. Die vervangen alles wat in de opdracht is opgegeven. De werkmappen van Claude Code zijn de map waarin je het programma hebt gestart, plus mappen die zijn toegevoegd met de opdracht /add-dir of de vlag --add-dir. Je kunt de server via de opdracht geen aparte map met mock-ups geven. De map in de opdracht moet wel bestaan, anders start de server niet.

In Claude Code is dit dus grotendeels een duplicaat van de ingebouwde tools. Voor toegang tot bestanden in een andere map volstaat /add-dir: daarna kunnen de eigen tools van Claude Code die map ook lezen. De server is nuttiger voor programma's die zelf geen toegang tot bestanden hebben. In Claude Desktop kan zich een ander probleem voordoen: de tools van de server worden geweigerd omdat hun beschrijvingen een oud schemaformaat gebruiken; dit probleem is nog steeds open.

Geef alleen toegang tot de mappen die je echt nodig hebt, zowel in de opdracht als via /add-dir. Geef geen toegang tot de hoofdmap van de schijf: dat is het eerste beveiligingslek.

Voorbeeld: voer eerst /add-dir ~/Documents/design uit en vraag daarna: “Verplaats alle mock-ups uit ~/Documents/design/landing-v3/ naar het huidige project en hernoem ze volgens de conventie hero-*.png.”

5.3. Postgres MCP — DBHub (Bytebase)

Wat het doet: verbindt Claude met Postgres, MySQL, SQL Server, MariaDB of SQLite. De server ondersteunt de alleen-lezenmodus, zodat de AI-agent de database niet met één opdracht kan verwijderen. Hij wordt vaak gebruikt als vervanging voor de gearchiveerde referentieserver server-postgres van Anthropic.

Installatie (HTTP, alleen-lezen):

claude mcp add postgres -- npx -y @bytebase/dbhub --dsn "postgresql://user:pass@localhost:5432/mydb?sslmode=disable" --readonly

Gebruik voor een productiedatabase altijd een aparte gebruiker met alleen-lezenrechten en anonimiseer persoonsgegevens via een VIEW of tussenliggende API-route. Verbind nooit met schrijfrechten met een productiedatabase.

Voorbeeld: “Vraag klanten op met de abonnementsstatus expired uit de afgelopen maand en geef de top 20 weer op basis van het totale betalingsbedrag.”

Repository: bytebase/dbhub.

5.4. Slack MCP — teamcommunicatie

Wat het doet: geeft Claude toegang om Slack-kanalen te lezen en berichten te versturen. Handig voor automatisering: “Plaats een bericht in #releases zodra de build slaagt”; “Maak een weekoverzicht van #engineering.”

Installatie (stdio via een npx-wrapper, zoals @modelcontextprotocol/server-slack of een equivalent van een leverancier):

claude mcp add slack \
  -e SLACK_BOT_TOKEN=xoxb-... \
  -e SLACK_TEAM_ID=T0... \
  -- npx -y @modelcontextprotocol/server-slack

Autorisatie verloopt via een Slack Bot Token; toegang wordt beperkt met scopes aan de kant van Slack. Je kunt de AI alleen chat:read en chat:write:user geven; dan kan die de workspace-instellingen niet aanpassen. Raadpleeg de README van de gekozen server voor actuele opdrachten; het ecosysteem verandert snel.

Voorbeeld: “Stuur elke ochtend om 9:00 een lijst met de PR's die gisteren zijn gemerged naar #daily.”

5.5. Notion MCP — kennisbank

Wat het doet: geeft Claude toegang tot Notion-pagina's en databases. Het is een kennisbank buiten je project: als je daar notities, een klantenregister of redactioneel beleid bewaart, kan de AI die lezen.

Installatie (HTTP, via OAuth):

claude mcp add --transport http notion https://mcp.notion.com/mcp

Je kunt ook de officiële plugin @makenotion/claude-code-notion-plugin van Anthropic gebruiken.

Voorbeeld: “Zoek in de Notion-database ‘Customers’ iedereen met de status ‘active’ die langer dan twee weken geen gesprek heeft gehad. Maak voor ieder van hen een e-mailconcept.”

Handleiding van Notion: developers.notion.com/guides/mcp.

5.6. Sentry MCP — foutopsporing

Wat het doet: verbindt Claude met fouten in je productiesysteem. Als een pagina een 500-fout geeft, kun je vragen: “Toon de 10 nieuwste issues in Sentry voor het project en leg de onderliggende oorzaak van elk uit.” Je krijgt dan meteen een analyse.

Installatie (HTTP):

claude mcp add --transport http sentry https://mcp.sentry.dev/mcp

Autorisatie verloopt via Sentry OAuth. Je kunt de toegang beperken tot een specifiek project.

Voorbeeld: “Neem de drie meest voorkomende issues uit de afgelopen 24 uur. Leg in gewone taal uit wat er is gebeurd en stel voor hoe we het kunnen oplossen.”

Repository: getsentry/sentry-mcp.

5.7. Playwright MCP — browserworkflows

Wat het doet: geeft Claude een browser. De AI kan een pagina openen, klikken, een formulier invullen en een screenshot maken. Handig voor interfacecontroles, handmatig testen na publicatie en het analyseren van workflows.

Installatie (stdio):

claude mcp add playwright -- npx -y @playwright/mcp@latest

Versie v0.0.75, uitgebracht op 7 mei 2026, wordt actief onderhouden door Microsoft (meer dan 32.000 sterren).

Voorbeeld: “Open de startpagina van onze website, controleer of alle kaarten correct worden weergegeven en maak een screenshot op desktop en mobiel.”

Repository: microsoft/playwright-mcp.

Raadpleeg de README van de gekozen Playwright MCP-versie voor de opdracht met een vastgepinde versie, de vlag voor meerdere gelijktijdige sessies en veelvoorkomende installatiefouten.

Beveiliging beheren met een PreToolUse-hook

Belangrijkste punten

MCP geeft AI veel macht: het kan naar databases schrijven, berichten versturen en bestanden verwijderen. Een PreToolUse-hook kan overeenkomende toolaanroepen controleren, maar een SQL-prefixregex is geen databaseautorisatie en een Postgres-matcher dekt Slack- of bestandstools niet. Gebruik eerst echte dienst- en bestandsrechten en test het exacte hookbereik afzonderlijk.

Een SQL-prefixblokkeerlijst is geen alleen-leesgrens: kleine letters, opmerkingen, UPDATE, INSERT, ALTER, meerdere instructies en functies met neveneffecten vallen buiten drie hoofdletterprefixen. Geef de databaseverbinding een aparte rol met alleen-leestoekenningen en controleer die op een wegwerptestdatabase. Een hook is extra toolaanroepcontrole, geen vervanging van die rechten.

Hier volgt een bewust smal quarantainevoorbeeld: weiger alle aanroepen via de drie genoemde MCP-serverfamilies totdat je een specifiek beleid hebt beoordeeld en getest. Het blokkeert lezen én schrijven. Stem patronen op echte server-/toolnamen af; een hernoemde server, ingebouwde Bash of andere connector valt buiten deze patronen.

Zet de afzonderlijke regels in .claude/settings.json:

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "mcp__postgres__.*",
        "hooks": [{"type": "command", "command": "bash \"$CLAUDE_PROJECT_DIR/.claude/hooks/deny-unapproved-mcp.sh\""}]
      },
      {
        "matcher": "mcp__slack__.*",
        "hooks": [{"type": "command", "command": "bash \"$CLAUDE_PROJECT_DIR/.claude/hooks/deny-unapproved-mcp.sh\""}]
      },
      {
        "matcher": "mcp__filesystem__.*",
        "hooks": [{"type": "command", "command": "bash \"$CLAUDE_PROJECT_DIR/.claude/hooks/deny-unapproved-mcp.sh\""}]
      }
    ]
  }
}

Bewaar dit script als .claude/hooks/deny-unapproved-mcp.sh. Het geeft het gedocumenteerde PreToolUse-besliscontract terug, niet de oude bovenniveauvorm decision: approve/block:

#!/bin/bash
printf '%s\n' '{"hookSpecificOutput":{"hookEventName":"PreToolUse","permissionDecision":"deny","permissionDecisionReason":"This MCP server family is quarantined pending a reviewed policy."}}'

Dit script ontleedt of classificeert geen SQL en weigert elke overeenkomende aanroep. Controleer match en hookresultaat in een geïsoleerde sessie vóór waardevolle gegevens: SELECT 1, delete in kleine letters, een UPDATE met een opmerking ervoor, een Slack-lees- of verzendtool en Filesystem-lezen van .env moeten worden geweigerd wanneer hun toolnamen matchen. Een tool uit een andere serverfamilie blijft buiten het voorbeeld; controleer die aparte grens expliciet.

Gebruik voor alleen-lezen databasewerk gecontroleerde databaserechten en vervang quarantaine door beoordeeld beleid voor de echte tools. Gebruik voor Slack een sleutel zonder verzendrechten als alleen lezen nodig is. Beperk voor bestanden de toegestane serverhoofdlocaties en bestandssysteemrechten van het proces. Claim niet dat deze hook toegang via andere tools, shellopdrachten, promptbijlagen of een door de agent bewerkbaar beleidsbestand verhindert.

Dezelfde aanpak wordt uitgebreider behandeld in de handleiding Plan Mode in Claude Code; daar staat vergelijkbare logica om “te controleren vóór uitvoering”.

Wat doe je als je 40+ tools hebt en Claude de weg kwijtraakt?

Belangrijkste punten

Zeven servers kunnen al snel 50–100 tools betekenen. Claude Code gebruikt standaard Tool Search: bij het opstarten komen alleen toolnamen en serverinstructies in de context; Claude laadt de volledige beschrijving wanneer het een tool nodig heeft. Als zoeken uitstaat, worden alle beschrijvingen tegelijk geladen. Na ongeveer 40 tools raakt Claude in de war: het kiest de verkeerde tool of grijpt naar MCP terwijl een gewone opdracht volstaat.

Volgens de Claude Code-documentatie is het nu standaard ingeschakeld en hoef je het niet handmatig aan te zetten.

Uitzonderingen waarbij Claude Code alle tools meteen laadt: werken via een proxy van een derde partij (wanneer ANTHROPIC_BASE_URL is ingesteld op een ander adres dan dat van Anthropic), modellen ouder dan generatie 4.5 in Google Cloud en Microsoft Foundry-implementaties op Azure. De variabele ENABLE_TOOL_SEARCH verandert het gedrag:

  • niet ingesteld — alle MCP-tools worden uitgesteld en op verzoek geladen;
  • true — hetzelfde, plus Claude Code probeert zoeken via een proxy in te schakelen;
  • auto — drempelmodus: zolang alle toolbeschrijvingen minder dan 10% van het contextvenster innemen, worden ze meteen geladen; daarboven worden ze uitgesteld;
  • auto:N — hetzelfde, maar met een aangepast percentage als drempel, bijvoorbeeld auto:5;
  • false — het oude gedrag; alle tools staan meteen in de context.

Voor kritieke tools die altijd zichtbaar moeten zijn, is er de vlag alwaysLoad: true in .mcp.json naast de serverbeschrijving. Elke tool met deze vlag neemt vanaf de eerste minuut ruimte in de context in. Gebruik de vlag dus alleen voor tools die Claude bij bijna elk antwoord nodig heeft.

Als je vijf of meer MCP-servers hebt en Claude niet goed weet welke tool het moet aanroepen, controleer dan eerst of zoeken is uitgeschakeld: zoek in de instellingen naar ENABLE_TOOL_SEARCH=false en controleer of je via een proxy werkt.

Het kan ook helpen om de context te verkleinen met /compact.

Wanneer heb je MCP niet nodig: is een Skill, subagent of CLI beter?

Belangrijkste punten

MCP is qua tokens de duurste manier om Claude externe mogelijkheden te geven. Kan een kant-en-klare CLI-tool (gh issue list, psql, curl) of een Skill van één pagina de taak uitvoeren, gebruik die dan in plaats van MCP-servers te maken. Vuistregel: MCP is alleen gerechtvaardigd als de AI een live, tweerichtingsgesprek met een dienst nodig heeft, niet voor een eenmalig antwoord.

Volgorde op basis van tokenkosten en complexiteit:

  1. CLI-opdracht via Bash — vrijwel gratis. De AI voert gh pr list, psql -c of curl uit en krijgt een antwoord zoals een gewone terminalgebruiker.
  2. Skill — goedkoop. Een kant-en-klare promptsjabloon met instructies over wat er moet worden aangeroepen en hoe het resultaat moet worden verwerkt. Wordt geladen op basis van een trigger in de mapnaam.
  3. Subagent — gemiddeld. Afzonderlijke context voor een lange taak, met een eigen tokensessie.
  4. MCP-server — duur. Alleen toolnamen blijven in de context, maar de toolbeschrijving wordt geladen wanneer Claude de tool vóór een aanroep vindt. Dienstreacties kunnen groot zijn: Claude Code waarschuwt wanneer een toolreactie meer dan 10,000 tokens bevat. Voor HTTP is bovendien een OAuth-sessie nodig.

Tegenintuïtief advies: kies voor het verwerken van webpagina's, werken met git, openen van PDF's en gebruik van open source-hulpprogramma's CLI in plaats van MCP. AI kan terminalopdrachten net zo goed aanroepen als een mens. Tokens worden dan alleen besteed aan de opdracht en het antwoord, zonder toolbeschrijvingen of serveroverhead.

MCP is in twee gevallen gerechtvaardigd:

  • De dienst is gesloten: Slack, Notion, Sentry, Linear. Er bestaan ook CLI-tools, maar MCP biedt fijnmaziger toegang via OAuth en scopebeheer.
  • Er is een live tweerichtingsgesprek nodig: AI maakt verbinding met Postgres, controleert het schema, stelt een vervolgvraag, haalt de gegevens op en voert de volgende stap uit. Met CLI zou dat neerkomen op 10 handmatige opdrachten.

6 antipatronen bij MCP-verbindingen

Belangrijkste punten

Zes concrete fouten waar vibe coders in hun eerste weken met MCP tegenaan lopen. Elk antipatroon is binnen een minuut te verhelpen: open claude mcp list, bekijk de lijst en controleer scopes en hooks. De meeste problemen los je op door een onnodige server te verwijderen, niet door een nieuwe toe te voegen. Dit onderdeel is een korte checklist om van boven naar beneden door te lopen.

  1. MCP-verzameling. Je hebt voor de zekerheid 10 servers verbonden; Claude raakt in de war over welke tool het moet aanroepen en hun reacties vullen de context. Oplossing: houd 3–5 servers voor het huidige project en verwijder de rest met claude mcp remove.

  2. Schrijftoegang tot een productiedatabase. Je hebt Postgres MCP verbonden met een productiedatabase zonder --readonly, aparte gebruiker of allowlist-hook. Eén prompt — “verwijder de testrecords” — en de productiegegevens zijn weg. Oplossing: een aparte databaserol met gecontroleerde alleen-leesrechten, waar toepasselijk de alleen-leesmodus van de server en geteste toolaanroepcontrole. Een DROP|TRUNCATE|DELETE-prefixblokkeerlijst is onvoldoende autorisatie.

  3. PII zonder anonimisering. Je hebt een database met e-mailadressen, telefoonnummers en paspoortgegevens van klanten rechtstreeks verbonden. Claude ziet de gegevens en ze belanden in de logs van Anthropic. Oplossing: een VIEW of tussenliggende API-route die gemaskeerde gegevens terugstuurt, zoals j***@gmail.com.

  4. MCP in plaats van een Skill. Je moet “een verkooprapport in formaat X maken”: een routinetaak die een Skill met een kant-en-klare prompt oplost. Maak hiervoor geen MCP-server.

  5. MCP in plaats van een open source-CLI. Je moet een PDF naar tekst omzetten. Daarvoor is pdftotext. Bouw geen “PDF MCP”: dat verspilt alleen tokens.

  6. Tokenkosten niet bijhouden. Je ziet de verbonden server in claude mcp list, maar niet hoeveel tokens die in elk gesprek gebruikt. Na een week weet je niet dat “MCP 40% van de context heeft verbruikt en ik daar al die tijd voor heb betaald.” Oplossing: schakel ongebruikte servers regelmatig uit en volg de gebruiksverandering via het bijhouden van gebruikslimieten in Claude Code.

Problemen met een MCP-verbinding oplossen

Belangrijkste punten

De meest voorkomende problemen: de OAuth-callback werkt niet, de servernaam botst met een bestaande naam of de tool verschijnt na add niet in claude mcp list. De standaardcontrole lost dit op: list toont wat verbonden is, status controleert de statusindicator en als die rood is, geeft logs een stacktrace. Start alles opnieuw nadat je --scope of een ENV-variabele hebt aangepast.

Stapsgewijze checklist:

  1. Is de server zichtbaar in de lijst?

    claude mcp list
    

    Zo niet, dan is claude mcp add niet voltooid. De meest voorkomende oorzaak is --scope: je hebt de server toegevoegd aan local en controleert vanuit een ander project.

  2. Is de serverstatus groen?

    claude mcp status <name>
    

    Rood betekent dat het proces niet is gestart (voor stdio) of dat de server niet heeft geantwoord (voor HTTP).

  3. Staat er iets bruikbaars in de serverlogs?

    claude mcp logs <name>
    

    Als je een stacktrace ziet, ligt het probleem meestal bij het pakket (npx kon het niet vinden of de Node-versie is lager dan 20).

  4. Komt de OAuth-callback niet terug? Meestal ligt het aan --callback-port of een netwerkfilter. Stuur een specifieke poort door:

    claude mcp add --transport http --callback-port 8765 [name] [url]
    
  5. Botsen toolnamen? Twee servers bieden een tool met dezelfde naam aan en Claude roept de verkeerde aan. Gebruik Tool Search (zie de vorige H2) of verwijder de extra server handmatig met claude mcp remove.

  6. Kun je de extensies (connectors) van claude.ai niet zien? Dit is een bekend probleem: extensies (connectors) uit de webinterface van claude.ai zijn niet beschikbaar in Claude Code wanneer het een API-sleutel gebruikt. Oplossing: verbind MCP via de CLI, niet via de webinterface.

Wat nu: OAuth, je eigen MCP-servers en de Plugin Marketplace

Belangrijkste punten

Na de zeven kant-en-klare servers zijn de volgende drie stappen: OAuth voor je eigen HTTP-servers instellen (als je MCP met je team wilt delen), je eigen MCP schrijven voor een unieke dienst en verbinding maken met Anthropic's Plugin Marketplace. De Marketplace werd gelanceerd op 9 oktober 2025 en verpakt MCP in plugins die je met één opdracht kunt installeren.

De Plugin Marketplace versnelt het werk voor iedereen die installatieopdrachten niet wil onthouden. Het formaat is een manifestbestand .claude-plugin/marketplace.json dat een verzameling servers in één pakket beschrijft.

Een plugin uit de marketplace installeren:

claude plugin install <plugin-name>

Een plugin kan meerdere MCP-servers, Skills en subagents tegelijk bevatten: een verpakte configuratie voor een specifieke situatie, zoals e-commerce, marketing of een juridische afdeling.

Schrijf je eigen MCP-server volgens de specificatie op modelcontextprotocol.io. Een minimaal sjabloon gebruikt de Python- of TypeScript-SDK van Anthropic; beschrijf daarna de tools en verbind een transport. De complexiteit is vergelijkbaar met het schrijven van een REST API met FastAPI.

Als je project al een geconfigureerde CLAUDE.md heeft en je context engineering begrijpt, kost het toevoegen van je eigen MCP één dag. Zonder die basis kun je beter eerst de basis leren.

Ga naar Ailoot om verder met modellen te werken.

Meer details

Vragen en antwoorden

Maakt deze hook productiedatabasetoegang alleen-lezen?

Nee. Het voorbeeld zet alle aanroepen die de genoemde MCP-families matchen in quarantaine en classificeert geen SQL. Alleen-leesgedrag moet komen van een aparte rol met gecontroleerde alleen-leestoekenningen; hooks dienen als extra controle.

Hoe test ik het bereik van de hook?

Controleer in een geïsoleerde sessie dat overeenkomende toolnamen voor lezen én schrijven worden geweigerd, inclusief SQL in kleine letters of met opmerkingen ervoor. Controleer daarna dat een ongerelateerde tool buiten de matcher valt; die ongedekte route heeft eigen rechten of beleid nodig.

Alle artikelen