【技术文档摘要】: 此仓库将被弃用,因为 mcp-adapter 的 AI 构建模块在 WordPress 中继续发布稳定版本。
这一变化与两个重要发展相一致:
我们鼓励所有用户迁移到 mcp-adapter。未来的工作,包括新功能和修复,将在那里进行。此仓库将以存档形式保留,供历史参考。
这是一个全面的 WordPress 插件,实现了 Model Context Protocol (MCP),通过标准化接口暴露 WordPress 功能。此插件使 AI 模型和应用程序能够通过多种传输协议和企业级身份验证安全地与 WordPress 站点交互。
该插件实现了一个双传输架构:
WordPress MCP 插件
├── 传输层
│ ├── McpStdioTransport (/wp/v2/wpmcp)
│ └── McpStreamableTransport (/wp/v2/wpmcp/streamable)
├── 身份验证
│ └── JWT 身份验证系统
├── 方法处理器
│ ├── 工具、资源、提示
│ └── 系统及初始化
└── 管理员界面
└── 基于 React 的令牌管理
| 协议 | 端点 | 格式 | 身份验证 | 使用场景 |
|---|---|---|---|---|
| STDIO | /wp/v2/wpmcp | WordPress 风格 | JWT + 应用密码 | 兼容旧版 |
| 流式 | /wp/v2/wpmcp/streamable | JSON-RPC 2.0 | 仅 JWT | 现代 AI 客户端 |
wordpress-mcp.zip/wp-content/plugins/wordpress-mcp 目录设置 > 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 MCP > 身份验证令牌添加到您的 Claude Desktop claude_desktop_config.json:
{
"mcpServers": {
"wordpress-mcp": {
"command": "npx",
"args": [ "-y", "@automattic/mcp-wordpress-remote@latest" ],
"env": {
"WP_API_URL": "https://your-site.com/",
"JWT_TOKEN": "your-jwt-token-here",
"LOG_FILE": "可选的日志文件路径"
}
}
}
}
{
"mcpServers": {
"wordpress-mcp": {
"command": "npx",
"args": [ "-y", "@automattic/mcp-wordpress-remote@latest" ],
"env": {
"WP_API_URL": "https://your-site.com/",
"WP_API_USERNAME": "your-username",
"WP_API_PASSWORD": "your-application-password",
"LOG_FILE": "可选的日志文件路径"
}
}
}
}
添加到您的 VS Code MCP 设置:
{
"servers": {
"wordpress-mcp": {
"type": "http",
"url": "https://your-site.com/wp-json/wp/v2/wpmcp/streamable",
"headers": {
"Authorization": "Bearer your-jwt-token-here"
}
}
}
}
# 使用 JWT 令牌和代理
npx @modelcontextprotocol/inspector \
-e WP_API_URL=https://your-site.com/ \
-e JWT_TOKEN=your-jwt-token-here \
npx @automattic/mcp-wordpress-remote@latest
# 使用应用密码和代理
npx @modelcontextprotocol/inspector \
-e WP_API_URL=https://your-site.com/ \
-e WP_API_USERNAME=your-username \
-e WP_API_PASSWORD=your-application-password \
npx @automattic/mcp-wordpress-remote@latest
{
"mcpServers": {
"wordpress-local": {
"command": "node",
"args": [ "/path/to/mcp-wordpress-remote/dist/proxy.js" ],
"env": {
"WP_API_URL": "http://localhost:8080/",
"JWT_TOKEN": "your-local-jwt-token",
"LOG_FILE": "可选的日志文件路径"
}
}
}
}
此插件无缝地与两种方式兼容的 MCP 客户端一起工作:
通过代理:
直接流式传输:
/wp/v2/wpmcp/streamable 的 VS Code MCP 扩展流式传输提供了一个直接的 JSON-RPC 2.0 兼容端点,而代理提供了额外的功能,如 WooCommerce 集成、增强的日志记录以及对旧版身份验证方法的支持。
| 方法 | 描述 | 传输支持 |
|---|---|---|
initialize | 初始化 MCP 会话 | 两者 |
tools/list | 列出可用工具 | 两者 |
tools/call | 执行一个工具 | 两者 |
resources/list | 列出可用资源 | 两者 |
resources/read | 读取资源内容 | 两者 |
prompts/list | 列出可用提示 | 两者 |
prompts/get | 获取提示模板 | 两者 |
实验性功能:此功能是实验性的,可能会在未来版本中更改或删除。
启用 设置 > WordPress MCP > 启用 REST API CRUD 工具 后,插件提供了三个强大的通用工具,可以与任何 WordPress REST API 端点交互:
| 工具名称 | 描述 | 类型 |
|---|---|---|
list_api_functions | 发现所有可用的 WordPress REST API 端点 | 读取 |
get_function_details | 获取特定端点/方法的详细元数据 | 读取 |
run_api_function | 执行任何 REST API 函数并执行 CRUD 操作 | 操作 |
list_api_functions 查看所有可用的端点get_function_details 了解所需参数run_api_function 执行 CRUD 操作wp-content/plugins/wordpress-mcp/
├── includes/ # PHP 类
│ ├── Core/ # 传输和核心逻辑
│ ├── Auth/ # JWT 身份验证
│ ├── Tools/ # MCP 工具
│ ├── Resources/ # MCP 资源
│ ├── Prompts/ # MCP 提示
│ └── Admin/ # 设置界面
├── src/ # React 组件
│ └── settings/ # 管理员界面组件
├── tests/ # 测试套件
│ └── phpunit/ # PHPUnit 测试
└── docs/ # 文档
您可以通过自己的插件或主题来扩展 MCP 功能,添加自定义工具。在您的插件或主题中创建一个新的工具类:
<?php
declare(strict_types=1);
namespace Automattic\WordpressMcp\Tools;
class MyCustomTool {
public function register(): void {
add_action('wp_mcp_register_tools', [$this, 'register_tool']);
}
public function register_tool(): void {
WPMCP()->register_tool([
'name' => 'my_custom_tool',
'description' => '我的自定义工具描述',
'inputSchema' => [
'type' => 'object',
'properties' => [
'param1' => ['type' => 'string', 'description' => '参数 1']
],
'required' => ['param1']
],
'callback' => [$this, 'execute'],
]);
}
public function execute(array $args): array {
// 您的工具逻辑在这里
return ['result' => 'success'];
}
}
您可以通过自己的插件或主题来扩展 MCP 功能,添加自定义资源。在您的插件或主题中创建一个新的资源类:
<?php
declare(strict_types=1);
namespace Automattic\WordpressMcp\Resources;
class MyCustomResource {
public function register(): void {
add_action('wp_mcp_register_resources', [$this, 'register_resource']);
}
public function register_resource(): void {
WPMCP()->register_resource([
'uri' => 'custom://my-resource',
'name' => '我的自定义资源',
'description' => '自定义资源描述',
'mimeType' => 'application/json',
'callback' => [$this, 'get_content'],
]);
}
public function get_content(): array {
return ['contents' => [/* 资源数据 */]];
}
}
运行全面的测试套件:
# 运行所有测试
vendor/bin/phpunit
# 运行特定的测试套件
vendor/bin/phpunit tests/phpunit/McpStdioTransportTest.php
vendor/bin/phpunit tests/phpunit/McpStreamableTransportTest.php
vendor/bin/phpunit tests/phpunit/JwtAuthTest.php
# 运行带有覆盖率报告
vendor/bin/phpunit --coverage-html coverage/
# 开发构建
npm run dev
# 生产构建
npm run build
# 监视模式
npm run start
插件包括广泛的测试:
查看详细的测试文档在 tests/README.md。
// wp-config.php
define('WPMCP_JWT_SECRET_KEY', 'your-secret-key');
define('WPMCP_DEBUG', true); // 启用调试日志
通过 设置 > WordPress MCP 访问:
插件提供了对 CRUD 操作的细粒度控制:
安全提示:删除操作可以永久移除数据。仅在信任所有 MCP 访问用户的情况下启用删除工具。
我们欢迎贡献!请参阅我们的 贡献指南。
composer install 安装 PHP 依赖npm install 安装 JavaScript 依赖vendor/bin/phpunit 运行测试对于支持和问题: