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

> 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.

Source: https://ailoot.ai/blog/nl/mcp-servers-claude-code/
Canonical: https://ailoot.ai/blog/nl/mcp-servers-claude-code/
Language: nl
Publisher: Ailoot (https://ailoot.ai/)
Translation: guide-172
Revision: sha256-4a9fc5f5c5bd43d38737450a1da24498944afa2b46b1d7d0a5cc8e8ea4b09173


Aanvullende instructies voor het werken met Ailoot staan in de [documentatie](https://ailoot.ai/docs/).



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

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Belangrijkste punten in dit onderdeel">

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.

</div>

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).

<figure>
<blockquote>
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.
</blockquote>
<figcaption>— Model Context Protocol, https://modelcontextprotocol.io/</figcaption>
</figure>

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?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Belangrijkste punten in dit onderdeel">

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.

</div>

Een eenvoudige tabel om de verschillen uit elkaar te houden:

| Mechanisme | Wat het is | Wanneer je het gebruikt | Kosten in tokens |
|----|----|----|----|
| Skill | Een bestand met instructies en prompts in `.claude/skills/` | Een workflow komt steeds terug: een e-mail schrijven, een rapport samenstellen, een bericht publiceren | Laag. Wordt geladen bij een trigger |
| Subagent | Een aparte agent met eigen context en tools | Een lange parallelle taak: beoordelen, auditen, onderzoeken | Gemiddeld. Eigen context |
| MCP-server | Een dienst met tools/resources via JSON-RPC | Live toegang tot gegevens nodig: database, e-mail, messenger, repository | Gemiddeld 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](https://ailoot.ai/blog/nl/claude-code-skills-library/) en [Claude Code-subagents: 5 kant-en-klare voorbeelden](https://ailoot.ai/blog/nl/claude-code-subagents/).

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

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Belangrijkste punten in dit onderdeel">

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.

</div>

De volledige syntaxis uit de officiële documentatie:

```bash
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:

```bash
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](https://ailoot.ai/docs/). Raadpleeg de README van de gekozen MCP-server voor de bijbehorende opdrachten.

## stdio of HTTP: welk transport kies je?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Belangrijkste punten in dit onderdeel">

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.

</div>

Vergelijking op basis van de belangrijkste criteria:

| Criterium | stdio | HTTP |
|----|----|----|
| Waar het draait | Lokaal (een onderliggend proces van Claude Code) | Externe server |
| Autorisatie | Niet nodig | OAuth 2.1 of Bearer-token |
| Netwerkpoorten | Geen | Openbaar adres |
| Gebruikssituaties | Filesystem, Postgres, lokale hulpprogramma's | GitHub, Slack, Notion, Linear, Sentry |
| Opnieuw verbinden | Niet nodig | Exponentiële back-off, maximaal 5 pogingen |
| Implementatie | Lokale pakketinstallatie | Dienst 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

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Belangrijkste punten in dit onderdeel">

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.

</div>

### 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):

```bash
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](https://github.com/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:

```bash
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):

```bash
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](https://github.com/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):

```bash
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):

```bash
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](https://developers.notion.com/guides/mcp/get-started-with-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):

```bash
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](https://github.com/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):

```bash
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](https://github.com/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

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Belangrijkste punten in dit onderdeel">

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.

</div>

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`:

```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](https://code.claude.com/docs/en/hooks#pretooluse-decision-control) terug, niet de oude bovenniveauvorm `decision: approve/block`:

```bash
#!/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](https://ailoot.ai/blog/nl/claude-code-plan-mode/); daar staat vergelijkbare logica om “te controleren vóór uitvoering”.

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

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Belangrijkste punten in dit onderdeel">

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.

</div>

Volgens de [Claude Code-documentatie](https://code.claude.com/docs/en/mcp#scale-with-mcp-tool-search) 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](https://ailoot.ai/blog/nl/claude-code-token-limits-saving/).

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

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Belangrijkste punten in dit onderdeel">

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.

</div>

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

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Belangrijkste punten in dit onderdeel">

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.

</div>

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](https://ailoot.ai/blog/nl/claude-code-token-limits-saving/).

## Problemen met een MCP-verbinding oplossen

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Belangrijkste punten in dit onderdeel">

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.

</div>

Stapsgewijze checklist:

1.  **Is de server zichtbaar in de lijst?**

    ```bash
    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?**

    ```bash
    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?**

    ```bash
    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:

    ```bash
    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

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Belangrijkste punten in dit onderdeel">

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.

</div>

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:

```bash
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](https://ailoot.ai/blog/nl/claude-md-template/) heeft en je [context engineering](https://ailoot.ai/blog/nl/context-engineering/) begrijpt, kost het toevoegen van je eigen MCP één dag. Zonder die basis kun je beter eerst de basis leren.

<div class="section" role="doc-bibliography" aria-label="Bronnen">

### Bronnen

- [Model Context Protocol — officiële website](https://modelcontextprotocol.io/)
- [Anthropic introduceert MCP — 25 november 2024](https://www.anthropic.com/news/model-context-protocol)
- [Claude Code MCP-documentatie](https://code.claude.com/docs/en/mcp)
- [Claude Code: MCP Tool Search](https://code.claude.com/docs/en/mcp#scale-with-mcp-tool-search)
- [Aankondiging van Claude Code-plugins — 9 oktober 2025](https://claude.com/blog/claude-code-plugins)
- [Code with Claude 2026](https://claude.com/code-with-claude)
- [modelcontextprotocol/servers — officieel register](https://github.com/modelcontextprotocol/servers)
- [github/github-mcp-server](https://github.com/github/github-mcp-server)
- [microsoft/playwright-mcp](https://github.com/microsoft/playwright-mcp)
- [bytebase/dbhub — Postgres MCP](https://github.com/bytebase/dbhub)
- [getsentry/sentry-mcp](https://github.com/getsentry/sentry-mcp)
- [makenotion/claude-code-notion-plugin](https://github.com/makenotion/claude-code-notion-plugin)
- [Notion MCP-handleiding](https://developers.notion.com/guides/mcp/get-started-with-mcp)
- [Anthropic Claude Code-repository — issues en changelog](https://github.com/anthropics/claude-code)

</div>





Ga naar [Ailoot](https://ailoot.ai/) om verder met modellen te werken.

## 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.


## Ailoot · Het bedrijf en zijn projectenportefeuille

Ailoot bouwt op opgebouwde operationele ervaring, een groot klantenbestand, een stabiele dienst en doorlopende KPI-controle.

Het bedrijf en zijn projectenportefeuille: miljoenen klanten; maandelijkse verkopen in de miljarden.

Ailoot gebruikt die operationele ervaring voor API-toegang tot AI-functies in klantproducten, agents, applicaties en automatiseringen.
