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