Claude Platform 101
← Alle lessen
Les 09Claude Platform 101

Het onderhoudsprobleem

Samenvatting (audio)

Gesproken samenvatting — druk op afspelen om mee te lezen: de gesproken regel blijft bovenaan.

Studienotities

We hebben tools, skills en connectors. Dus waarom bestaat MCP? Op het eerste gezicht ziet het eruit als een tweede API bovenop de API. Terechte vraag — en het antwoord komt neer op wie de integratiescode onderhoudt.

Het onderhoudsprobleem

Stel dat je agent taken uit Asana moet ophalen, een Google Calendar moet controleren en Slack moet doorzoeken — allemaal tegelijk. Met aangepaste tools moet je drie integraties schrijven. Dat deel is haalbaar. Het pijnlijke deel komt daarna: je moet die integraties ook onderhouden elke keer dat een van die services zijn API wijzigt, wat vaak gebeurt. Gefeliciteerd, je onderhoudt nu een berg third-party API-wrappers.

MCP verschuift dat onderhoud naar de serviceprovider. Asana publiceert een MCP-server. Slack publiceert er een. Google publiceert er een. Elke server stelt zijn eigen tools beschikbaar — met beschrijvingen, schema's en authenticatie — via een standaardprotocol. Wanneer hun API verandert, updaten zij hun server. Jij verandert niets.

Tools vs. skills vs. MCP

Deze drie functies doen verschillende dingen:

  • Tools verbinden Claude met je interne systemen — je database, je projecttracker, je propriëtaire API's. Je bezit de code, dus je bezit ook het onderhoud.
  • Skills leren Claude een procedure — je rapportsjabloon, je beoordelingschecklist. Skills zijn instructies, niet noodzakelijk integraties.
  • MCP verbindt Claude met third-party services, waarbij de serviceprovider de integratie onderhoudt. Je schrijft de Asana-wrapper niet — Asana deed dat.

De korte versie: tools zijn voor jouw spullen, skills zijn voor jouw processen, en MCP is voor andermans spullen.

Vergelijkingskaarten voor Tools, Skills en MCP, met de MCP-kaart gemarkeerd: verbindt Claude met third-party services, onderhouden door de serviceprovider

Verbinding maken met een MCP-server

De schoonste manier om MCP te begrijpen is Claude naar een MCP-server te wijzen en het zelf te laten ontdekken wat daar is. Voor dit voorbeeld gebruiken we de Linear MCP-server, met de verbindingsgegevens en auth-token opgeslagen in een . env bestand.

Twee onderdelen werken samen in het verzoek. De mcp_servers sleutel declareert de verbinding — een type, een URL, een naam om ernaar te verwijzen, en optioneel een auth-token. Vervolgens configureert een tool met het type mcp_toolset welke tools Claude van die server kan gebruiken. De standaard is allemaal, maar als je het wilt beperken, doe je dat hier.

import os import anthropic

client = anthropic. Anthropic()

response = client. beta. messages. create( model="claude-opus-4-8", max_tokens=1000, messages=[ {"role": "user", "content": "What tools do you have available? "} ], mcp_servers=[ { "type": "url", "url": "https://mcp. linear. app/mcp", "name": "linear", "authorization_token": os. environ["LINEAR_MCP_TOKEN"], } ], tools=[ { "type": "mcp_toolset", "mcp_server_name": "linear", } ], betas=["mcp-client-2025-11-20"], )

print(response)

Merk op dat we nooit een enkel tool-schema hebben geschreven. Claude inspecteert de server, krijgt de lijst met tools en hun schema's terug, en kiest de juiste voor de prompt. Op het moment van deze les is de MCP-connector in bèta — let op de bèta-header in het verzoek.

Voer het uit, en als je MCP-URL naar Linear's MCP-eindpunt wijst, somt Claude Linear's tools op en roept er vervolgens een aan. Hetzelfde werkt voor vrijwel elke conforme server. We hebben geen enkele tool gedefinieerd. We hebben geen Linear-client geschreven. Linear onderhoudt dat.

Terminaluitvoer met de ontdekte tools van de Linear MCP-server, gevolgd door Claude die opmerkt dat het Linear-projectmanagementtools zijn en kiest welke aan te roepen

Filteren welke tools Claude kan gebruiken

MCP-servers stellen vaak veel, veel tools beschikbaar — en je wilt niet altijd dat Claude ze allemaal gebruikt. Misschien wil je niet dat het schrijfrechten heeft, of je wilt gewoon niet dat al die tool-definities context innemen.

De oplossing: schakel alles standaard uit en schakel vervolgens alleen de specifieke tools in die je wilt. Hier is dat patroon met een Slack MCP-server:

tools=[ { "type": "mcp_toolset", "mcp_server_name": "slack", "default_config": { "enabled": False, }, "configs": { "search_messages": {"enabled": True}, "list_channels": {"enabled": True}, }, } ]

Nu kan Claude Slack doorzoeken en kanalen weergeven, maar het kan niet posten of verwijderen. Dit is handig wanneer je een service vertrouwt voor leesbewerkingen maar niet wilt dat Claude per ongeluk namens je schrijft.

Samenvatting

  • **MCP bestaat zodat je integraties niet hoeft te onderhouden die iemand anders al heeft gebouwd. ** De serviceprovider publiceert een MCP-server en houdt deze up-to-date — je verandert niets wanneer hun API verandert.
  • Kies de juiste functie voor de taak: tools voor je gegevens, skills voor je proces, MCP voor third-party services.
  • Declareer de verbinding in mcp_servers (type, URL, naam, optioneel auth-token) en verleen toegang met een mcp_toolset invoer in tools. Claude inspecteert de server en ontdekt de tools zelf — geen schema's om te schrijven.
  • Beperk de toegang door default_config: {"enabled": False} in te stellen en specifieke tools in configs in te schakelen — handig om een server alleen-lezen te houden.
  • De MCP-connector is momenteel in bèta, dus voeg de bèta-header toe aan je verzoeken.
  • Bezoek **modelcontextprotocol. io** voor de lijst met beschikbare servers en om meer over het protocol te leren.
Flashcards 8 kaarten
Vraag
klik om te onthullen · ←/→
Antwoord
klik om terug te draaien
Exporteren naar Anki (.tsv) ↓
Kenniscontrole 6 vragen