WordPress MCP 項目詳細介紹
項目概述
WordPress MCP(Model Context Protocol)是由 Automattic 開發的一個 WordPress 外掛,旨在將 WordPress 站點轉變為一個簡單的 MCP 伺服器,通過 WordPress REST API 暴露站點功能,使大型語言模型(LLMs)和 AI 代理能夠與之交互。該項目允許開發者利用 AI 工具實現內容管理、用戶操作、站點配置等自動化任務,提升開發效率和集成能力。
核心功能
-
MCP 伺服器支持:
- 通過 REST API 路由(如
/wp/v2/wpmcp和/wp/v2/wpmcp/streamable)提供 MCP 伺服器功能,支持 AI 代理與 WordPress 的交互。 - 支持兩種傳輸層:
McpStdioTransport(標準輸入輸出)和McpStreamableTransport(流式傳輸,適用於 SSE 或其他流式協議)。
- 通過 REST API 路由(如
-
認證機制:
- 採用 JWT(JSON Web Token)認證系統,確保安全通信。
- 支持 WordPress 應用密碼(Application Passwords)以及 WooCommerce REST API 的消費者密鑰和秘密密鑰,增強安全性。
-
方法處理器:
- 提供工具(Tools)、資源(Resources)和提示(Prompts)等方法處理器,支持內容管理、站點初始化等操作。
- 可通過自定義工具擴展功能,滿足特定需求。
-
管理介面:
- 提供基於 React 的管理介面,方便用戶在 WordPress 後台管理認證令牌(Tokens)和其他配置。
-
與 MCP 客戶端的兼容性:
- 與 MCP 兼容的客戶端(如 Claude Desktop)無縫協作,支持通過代理(如
mcp-wordpress-remote)進行 REST API 請求,而無需保持常開連接。
- 與 MCP 兼容的客戶端(如 Claude Desktop)無縫協作,支持通過代理(如
項目特點
- 安全性:通過 JWT 認證和應用密碼確保數據安全,建議使用 HTTPS 加密通信。
- 擴展性:支持開發者通過添加自定義工具、資源和提示擴展外掛功能。
- 開發友好:提供詳細的測試文檔(
tests/README.md)和貢獻指南,鼓勵社區參與開發。 - 輕量高效:代理模式避免了常開連接,優化了性能,適合本地開發和遠程部署。
- 開源許可:採用 GPL v2 或更高版本許可,面向 WordPress 和 AI 社區開放。
技術架構
項目的核心架構包括以下幾個模塊:
-
傳輸層(Transport Layer):
McpStdioTransport:通過標準輸入輸出處理 MCP 請求,適用於本地開發。McpStreamableTransport:支持流式傳輸,適合實時交互場景(目前部分客戶端可能不支持)。
-
認證系統(Authentication):
- 使用 JWT 認證,需在
wp-config.php中定義WPMCP_JWT_SECRET_KEY。 - 支持 WordPress 應用密碼和 WooCommerce 密鑰,增強靈活性。
- 使用 JWT 認證,需在
-
方法處理器(Method Handlers):
- 工具(Tools):實現內容創建、更新、刪除等操作。
- 資源(Resources):提供站點數據訪問介面。
- 提示(Prompts):為 AI 代理提供上下文引導。
- 系統初始化(System & Initialization):處理 MCP 伺服器的啟動和配置。
-
管理介面(Admin Interface):
- 使用 React 構建,位於 WordPress 後台的“設置 > WordPress MCP”頁面,用於管理認證令牌和功能開關。
安裝與配置
安裝步驟
-
克隆倉庫:
cd wp-content/plugins/ git clone https://github.com/Automattic/wordpress-mcp.git cd wordpress-mcp -
安裝依賴:
composer install --no-dev npm install && npm run build -
激活外掛:
- 在 WordPress 後台的“外掛”頁面激活 WordPress MCP 外掛。
-
配置 MCP 功能:
- 導航至“設置 > WordPress MCP”,啟用 MCP 功能並配置認證令牌。
-
配置 JWT 密鑰:
在wp-config.php中添加:define('WPMCP_JWT_SECRET_KEY', 'your-secret-key'); define('WPMCP_DEBUG', true); // Enable debug logging -
安裝遠程客戶端(可選):
- 配合
mcp-wordpress-remote使用,安裝命令如下:npx @modelcontextprotocol/inspector \ -e WP_API_URL=https://your-site.com/ \ -e JWT_TOKEN=your-jwt-token-here \ npx @automattic/mcp-wordpress-remote@latest
- 配合
配置注意事項
- 安全性:切勿將認證令牌提交至版本控制系統,確保
WPMCP_JWT_SECRET_KEY安全存儲。 - 調試:啟用
WPMCP_DEBUG可記錄調試日誌,方便排查問題。 - 刪除操作:刪除工具可能導致數據永久丟失,僅對可信用戶啟用。
- 依賴遠程客戶端:WordPress MCP 外掛需與
mcp-wordpress-remote配合使用,以實現完整功能。
使用場景
WordPress MCP 項目適用於以下場景:
-
自動化內容管理:
- 通過 AI 代理創建、更新或刪除文章、頁面、用戶等,節省手動操作時間。
- 示例:使用 Claude Desktop 命令“創建 10 篇標題為‘測試文章 #1–10’的草稿文章”,即可自動生成測試內容。
-
開發與測試:
- 開發者可利用 MCP 工具快速生成測試數據,加速功能測試和集成開發。
- 示例:通過 AI 代理查詢調試日誌並總結問題,簡化調試流程。
-
站點管理:
- 遠程管理站點配置、用戶權限或媒體文件,適合分佈式團隊協作。
- 支持 WooCommerce 集成,可管理電商相關數據(如訂單、產品)。
-
AI 驅動的定制化:
- 開發者可添加自定義工具,暴露特定業務邏輯,滿足個性化需求。
- 示例:創建自定義工具以批量更新文章分類或優化 SEO 元數據。
擴展與開發
添加自定義工具
開發者可通過以下步驟擴展外掛功能:
-
創建工具文件:
- 在
wp-content/plugins/wordpress-mcp/includes/Tools/目錄下添加新工具類。 - 示例工具類:
<?php namespace WPMCP\Tools; class CustomTool { public function execute($params) { // 實現自定義邏輯 return ['success' => true, 'data' => 'Custom tool executed']; } }
- 在
-
註冊工具:
- 在外掛初始化時註冊新工具,確保其通過 MCP 介面可用。
-
參考現有實現:
- 查看
includes/Tools/、includes/Resources/和includes/Prompts/目錄中的示例代碼。
- 查看
貢獻代碼
- 貢獻指南:參考倉庫中的 Contributing Guidelines,提交 Pull Requests 或報告 Issues。
- 測試文檔:查看
tests/README.md以了解測試流程,確保代碼質量。 - 許可要求:所有貢獻需遵循 GPL v2 或更高版本許可。
相關資源
- GitHub 倉庫:https://github.com/Automattic/wordpress-mcp
- 遠程客戶端:https://github.com/Automattic/mcp-wordpress-remote
- WordPress MCP 官網:https://mcp-wp.github.io