Home
Login

一個將 WordPress 站點轉換為模型上下文協議(MCP)伺服器的外掛,支援 AI 代理和大型語言模型透過 REST API 與 WordPress 功能互動。

PHP 213Automatticwordpress-mcp Last Updated: 2025-06-24

WordPress MCP 項目詳細介紹

項目概述

WordPress MCP(Model Context Protocol)是由 Automattic 開發的一個 WordPress 外掛,旨在將 WordPress 站點轉變為一個簡單的 MCP 伺服器,通過 WordPress REST API 暴露站點功能,使大型語言模型(LLMs)和 AI 代理能夠與之交互。該項目允許開發者利用 AI 工具實現內容管理、用戶操作、站點配置等自動化任務,提升開發效率和集成能力。

核心功能

  1. MCP 伺服器支持

    • 通過 REST API 路由(如 /wp/v2/wpmcp/wp/v2/wpmcp/streamable)提供 MCP 伺服器功能,支持 AI 代理與 WordPress 的交互。
    • 支持兩種傳輸層:McpStdioTransport(標準輸入輸出)和 McpStreamableTransport(流式傳輸,適用於 SSE 或其他流式協議)。
  2. 認證機制

    • 採用 JWT(JSON Web Token)認證系統,確保安全通信。
    • 支持 WordPress 應用密碼(Application Passwords)以及 WooCommerce REST API 的消費者密鑰和秘密密鑰,增強安全性。
  3. 方法處理器

    • 提供工具(Tools)、資源(Resources)和提示(Prompts)等方法處理器,支持內容管理、站點初始化等操作。
    • 可通過自定義工具擴展功能,滿足特定需求。
  4. 管理介面

    • 提供基於 React 的管理介面,方便用戶在 WordPress 後台管理認證令牌(Tokens)和其他配置。
  5. 與 MCP 客戶端的兼容性

    • 與 MCP 兼容的客戶端(如 Claude Desktop)無縫協作,支持通過代理(如 mcp-wordpress-remote)進行 REST API 請求,而無需保持常開連接。

項目特點

  • 安全性:通過 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 密鑰,增強靈活性。
  • 方法處理器(Method Handlers)

    • 工具(Tools):實現內容創建、更新、刪除等操作。
    • 資源(Resources):提供站點數據訪問介面。
    • 提示(Prompts):為 AI 代理提供上下文引導。
    • 系統初始化(System & Initialization):處理 MCP 伺服器的啟動和配置。
  • 管理介面(Admin Interface)

    • 使用 React 構建,位於 WordPress 後台的“設置 > WordPress MCP”頁面,用於管理認證令牌和功能開關。

安裝與配置

安裝步驟

  1. 克隆倉庫

    cd wp-content/plugins/
    git clone https://github.com/Automattic/wordpress-mcp.git
    cd wordpress-mcp
    
  2. 安裝依賴

    composer install --no-dev
    npm install && npm run build
    
  3. 激活外掛

    • 在 WordPress 後台的“外掛”頁面激活 WordPress MCP 外掛。
  4. 配置 MCP 功能

    • 導航至“設置 > WordPress MCP”,啟用 MCP 功能並配置認證令牌。
  5. 配置 JWT 密鑰: 在 wp-config.php 中添加:

    define('WPMCP_JWT_SECRET_KEY', 'your-secret-key');
    define('WPMCP_DEBUG', true); // Enable debug logging
    
  6. 安裝遠程客戶端(可選):

    • 配合 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 項目適用於以下場景:

  1. 自動化內容管理

    • 通過 AI 代理創建、更新或刪除文章、頁面、用戶等,節省手動操作時間。
    • 示例:使用 Claude Desktop 命令“創建 10 篇標題為‘測試文章 #1–10’的草稿文章”,即可自動生成測試內容。
  2. 開發與測試

    • 開發者可利用 MCP 工具快速生成測試數據,加速功能測試和集成開發。
    • 示例:通過 AI 代理查詢調試日誌並總結問題,簡化調試流程。
  3. 站點管理

    • 遠程管理站點配置、用戶權限或媒體文件,適合分佈式團隊協作。
    • 支持 WooCommerce 集成,可管理電商相關數據(如訂單、產品)。
  4. AI 驅動的定制化

    • 開發者可添加自定義工具,暴露特定業務邏輯,滿足個性化需求。
    • 示例:創建自定義工具以批量更新文章分類或優化 SEO 元數據。

擴展與開發

添加自定義工具

開發者可通過以下步驟擴展外掛功能:

  1. 創建工具文件

    • wp-content/plugins/wordpress-mcp/includes/Tools/ 目錄下添加新工具類。
    • 示例工具類:
      <?php
      namespace WPMCP\Tools;
      class CustomTool {
          public function execute($params) {
              // 實現自定義邏輯
              return ['success' => true, 'data' => 'Custom tool executed'];
          }
      }
      
  2. 註冊工具

    • 在外掛初始化時註冊新工具,確保其通過 MCP 介面可用。
  3. 參考現有實現

    • 查看 includes/Tools/includes/Resources/includes/Prompts/ 目錄中的示例代碼。

貢獻代碼

  • 貢獻指南:參考倉庫中的 Contributing Guidelines,提交 Pull Requests 或報告 Issues。
  • 測試文檔:查看 tests/README.md 以了解測試流程,確保代碼質量。
  • 許可要求:所有貢獻需遵循 GPL v2 或更高版本許可。

相關資源

Star History Chart