Aller au contenu principal

Connecter un client MCP personnalisé à WordPress.com

Si vous développez un client MCP (Model Context Protocol) ou si vous en étendez un existant, l’intégration avec WordPress.com permet à vos utilisateurs d’exploiter les données de leur site WordPress.com dans votre outil d’IA via une interface MCP standard. Cela rend possibles des workflows tels que la recherche dans le contenu d’un site, la récupération d’articles et de pages pour résumé ou analyse, la réponse à des questions basées sur le contenu publié, et plus généralement l’utilisation de WordPress.com comme source de contenu fiable au sein d’un assistant compatible MCP.

Ce guide se concentre sur les éléments spécifiques à WordPress.com : comment s’authentifier et quel point de terminaison MCP appeler. Pour des conseils généraux sur la création d’un client MCP, consultez la documentation officielle du client MCP.

Vue d’ensemble

WordPress.com expose un serveur MCP via HTTPS et le protège avec OAuth 2.1 en utilisant :

  • Enregistrement dynamique de clients : cela vous permet d’enregistrer des clients de manière programmatique.
  • Flux de code d’autorisation avec PKCE : Proof Key for Code Exchange (PKCE) est recommandé pour les clients publics comme les applications de bureau et en ligne de commande.

Le flux se présente comme suit :

  1. Enregistrez votre client auprès de WordPress.com pour obtenir un client_id
  2. Faites passer l’utilisateur par l’étape d’autorisation OAuth (avec PKCE)
  3. Échangez le code d’autorisation contre un access_token
  4. Appelez le point de terminaison MCP de WordPress.com avec Authorization: Bearer …

Points de terminaison WordPress.com

Tous les points de terminaison ci-dessous sont hébergés sur :

  • URL de base : https://public-api.wordpress.com

OAuth 2.1

  • Enregistrer un client : POST /oauth2-1/register
  • Autoriser : GET /oauth2-1/authorize
  • Jeton : POST /oauth2-1/token

MCP

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

Étape 1 : Enregistrer votre client OAuth

WordPress.com prend en charge l’enregistrement dynamique de clients, ce qui signifie que votre client MCP peut s’enregistrer lui-même sans étape de configuration manuelle distincte.

Requête

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

Exemple :

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"]
  }'

Ce que vous obtenez en retour

La réponse inclut un client_id et d’autres métadonnées. WordPress.com est conçu pour prendre en charge les clients publics, et les réponses d’enregistrement indiquent généralement :

  • token_endpoint_auth_method: "none"

Autrement dit, les requêtes de jeton ne nécessitent pas de secret client. PKCE assure la sécurité de l’échange du code d’autorisation.

Au minimum, conservez le client_id que vous recevez lors de l’enregistrement et assurez-vous d’utiliser systématiquement l’une des valeurs exactes de redirect_uri que vous avez enregistrées. Vous pouvez éventuellement conserver le reste de la réponse d’enregistrement (par exemple, les horodatages ou l’URI du client d’enregistrement) si cela facilite le dépannage ou l’inspection ultérieure de la configuration du client.

Étape 2 : Envoyer l’utilisateur vers l’autorisation

Pour authentifier un utilisateur, votre client devra :

  1. Générer un code_verifier PKCE
  2. Dériver un code_challenge à l’aide de la méthode S256
  3. Ouvrir (ou rediriger) l’utilisateur vers la page d’autorisation de WordPress.com

Requête d’autorisation

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

Exemple :

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

Une fois que l’utilisateur a approuvé l’accès, WordPress.com redirige le navigateur vers votre redirect_uri avec un paramètre de requête code. Votre redirect_uri doit correspondre exactement à l’une des URI que vous avez enregistrées.

Étape 3 : Échanger le code d’autorisation contre des jetons

Une fois que votre client a reçu le code d’autorisation, échangez-le contre un jeton d’accès au point de terminaison de jeton.

Requête de jeton

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

Exemple : 

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"

Résultat

Le point de terminaison du jeton renvoie une réponse OAuth contenant un access_token et peut également inclure des champs comme expires_in et un refresh_token.

Utilisez l’access_token pour authentifier les appels au point de terminaison MCP de WordPress.com via Authorization: Bearer YOUR_ACCESS_TOKEN.

Étape 4 : appeler le serveur MCP de WordPress.com

Le serveur MCP de WordPress.com est accessible via HTTP en envoyant des requêtes MCP par POST au point de terminaison MCP, authentifiées avec votre jeton d’accès OAuth.

Requête MCP

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

En-têtes :

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

Exemple :

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

Dans cet exemple, votre client demande au serveur MCP de WordPress.com d’exécuter l’outil nommé wpcom-mcp-posts-search avec les arguments fournis.

Notes d’implémentation

  • PKCE est requis pour les clients publics. N’intégrez pas de secrets dans les applications distribuées.
  • Tous les appels MCP doivent inclure Authorization: Bearer … avec un jeton d’accès WordPress.com valide.
  • Les URI de redirection doivent correspondre à l’enregistrement. Si vous utilisez http://localhost pendant le développement, enregistrez exactement cette URL de rappel.

Dernière mise à jour : juillet 03, 2026