Ga naar inhoud

Het Model Context Protocol (MCP) verkennen met Drupal

Albert Skibinski •
Een visuele weergave van het M×N-architectuurprobleem

In november vorig jaar kondigde Anthropic het Model Context Protocol (MCP) aan. Het krijgt momenteel veel aandacht, dus ik was benieuwd waar het precies om draait en of ik snel een demo kon bouwen om ermee te spelen.

Er is al veel geschreven over wat MCP is (ik vind dit een goed artikel) en je kunt ook de officiële documentatie lezen. Maar voor mij viel het kwartje toen ik begreep welk probleem het oplost.

Dit bericht staat op X (Twitter).

Lees het oorspronkelijke bericht Bij laden maak je verbinding met X.

Het zorgt ervoor dat AI's niet elke API hoeven te begrijpen. Ze hoeven alleen dit protocol te ondersteunen en elke API hoeft alleen een MCP-server aan te bieden, die je kunt zien als een wrapper om je API. Zo kan elke AI op een standaardmanier tools ontdekken en hun mogelijkheden gebruiken.
Als je een publieke API hebt, kan iedereen er een MCP-server voor maken. Sterker nog, Claude kan die prima voor je bouwen als je erom vraagt.

Drupal
In mijn geval wilde ik kijken hoe ik snel een MCP-server kon bouwen voor de content die we bij Jafix hebben, om die beschikbaar te maken voor Claude Desktop. Er bleken al slimme mensen een MCP-module te hebben gemaakt. Nog erg bèta en volop in ontwikkeling, maar precies wat ik nodig had.

Het protocol zelf gebruikt JSON-RPC 2.0 tussen client en server. De module biedt twee manieren om een server te maken: met de meegeleverde binary, een eigen TS-build (GitHub) op basis van de SDK die STDIO gebruikt. Of je gebruikt Drupal rechtstreeks als server via SSE.

Ik koos voor de eerste methode omdat die beter leek te passen. Drupal als server gebruiken zou nog een laag toevoegen aan een toch al complex systeem dat niet echt voor dit soort realtimecommunicatie is ontworpen. Als opslag voor resources is het juist heel geschikt.

Na het instellen werkte het!

Drupal als MCP-server voor Claude Desktop op Linux

Bekijk op YouTube YouTube wordt pas geladen als je op de knop klikt.
Claude Desktop gebruikt Drupal MCP

Let op: er is geen officiële Claude Desktop voor Linux, maar deze werkt op Ubuntu (het bouwen ervan kostte waarschijnlijk de meeste tijd).

Mogelijkheden
Hoewel deze demo met Drupal niet bijzonder nuttig was, biedt MCP veel manieren om je workflows te automatiseren. Er zijn al heel veel servers die je aan Claude kunt koppelen. En mensen bouwen allerlei coole integraties.
Je kunt bijvoorbeeld een Playwright-server gebruiken die een browser bedient en dingen op het web doet of ophaalt. Of integreren met je Gmail, Calendar, Jira, GitHub... De lijst is lang en de mogelijkheden zijn eindeloos.

Ondersteuning
Op dit moment ondersteunt nog maar een vrij korte lijst clients het: Claude Desktop, Cursor, Windsurf, Cline... Maar die lijst zal ongetwijfeld snel groeien. Ik ben erg benieuwd naar ondersteuning van de andere grote spelers, zoals OpenAI, Google of Mistral. Dat zou mooi zijn.

Wordt het de standaard? Er zit momenteel veel vaart achter, maar er zijn ook alternatieven (waarvan ik helemaal niet op de hoogte was), zoals SLOP. En waarschijnlijk nog veel meer waar ik nooit van heb gehoord. De tijd zal het leren!

Albert Skibinski

Over de auteur

  • Albert Skibinski is een zelfstandig ontwikkelaar en co-founder van Jafix
  • Ik schrijf over web development, lange fietstochten en lekker eten!