Vai al contenuto

Connettere un client MCP personalizzato a WordPress.com

Questo testo è stato tradotto utilizzando l’IA. Se desideri visualizzare il testo originale in inglese, fai clic qui.

Se stai sviluppando un client MCP (Model Context Protocol) o estendendone uno esistente, l’integrazione con WordPress.com consente ai tuoi utenti di portare i dati del proprio sito WordPress.com nel tuo strumento di IA attraverso un’interfaccia MCP standard. Questo abilita flussi di lavoro come la ricerca nei contenuti di un sito, il recupero di articoli e pagine per la sintesi o l’analisi, la risposta a domande basate sui contenuti pubblicati e, in generale, l’utilizzo di WordPress.com come fonte di contenuti affidabile all’interno di un assistente abilitato MCP.

Questa guida si concentra sugli aspetti specifici di WordPress.com: come autenticarsi e quale endpoint MCP chiamare. Per indicazioni generali sulla creazione di un client MCP, consulta la documentazione ufficiale del client MCP.

Panoramica

WordPress.com espone un server MCP tramite HTTPS e lo protegge con OAuth 2.1 utilizzando:

  • Registrazione dinamica del client: consente di registrare i client in modo programmatico.
  • Flusso Authorization Code con PKCE: Proof Key for Code Exchange (PKCE) è raccomandato per i client pubblici come applicazioni desktop e CLI.

Il flusso si presenta così:

  1. Registra il tuo client con WordPress.com per ottenere un client_id
  2. Guida l’utente attraverso il passaggio di autorizzazione OAuth (con PKCE)
  3. Scambia il code di autorizzazione con un access_token
  4. Chiama l’endpoint MCP di WordPress.com con Authorization: Bearer …

Endpoint di WordPress.com

Tutti gli endpoint seguenti sono ospitati su:

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

OAuth 2.1

  • Registrazione client: POST /oauth2-1/register
  • Autorizzazione: GET /oauth2-1/authorize
  • Token: POST /oauth2-1/token

MCP

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

Passaggio 1: Registrare il client OAuth

WordPress.com supporta la registrazione dinamica dei client, il che significa che il client MCP può registrarsi autonomamente senza un passaggio di configurazione manuale separato.

Richiesta

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

Esempio:

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

Cosa si ottiene in risposta

La risposta include un client_id e altri metadati. WordPress.com è progettato per supportare i client pubblici e le risposte di registrazione indicano tipicamente:

  • token_endpoint_auth_method: "none"

Ciò significa che le richieste di token non richiedono un client secret. PKCE fornisce la sicurezza per lo scambio del codice di autorizzazione.

Come minimo, conserva il client_id ricevuto durante la registrazione e assicurati di utilizzare sempre uno dei valori esatti di redirect_uri che hai registrato. Facoltativamente puoi conservare il resto della risposta di registrazione (ad esempio, i timestamp o l’URI del client di registrazione) se può essere utile per la risoluzione dei problemi o per ispezionare la configurazione del client in un secondo momento.

Passaggio 2: Inviare l’utente attraverso l’autorizzazione

Per autenticare un utente, il tuo client dovrà:

  1. Generare un code_verifier PKCE
  2. Derivare un code_challenge utilizzando il metodo S256
  3. Aprire (o reindirizzare) l’utente alla pagina di autorizzazione di WordPress.com

Richiesta di autorizzazione

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

Esempio:

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

Dopo che l’utente approva l’accesso, WordPress.com reindirizza il browser al tuo redirect_uri con un parametro di query code. Il tuo redirect_uri deve corrispondere esattamente a uno degli URI registrati.

Passaggio 3: Scambiare il codice di autorizzazione con i token

Una volta che il client riceve il codice di autorizzazione, scambialo con un token di accesso presso l’endpoint del token.

Richiesta del token

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

Esempio: 

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"

Risultato

L’endpoint del token restituisce una risposta OAuth contenente un access_token e può includere anche campi come expires_in e un refresh_token.

Usa l’access_token per autenticare le chiamate all’endpoint MCP di WordPress.com tramite Authorization: Bearer YOUR_ACCESS_TOKEN.

Passaggio 4: Chiamare il server MCP di WordPress.com

Il server MCP di WordPress.com è accessibile via HTTP inviando richieste MCP in POST all’endpoint MCP, autenticate con il tuo token di accesso OAuth.

Richiesta MCP

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

Intestazioni:

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

Esempio:

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

In questo esempio, il client sta chiedendo al server MCP di WordPress.com di eseguire lo strumento denominato wpcom-mcp-posts-search con gli argomenti indicati.

Note sull’implementazione

  • PKCE è obbligatorio per i client pubblici. Non incorporare segreti nelle app distribuite.
  • Tutte le chiamate MCP devono includere Authorization: Bearer … con un token di accesso WordPress.com valido.
  • Gli URI di reindirizzamento devono corrispondere alla registrazione. Se durante lo sviluppo si utilizza http://localhost, è necessario registrare esattamente quell’URL di callback.

Ultimo aggiornamento: giugno 22, 2026