Lanjut ke konten

Hubungkan MCP client kustom ke WordPress.com

Teks ini diterjemahkan menggunakan AI. Jika Anda ingin melihat teks asli dalam bahasa Inggris, klik di sini.

Jika Anda sedang membuat klien MCP (Model Context Protocol) atau memperluas klien yang sudah ada, integrasi dengan WordPress.com memungkinkan pengguna Anda membawa data situs WordPress.com mereka ke alat AI Anda melalui antarmuka MCP standar. Ini mendukung alur kerja seperti mencari di seluruh konten situs, mengambil pos dan halaman untuk diringkas atau dianalisis, menjawab pertanyaan berdasarkan konten yang telah diterbitkan, dan secara umum menggunakan WordPress.com sebagai sumber konten tepercaya di dalam asisten yang mendukung MCP.

Panduan ini berfokus pada bagian yang spesifik untuk WordPress.com: cara melakukan autentikasi dan endpoint MCP mana yang perlu dipanggil. Untuk panduan umum tentang membuat klien MCP, lihat dokumentasi klien MCP resmi.

Ikhtisar

WordPress.com menyediakan server MCP melalui HTTPS dan melindunginya dengan OAuth 2.1 menggunakan:

  • Pendaftaran Klien Dinamis: Ini memungkinkan Anda mendaftarkan klien secara terprogram.
  • Alur Authorization Code dengan PKCE: Proof Key for Code Exchange (PKCE) direkomendasikan untuk klien publik seperti aplikasi desktop dan CLI.

Alurnya terlihat seperti ini:

  1. Daftarkan klien Anda ke WordPress.com untuk mendapatkan client_id
  2. Arahkan pengguna melalui langkah otorisasi OAuth (dengan PKCE)
  3. Tukarkan code otorisasi dengan access_token
  4. Panggil endpoint MCP WordPress.com dengan Authorization: Bearer …

Endpoint WordPress.com

Semua endpoint di bawah ini dihosting di:

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

OAuth 2.1

  • Daftarkan klien: POST /oauth2-1/register
  • Otorisasi: GET /oauth2-1/authorize
  • Token: POST /oauth2-1/token

MCP

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

Langkah 1: Daftarkan klien OAuth Anda

WordPress.com mendukung pendaftaran klien dinamis, yang berarti klien MCP Anda dapat mendaftarkan dirinya sendiri tanpa langkah penyiapan manual terpisah.

Permintaan

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

Contoh:

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

Apa yang Anda terima

Respons menyertakan client_id dan metadata lainnya. WordPress.com dirancang untuk mendukung klien publik, dan respons pendaftaran biasanya menunjukkan:

  • token_endpoint_auth_method: "none"

Artinya, permintaan token tidak memerlukan client secret. PKCE menyediakan keamanan untuk pertukaran kode otorisasi.

Minimal, simpan client_id yang Anda terima saat pendaftaran dan pastikan Anda selalu menggunakan salah satu nilai redirect_uri persis seperti yang Anda daftarkan. Anda juga dapat menyimpan bagian lain dari respons pendaftaran (misalnya, stempel waktu atau URI klien pendaftaran) jika berguna untuk pemecahan masalah atau memeriksa konfigurasi klien nanti.

Langkah 2: Arahkan pengguna melalui otorisasi

Untuk mengautentikasi pengguna, klien Anda akan:

  1. Membuat PKCE code_verifier
  2. Menurunkan code_challenge menggunakan metode S256
  3. Membuka (atau mengalihkan) pengguna ke halaman otorisasi WordPress.com

Permintaan otorisasi

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

Contoh:

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

Setelah pengguna menyetujui akses, WordPress.com mengalihkan browser kembali ke redirect_uri Anda dengan parameter kueri code. redirect_uri Anda harus sama persis dengan salah satu URI yang telah Anda daftarkan.

Langkah 3: Tukarkan kode otorisasi dengan token

Setelah klien Anda menerima kode otorisasi, tukarkan kode tersebut dengan token akses di endpoint token.

Permintaan token

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

Contoh: 

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"

Hasil

Endpoint token mengembalikan respons OAuth yang berisi access_token dan juga dapat menyertakan bidang seperti expires_in dan refresh_token.

Gunakan access_token untuk mengautentikasi panggilan ke endpoint MCP WordPress.com melalui Authorization: Bearer YOUR_ACCESS_TOKEN.

Langkah 4: Panggil server MCP WordPress.com

Server MCP WordPress.com diakses melalui HTTP dengan mengirimkan permintaan MCP menggunakan POST ke endpoint MCP, yang diautentikasi dengan token akses OAuth Anda.

Permintaan MCP

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

Header:

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

Contoh:

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

Dalam contoh ini, klien Anda meminta server MCP WordPress.com untuk menjalankan alat bernama wpcom-mcp-posts-search dengan argumen yang diberikan.

Catatan implementasi

  • PKCE wajib untuk klien publik. Jangan sematkan rahasia dalam aplikasi terdistribusi.
  • Semua panggilan MCP harus menyertakan Authorization: Bearer … dengan token akses WordPress.com yang valid.
  • URI Pengalihan harus sesuai dengan pendaftaran. Jika Anda menggunakan http://localhost selama pengembangan, daftarkan URL callback yang persis sama.

Terakhir diperbarui: Juni 23, 2026