WP MCP插件
一个WordPress插件,它公开了一个 模型上下文协议(MCP) 服务器,允许AI代理通过REST API与您的内容连接和交互。
特性
- 可流式HTTP传输 --代理通过您的网站URL直接连接
- 自动路由发现 -所有REST API路由都成为MCP工具(帖子、页面、媒体、用户、WooCommerce、ACF、自定义帖子类型等)
- OAuth 2.1身份验证 --MCP客户端通过浏览器登录和同意自动进行身份验证(PKCE,无需管理令牌)
- 基本身份验证支持 --还支持不支持OAuth的客户端的应用程序密码
- 设置页面 --一键生成身份验证令牌并复制就绪的配置片段
- 端点过滤 --按类别(帖子类型、分类、核心、插件)分配列表/块列表端点或使用压缩模式
- 描述控制 --按类别详细/最少的工具描述,以优化令牌使用
- ACF支持 --检测高级自定义字段并将ACF参数添加到可写路由
- 媒体上传 --支持通过MCP上传base64文件
- 零配置 --激活并连接
安装
- 下载最新版本
- 通过上传zip 插件>添加新插件>上传插件 (或摘录至
/wp-content/plugins/) - 通过以下方式激活插件 插件 菜单
- 首选 设置>MCP
- 复制MCP客户端的配置代码片段
客户端配置
MCP终点位于:
https://your-site.com/wp-json/mcp/v1OAuth 2.1(推荐)
支持OAuth的MCP客户端将自动进行身份验证——他们打开您的浏览器,您登录WordPress并批准连接。没有要复制或管理的令牌。
克劳德桌面版
添加 claude_desktop_config.json:
{
"mcpServers": {
"wordpress": {
"url": "https://your-site.com/wp-json/mcp/v1"
}
}
}克劳德代码/光标
添加 .mcp.json:
{
"mcpServers": {
"wordpress": {
"type": "streamable-http",
"url": "https://your-site.com/wp-json/mcp/v1"
}
}
}基本身份验证(传统)
对于不支持OAuth的客户端,您可以直接使用应用程序密码。
- 首选 设置>MCP
- 选择一个用户并单击 生成连接
- 复制带有嵌入式身份验证令牌的配置片段
克劳德桌面版
{
"mcpServers": {
"wordpress": {
"url": "https://your-site.com/wp-json/mcp/v1",
"headers": {
"Authorization": "Basic YOUR_TOKEN"
}
}
}
}克劳德代码/光标
{
"mcpServers": {
"wordpress": {
"type": "streamable-http",
"url": "https://your-site.com/wp-json/mcp/v1",
"headers": {
"Authorization": "Basic YOUR_TOKEN"
}
}
}
}使用 设置>MCP 要生成的页面 YOUR_TOKEN 自动。令牌只显示一次——如果丢失,请生成一个新的令牌。设置
所有设置都在 设置>MCP>设置 选项卡。
端点筛选
控制哪些REST API端点作为MCP工具公开。有四种模式可供选择:
| 模式 | 行为 |
|---|---|
| 所有端点 | 每个发现的REST API路由都会被公开。(默认) |
| 允许列表 | 仅显示选定的端点。 |
| 黑名单 | 除了选定的端点外,所有端点都将公开。 |
| 紧凑模式 | 用一个通用工具替换所有工具 wp_api 用于最小化令牌使用的工具。 |
在允许列表和阻止列表模式下,端点按类别分组:
- 帖子类型 --注册帖子类型(帖子、页面、自定义帖子类型)的路由
- 分类法 --注册分类法(类别、标签、自定义分类法)的路由
- 核心 --其他
/wp/v2/*路线(用户、评论、设置、搜索等) - 插件 --非核心命名空间(
/wc/v3/*,/acf/v3/*等等)
每个类别都有:
- A. 组复选框 选择/取消选择类别中的所有端点
- 一 “包括新项目” toggle——自动将新发现的端点包含在该类别中(例如,在安装插件或注册自定义帖子类型后)
工具说明
控制哪些工具获得详细的描述,而不是最少的单行代码。最小化描述可以减少每个令牌的使用 tools/list 电话。
| 模式 | 行为 |
|---|---|
| 全部详细 | 每个工具都有详细的描述。 |
| 允许列表 | 只有选定的工具/类别保留详细的描述;剩下的就很少了。 |
| 黑名单 | 除了被最小化的选定工具外,所有工具都很冗长。 |
| 全部最小化 | 每个工具都有最少的单行描述。(默认) |
允许列表和阻止列表模式使用与端点过滤相同的基于类别的分组,每个类别都有“包含新项目”的切换。
首次切换到Allowlist模式时,Post类型和分类被预先选择为详细,而Core和Plugin默认为最小。
运作原理
- 插件在注册REST API端点
/wp-json/mcp/v1 - MCP客户端通过以下方式发现OAuth元数据
/.well-known/oauth-protected-resource并通过您的WordPress登录进行身份验证 - 连接后,客户端会发现所有已注册的WordPress REST路由
- 每条路由都成为一个MCP工具,其参数来自端点模式
- 工具调用作为内部REST API请求执行(无HTTP开销)
- 经过身份验证的用户的权限适用于所有操作
工具命名
路线转换为下划线分隔的工具名称:
| 路线 | 工具名称 |
|---|---|
/wp/v2/posts | posts |
/wp/v2/posts/(?P[\d]+) | posts_id |
/wp/v2/categories | categories |
/wp/v2/media | media |
/wc/v3/products | wc_v3_products |
/acf/v1/posts/(?P[\d]+) | acf_v1_posts_id |
每个工具都接受 method 用于指定HTTP谓词的参数(GET, POST, PUT, PATCH, DELETE).
需求
- WordPress 6.0+
- PHP 7.4+
- 建议使用HTTPS(在大多数设置中,应用程序密码都是必需的)
