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