Spring naar inhoud

Verbind een aangepaste MCP-client met WordPress.com

Deze tekst is vertaald met AI. Als je de oorspronkelijke tekst in het Engels wilt bekijken, klik dan hier.

Als je een MCP-client (Model Context Protocol) bouwt of een bestaande uitbreidt, kunnen je gebruikers door integratie met WordPress.com hun WordPress.com-sitegegevens via een standaard MCP-interface naar je AI-tool brengen. Dit maakt workflows mogelijk zoals zoeken in de content van een site, berichten en pagina’s ophalen voor samenvatting of analyse, vragen beantwoorden op basis van wat is gepubliceerd, en WordPress.com in het algemeen gebruiken als een vertrouwde contentbron binnen een assistent met MCP-ondersteuning.

Deze handleiding richt zich op de WordPress.com-specifieke onderdelen: hoe je authenticeert en welk MCP-endpoint je moet aanroepen. Voor algemene richtlijnen over het bouwen van een MCP-client, zie de officiële MCP-clientdocumentatie.

Overzicht

WordPress.com biedt een MCP-server via HTTPS en beveiligt deze met OAuth 2.1 met behulp van:

  • Dynamic Client Registration: Hiermee kun je clients programmatisch registreren.
  • Authorization Code-flow met PKCE: Proof Key for Code Exchange (PKCE) wordt aanbevolen voor publieke clients zoals desktop- en CLI-applicaties.

De flow ziet er als volgt uit:

  1. Registreer je client bij WordPress.com om een client_id te verkrijgen
  2. Leid de gebruiker door de OAuth-autorisatiestap (met PKCE)
  3. Wissel de autorisatie-code in voor een access_token
  4. Roep het WordPress.com MCP-endpoint aan met Authorization: Bearer …

WordPress.com-endpoints

Alle onderstaande endpoints worden gehost op:

  • Basis-URL: https://public-api.wordpress.com

OAuth 2.1

  • Client registreren: POST /oauth2-1/register
  • Autoriseren: GET /oauth2-1/authorize
  • Token: POST /oauth2-1/token

MCP

  • WordPress.com MCP-server: POST /wpcom/v2/mcp/v1

Stap 1: registreer je OAuth-client

WordPress.com ondersteunt dynamische clientregistratie, wat betekent dat je MCP-client zichzelf kan registreren zonder een aparte handmatige instellingsstap.

Verzoek

  • POST https://public-api.wordpress.com/oauth2-1/register  
  • Content-Type: application/json

Voorbeeld:

curl -X POST "https://public-api.wordpress.com/oauth2-1/register" 
  -H "Content-Type: application/json" 
  --data '{
    "client_name": "My MCP Client",
    "redirect_uris": ["http://localhost:8080/callback"],
    "grant_types": ["authorization_code", "refresh_token"]
  }'

Wat je terugkrijgt

De reactie bevat een client_id en andere metadata. WordPress.com is ontworpen om public clients te ondersteunen, en registratiereacties geven doorgaans het volgende aan:

  • token_endpoint_auth_method: "none"

Dat wil zeggen: tokenverzoeken vereisen geen client secret. PKCE biedt de beveiliging voor de uitwisseling van de authorization code.

Sla minimaal de client_id op die je tijdens de registratie ontvangt en zorg ervoor dat je consequent een van de exacte redirect_uri-waarden gebruikt die je hebt geregistreerd. Je kunt eventueel de rest van de registratiereactie bewaren (bijvoorbeeld tijdstempels of de registration client URI) als dat helpt bij het later oplossen van problemen of inspecteren van de clientconfiguratie.

Stap 2: Leid de gebruiker door de autorisatie

Om een gebruiker te verifiëren, doet je client het volgende:

  1. Een PKCE code_verifier genereren
  2. Een code_challenge afleiden met de methode S256
  3. De gebruiker openen (of doorsturen) naar de autorisatiepagina van WordPress.com

Autorisatieverzoek

  • GET https://public-api.wordpress.com/oauth2-1/authorize

Voorbeeld:

https://public-api.wordpress.com/oauth2-1/authorize?
  response_type=code&
  client_id=YOUR_CLIENT_ID&
  redirect_uri=http://localhost:8080/callback&
  code_challenge=YOUR_CODE_CHALLENGE&
  code_challenge_method=S256&
  scope=auth

Nadat de gebruiker toegang heeft goedgekeurd, leidt WordPress.com de browser terug naar je redirect_uri met een queryparameter code. Je redirect_uri moet exact overeenkomen met een van de URIs die je hebt geregistreerd.

Stap 3: Wissel de autorisatiecode in voor tokens

Zodra je client de autorisatiecode ontvangt, wissel je deze in voor een toegangstoken bij het tokenendpoint.

Tokenaanvraag

  • POST https://public-api.wordpress.com/oauth2-1/token  
  • Content-Type: application/x-www-form-urlencoded

Voorbeeld: 

curl -X POST "https://public-api.wordpress.com/oauth2-1/token" 
  -H "Content-Type: application/x-www-form-urlencoded" 
  --data "grant_type=authorization_code&code=AUTHORIZATION_CODE&redirect_uri=http://localhost:8080/callback&code_verifier=YOUR_CODE_VERIFIER&client_id=YOUR_CLIENT_ID"

Resultaat

Het token-endpoint retourneert een OAuth-respons met een access_token en kan ook velden bevatten zoals expires_in en een refresh_token.

Gebruik de access_token om aanroepen naar het WordPress.com MCP-endpoint te verifiëren via Authorization: Bearer YOUR_ACCESS_TOKEN.

Stap 4: Roep de WordPress.com MCP-server aan

De MCP-server van WordPress.com wordt via HTTP benaderd door MCP-verzoeken naar het MCP-endpoint te POSTen, geverifieerd met je OAuth-toegangstoken.

MCP-verzoek

  • POST https://public-api.wordpress.com/wpcom/v2/mcp/v1  

Kopteksten:

  • Authorization: Bearer YOUR_ACCESS_TOKEN
  • Content-Type: application/json

Voorbeeld:

{
  "method": "tools/call",
  "params": {
    "name": "wpcom-mcp-posts-search",
    "arguments": {
      "wpcom_site": "yoursite.wordpress.com",
      "search": "recent updates"
    }
  }
}

In dit voorbeeld vraagt je client de MCP-server van WordPress.com om de tool met de naam wpcom-mcp-posts-search uit te voeren met de opgegeven argumenten.

Implementatieopmerkingen

  • PKCE is vereist voor publieke clients. Neem geen geheimen op in gedistribueerde apps.
  • Alle MCP-calls moeten Authorization: Bearer … bevatten met een geldige WordPress.com-toegangstoken.
  • Redirect-URI’s moeten overeenkomen met de registratie. Als je http://localhost gebruikt tijdens de ontwikkeling, registreer dan die exacte callback-URL.

Laatste update: juni 22, 2026