Het Model Context Protocol (MCP) is een open standaard voor veilige verbindingen tussen AI-tools en databronnen die niet openbaar zijn.
Met andere woorden: MCP slaat een veilige brug tussen AI-assistenten en jouw data. AI-modellen voeren daardoor rechtstreeks bewerkingen uit op je systemen, en developers hoeven niet langer voor elke API of database vanaf nul een custom integratie te bouwen.
MCP geeft tools zoals Claude en ChatGPT een directe lijn naar je data. De AI hoeft niet meer te gissen, maar raadpleegt je bestandssystemen, interne documentatie of databases om realtime informatie op te halen en bewerkingen uit te voeren in al je favoriete apps.
Voor online bedrijven opent dat ongekende mogelijkheden. Koppel je WordPress site aan een MCP-client zoals Claude Desktop, waarna de twee met elkaar kunnen communiceren. Via de abilities die je op je WordPress site registreert, benut je vervolgens de agentic mogelijkheden van AI.
Klinkt dat ingewikkeld? Geen zorgen. In deze tutorial stel je stap voor stap je WordPress site en de Claude MCP-client in, en voer je via Claude Desktop handelingen uit op je site.
Voordat we aan de handleiding beginnen, zetten we eerst de kernbegrippen van het Model Context Protocol op een rij.
Basisbegrippen en definities van MCP
Wil je je WordPress site openstellen voor interactie met een AI-model via het Model Context Protocol, dan is het belangrijk om de keten van betrokken componenten goed te begrijpen.
MCP-client: dit is de softwarecomponent waarmee een AI-host verbinding maakt met een MCP-server. De AI-host is de app waarmee jij als gebruiker werkt (zoals Claude Desktop), terwijl de client de component op protocolniveau is die de daadwerkelijke verbinding met de server mogelijk maakt.
MCP-server: dit is een applicatie (of proces) die via een gestandaardiseerd protocol specifieke mogelijkheden beschikbaar stelt aan een AI-applicatie. Denk hierbij aan servers voor bestandssystemen, databases of agenda’s.
MCP-adapter: dit is de vertaalbrug in twee richtingen tussen de MCP-client en de kern van je WordPress site. De adapter vertaalt de mogelijkheden van je WordPress site naar de primitieven van het Model Context Protocol, waardoor AI agents de functies van je site kunnen ontdekken en uitvoeren als MCP-tools, en de data ervan kunnen lezen als MCP-resources.
Abilities API: dit is de architectuurlaag waarmee alle WordPress componenten, zowel de kern als de plugins, hun functionaliteit op een uniforme, begrijpelijke manier beschikbaar stellen aan mensen en machines. Developers registreren daarmee gestandaardiseerde, zelfbeschrijvende acties met strikte input- en outputschema’s die de AI zelfstandig kan ontdekken en uitvoeren.

Wat je kunt doen met WordPress en MCP
Koppel een AI agent aan je WordPress site en je zet de volledige kracht van AI in om data te lezen of complexe bewerkingen uit te voeren, rechtstreeks vanuit je AI-host.
Via je AI-host beheer je content, voer je beheer- en onderhoudstaken uit, houd je de status van je site in de gaten, beheer je gebruikers, werk je productcatalogi bij en analyseer je bestellingen. Het gaat niet om losse acties, maar om het beheren van de infrastructuur van je site zonder dat je het WordPress dashboard ooit opent.
Vraag de AI om een bericht op te stellen op basis van je richtlijnen en geef daarbij de lengte, de toon en de diepgang van de analyse aan. Je kunt hem ook opdracht geven om afbeeldingen te genereren, live berekeningen uit te voeren en de content te onderbouwen met overzichtstabellen met percentages en absolute waarden.
Denk ook aan de efficiëntie van geautomatiseerde processen. De onboarding van nieuwe gebruikers beheren door automatisch rollen toe te wijzen op basis van hun verantwoordelijkheden, de verkoopprestaties per product over het afgelopen kwartaal analyseren, of automatisch overzichtsrapporten voor je team genereren.
En je kunt nog veel verder gaan. Dankzij de Abilities API is WordPress een agentic hub geworden die naadloos past in geautomatiseerde workflows onder regie van AI. De AI agent houdt externe contexten in de gaten, zoals markttrends, prijsschommelingen of weersomstandigheden, raadpleegt de database om voorraadniveaus of aankoopgeschiedenis te controleren, en neemt zelfstandig beslissingen op basis van data.
Als site-eigenaar geef je de AI agent alleen instructies in natuurlijke taal, waarna die de hele operationele workflow coördineert.
Hoe je een AI agent via MCP aan je WordPress site koppelt
Voordat we met code en instellingen aan de slag gaan, lopen we eerst de systeemvereisten door. Om je WordPress site via MCP aan een AI-client te koppelen, heb je het volgende nodig:
- Een WordPress ontwikkelsite: de minimaal vereiste versie is 6.9, maar 7.0+ wordt sterk aanbevolen.
- Node.js geïnstalleerd op je lokale computer.
- Claude Desktop: de officiële MCP-host van Anthropic.
- Je favoriete code editor: voor deze tutorial gebruiken we VS Code.
- Een API-client zoals Postman om te testen.
Configureer WordPress
Omdat we met de WordPress Abilities API gaan werken, heb je een test- of ontwikkelomgeving nodig met WordPress 6.9 of hoger. Werk je lokaal, zorg er dan voor dat URL rewriting is ingeschakeld.
Stap 1: Installeer de WordPress MCP Adapter plugin
Download eerst het .zip-bestand van de MCP Adapter plugin op GitHub en installeer het op je WordPress site. Zodra je de plugin activeert, registreert die automatisch een standaard MCP-server die bereikbaar is via het volgende adres:
https://yoursite.com/wp-json/mcp/mcp-adapter-default-server
De server verwacht geauthenticeerde verzoeken. Stuur je dit verzoek zonder authenticatie, dan krijg je het volgende response object:
{"code":"rest_forbidden","message":"Sorry, you are not allowed to do that.","data":{"status":401}}
Daar komen we zo op terug.
Nu controleer je of de namespace mcp goed is geregistreerd. Stuur daarvoor het volgende verzoek in je browser of in Postman:
https://yoursite.com/wp-json/
Zoek in het antwoord naar de namespace mcp:
{
"name": "WordPress 7.0",
"description": "",
"url": "http://yoursite.com",
"home": "https://yoursite.com",
"gmt_offset": "0",
"timezone_string": "",
"page_for_posts": 0,
"page_on_front": 345,
"show_on_front": "page",
"namespaces": [
"oembed/1.0",
"mcp",
"wp/v2",
"wp-site-health/v1",
"wp-block-editor/v1",
"wp-abilities/v1"
],
...
}
Zie je die staan, dan werkt de MCP-server zoals het hoort. Zo niet, controleer dan of de plugin actief is en of je de juiste versie van WordPress gebruikt.
Nu je van je WordPress site een MCP-server hebt gemaakt, registreer je de ability die je nodig hebt om de Claude Desktop MCP-client met je site te laten communiceren en acties uit te laten voeren. In ons voorbeeld maak je een conceptbericht aan.
Stap 2: Registreer je abilities met een plugin
Open je favoriete code editor, maak een nieuw bestand aan en schrijf de volgende code:
<?php
/**
* Plugin Name: My MCP Test Plugin
* Description: Demonstration plugin for creating posts via MCP.
* Version: 1.0.0
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
add_action( 'wp_abilities_api_init', 'kinsta_mcp_register_simple_draft_ability' );
/**
* Registers a minimal ability to create post drafts.
* This acts as a formal contract between the underlying PHP logic and the AI client.
*
* @return void
*/
function kinsta_mcp_register_simple_draft_ability(): void {
if ( ! function_exists( 'wp_register_ability' ) ) {
return;
}
wp_register_ability(
'kinsta-plugin/create-draft',
array(
'category' => 'post',
'label' => __( 'Create Post Draft', 'kinsta-mcp-draft' ),
'description' => __( 'Creates a new post draft with a title and content provided by the AI agent.', 'kinsta-mcp-draft' ),
'input_schema' => array(
'type' => 'object',
'properties' => array(
'title' => array(
'type' => 'string',
'description' => __( 'The headline or title of the post draft.', 'kinsta-mcp-draft' ),
),
'content' => array(
'type' => 'string',
'description' => __( 'The body text or content generated for the draft.', 'kinsta-mcp-draft' ),
),
),
'required' => array( 'title', 'content' ), // Mandatory fields for the AI payload
),
'permission_callback' => function(): bool {
return current_user_can( 'edit_posts' );
},
'execute_callback' => function( array $args ): array {
$post_id = wp_insert_post( array(
'post_title' => sanitize_text_field( $args['title'] ),
'post_content' => wp_kses_post( $args['content'] ),
'post_status' => 'draft',
'post_type' => 'post',
) );
if ( is_wp_error( $post_id ) ) {
return array(
'success' => false,
'error' => $post_id->get_error_message()
);
}
return array(
'success' => true,
'message' => __( 'Draft saved successfully!', 'kinsta-mcp-draft' ),
'post_id' => $post_id
);
},
// Explicitly flag this ability as public to expose it through the default MCP Server
'meta' => array(
'mcp' => array(
'public' => true,
),
// Also expose within the native WordPress REST API
'show_in_rest' => true,
),
)
);
}
Dit zijn de belangrijkste punten van deze plugin:
- Om je ability te registreren, koppel je de functie
wp_register_ability()aan de actiewp_abilities_api_init. - Het eerste argument van de functie geeft de naam van de ability aan, inclusief de namespace (
kinsta-plugin/create-draft). - Het tweede argument stelt de configuratieparameters van de ability in.
input_schemais een array die het inputcontract voor de ability definieert. In dit geval verwacht de ability een object met twee verplichte strings:titleencontent.permission_callbackis een functie die controleert of de agent de benodigde rechten heeft om de ability uit te voeren (edit_posts).execute_callbackis de callback-functie die draait zodra de ability wordt geactiveerd. In dit voorbeeld gebruiken wewp_insert_postom een nieuw conceptbericht aan te maken.- De vlag
meta.mcp.publicmaakt de ability beschikbaar via de standaardserver van de MCP-adapter (lees hier meer hierover).
We gaan hier niet dieper in op de Abilities API. Wil of moet je er meer over weten, bekijk dan onze uitgebreide tutorial Aan de slag met de WordPress Abilities API.
Sla het bestand nu op, pak het in als zip en upload het als plugin naar je site. Zodra de plugin actief is, kun je door naar de volgende stappen.
Stap 3: Genereer een Application Password
Alle verzoeken naar de WordPress MCP-server moeten worden geauthenticeerd met een Application Password. Om er een te genereren, open je je WordPress dashboard, ga je naar Users > Profile en scroll je naar het gedeelte Application Passwords. Voer een naam in voor je wachtwoord en klik op Add New Application Password.
Daarmee genereer je een wachtwoord dat je in je applicatie gebruikt. Kopieer het en bewaar het op een veilige plek, want dit is de enige keer dat je het te zien krijgt. Raak je het kwijt, dan maak je een nieuw wachtwoord aan.
WordPress heeft een HTTPS-verbinding nodig om een Application Password te genereren. Zie je dit gedeelte niet in je gebruikersprofiel, controleer dan of je site via HTTPS wordt geserveerd. Kijk voor meer informatie in de officiële documentatie.
Test de hele keten in Postman
Voordat je Claude Desktop configureert, is het handig om de hele keten in Postman te testen. Problemen oplossen gaat daarmee een stuk makkelijker en sneller.
Stap 1: Test de eerste handshake
Test eerst de handshake door het volgende POST-verzoek te versturen:
https://yoursite.com/wp-json/mcp/mcp-adapter-default-server
Het verzoek moet geauthenticeerd zijn. Maak je een nieuw HTTP-verzoek aan in Postman, selecteer dan Authorization > Basic Auth en voer je WordPress gebruikersnaam en Application Password in.

Voeg vervolgens de volgende headers toe:
Content-Type: application/json
Accept: application/json, text/event-stream

Ga naar het tabblad Body, selecteer raw > JSON en stel de volgende body in:
{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"postman","version":"1.0"}}}

Nu klik je op Send. Werkt de MCP-server goed, dan zie je een 200 OK-statuscode en het JSON-antwoord uit de afbeelding hieronder:

Het antwoord bevat de header mcp-session-id. Kopieer die waarde, want je hebt hem nodig voor de volgende test.

Stap 2: Controleer of de ability zichtbaar is
Nu controleer je of je ability zichtbaar is. Je gebruikt dezelfde URL en dezelfde Basic Auth. Voeg alleen de header mcp-session-id toe aan de headers die je al hebt ingevoerd, en gebruik het volgende JSON-object in de request body:
{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"mcp-adapter-discover-abilities","arguments":{}}}
De volgende afbeelding toont de respons van de MCP-server:

Het JSON response object bevat de naam van je ability, in ons voorbeeld kinsta-plugin/create-draft.
Stap 3: Voer de ability uit vanuit Postman
Tot slot voeren we onze ability uit vanuit Postman. De URL, Basic Auth en headers blijven hetzelfde. Alleen de request body verandert, en die stel je als volgt in:
{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"mcp-adapter-execute-ability","arguments":{"ability_name":"kinsta-plugin/create-draft","parameters":{"title":"Postman test","content":"Test content from Postman"}}}}
methodgeeft de MCP-server opdracht om een van de standaard servertools te gebruiken (tools/call).params.nameis de generieke tool (mcp-adapter-execute-ability) die verantwoordelijk is voor het uitvoeren van de ability die je hieronder opgeeft.params.arguments.ability_nameis de volledige identifier van de uit te voeren ability (kinsta-plugin/create-draft).params.arguments.parametersis het object met de argumenten die het input_schema van de ability vereist (titleencontent).
Klik nu op Send om het verzoek te versturen. Je zou een 200 OK-status en het volgende antwoord moeten krijgen:

Open vervolgens je WordPress dashboard en controleer of het concept Postman test er staat.
Ben je tot hier gekomen zonder problemen of fouten, dan kun je door naar de laatste stap: Claude Desktop configureren.
Configureer Claude Desktop
Nu verbind je Claude Desktop met je WordPress site via de officiële @automattic/mcp-wordpress-remote proxy. Die zet MCP calls via STDIO om in geauthenticeerde HTTP-verzoeken naar de WordPress REST API.
Stap 1: Bewerk het configuratiebestand
Open het configuratiebestand van Claude Desktop rechtstreeks vanuit de app: klik op het icoontje met je naam linksonder en ga naar Settings > Developer > Edit Config.

Daarmee ga je direct naar het bestand claude_desktop_config.json. Open het en vervang de huidige inhoud door het volgende:
{
"mcpServers": {
"wordpress-kinsta": {
"command": "npx",
"args": ["-y", "@automattic/mcp-wordpress-remote@latest"],
"env": {
"WP_API_URL": "https://yoursite.com/wp-json/mcp/mcp-adapter-default-server",
"WP_API_USERNAME": "your-wp-username",
"WP_API_PASSWORD": "xxxx xxxx xxxx xxxx xxxx xxxx",
"OAUTH_ENABLED": "false"
}
}
}
}
Vervang de placeholders door je eigen gegevens, sla het bestand op en sluit Claude Desktop volledig af vanuit het systeemvak. Sluit dus niet alleen het venster, want dan blijft de app mogelijk op de achtergrond draaien.
Stap 2: Controleer de verbinding in Claude Desktop
Ga terug naar Claude Desktop en navigeer naar je naam > Settings > Developer. Hier vind je de lijst met lokale MCP-servers. Heb je alle voorgaande stappen gevolgd, dan zie je voor de server wordpress-kinsta een tabblad met een overzicht en de status running.

Vraag Claude nu om de beschikbare tools van de server wordpress-kinsta te tonen. Claude Desktop reageert met een overzicht van de tools, zoals in de afbeelding hieronder:

Zoals gezegd hoef je de identifiers van elke ability niet te kennen. Leg de AI gewoon uit wat je wilt, waarna het model de geregistreerde abilities opzoekt, de juiste vindt met de bijbehorende parameters en die uiteindelijk met de juiste waarden uitvoert.

Wil je meer details over een specifieke ability, dan vraagt Claude je om toestemming om Get Ability Info te gebruiken op de MCP-server wordpress-kinsta. Zodra je het verzoek goedkeurt, krijg je alle details van de ability te zien.

Vraag de AI om je ability uit te voeren
Tot slot stuur je Claude je eerste verzoek om een conceptbericht aan te maken. Je vraagt Claude natuurlijk om de tekst te genereren op basis van een prompt met specifieke richtlijnen. De afbeelding hieronder laat een voorbeeld zien:

Geef Claude toestemming om de ability uit te voeren en wacht een paar seconden op het resultaat. Wat je in de chat ziet zodra de bewerking klaar is, lijkt op de afbeelding hieronder:

Ga nu naar je WordPress dashboard en open het scherm Posts. Daar vind je je concept met de titel die je hebt gekozen. Open het en werp een blik in de editor:

En ja, het resultaat is echt verbluffend, zeker als je bedenkt dat het genereren maar een paar seconden duurde.
Let wel: de gegenereerde content is pure HTML. Dat komt doordat onze plugin geen logica bevat om onderdelen van de content naar Gutenberg blokken om te zetten.

Vervolgens hebben we het verzoek herhaald, dit keer met de vraag aan Claude om de content op te maken in Gutenberg blokken. Dit is het antwoord dat we in de chat kregen:

En hier is het conceptbericht in de Code Editor van WordPress:

Waarom je agentic WordPress site een krachtige infrastructuur nodig heeft
Koppel je je WordPress site via MCP aan een AI-model, dan verandert je website fundamenteel van karakter. Statische pagina’s uit een cache serveren en losse gebruikersverzoeken beantwoorden is niet langer het hele verhaal. Er komt een compleet ander type belasting bij, en WordPress moet dat aankunnen.
Een AI agent voert binnen enkele seconden tientallen REST calls uit, een tempo dat geen enkele bezoeker haalt. Daar komt bij dat MCP-verzoeken je paginacaching volledig omzeilen en bij elke handshake direct je PHP threads raken. Zonder een PHP- en databasestack die op prestaties is afgestemd, loop je tegen time-outs aan midden in een kritieke bewerking. Bijvoorbeeld terwijl je programmatisch een concept aanmaakt.
Bij openbare abilities komt beveiliging om de hoek kijken, want elke ability die je via MCP beschikbaar stelt, is een endpoint dat goed beveiligd moet zijn. De API laat je een permission_callback instellen en verzoeken moeten worden geauthenticeerd met een Application Password. Legt je hostingprovider daar stevige beveiligingsmaatregelen bovenop, denk aan web application firewalls, containerisolatie, automatische SSL-certificaten en IP-blokkering, dan verklein je je aanvalsoppervlak drastisch en beperk je het risico op ongeautoriseerde toegang tot je site.
Voordat je abilities live zet, test je ze. Fatsoenlijk testen kan alleen in een testomgeving die via HTTPS draait op exact dezelfde stack als je live site. En zonder developer tools zoals SSH en WP-CLI bouw je geen betrouwbare AI-integratie op het MCP-protocol.
Ook observability is strategisch voor een site die continu met AI-tools communiceert. Met een APM-tool en je serverlogs zie je wat er achter de schermen gebeurt, achterhaal je waarom een HTTP-verzoek stilletjes mislukt en spoor je knelpunten in je site-architectuur op.
De keuze voor je infrastructuur en hostingdienst is daarmee belangrijker dan ooit: je hebt de architectuur, de tools en de eersteklas support nodig die een moderne WordPress site vraagt. Bij Kinsta krijg je dat allemaal in één centraal dashboard.
Daarvandaan ga je direct naar je site, start je prestatiemonitoring, haal je SSH-inloggegevens op, download je logbestanden en bereik je ons gespecialiseerde supportteam. Vragen je AI-automatiseringen om meer rekenkracht? Dan optimaliseer je in één klik de PHP-prestaties of zet je de add-on Premium testomgevingen erbij, voor maximale responsiviteit tijdens het testen én in productie.
De toekomst van WordPress is agentic
WordPress groeit uit van traditioneel CMS tot volwaardige hub voor agentic applicaties. De Abilities API en de AI Client laten zien waar het web naartoe gaat: niet langer alleen menselijke interacties, maar voor een groot deel machines en intelligente agents die zelfstandig op de achtergrond doorwerken.
Een audiobestand omzetten in een bericht, een geautomatiseerde workflow via GitHub Actions integreren, een naadloze brug bouwen tussen je site en de Claude Desktop client: WordPress kan het aan en zet je input om in native Gutenberg blokken. Wat rest, is je applicaties de kracht, veiligheid en schaalbaarheid geven die ze nodig hebben. Daarvoor kies je een toonaangevende hostingpartner zoals Kinsta.
Heb je onze hostingpakketten al bekeken? Twijfel je welk pakket bij de workflow van je site past, dan beantwoordt ons salesteam graag al je vragen.