WordPress 如何实现 AI Agent 操控:Abilities API 开放能力,MCP 适配器完成对接
WordPress 6.9 版本推出的能力接口(Abilities API),实现了 WordPress 能力的标准化注册,让功能具备可发现、强类型、可执行的特性。它为开发者在 WordPress 生态中进行开发和拓展搭建了坚实基础,更是推动 WordPress 适配 AI 自动化与工作流的关键一步。
借助 Abilities API,WordPress 能充分对接当下及未来生成式 AI 的各类技术成果,而近期最重磅的成果之一,便是模型上下文协议(Model Context Protocol,MCP)。
基于 MCP 协议,开发者可为 AI 工具的底层模型补充更多上下文信息。举个例子:你想用 AI 工具为 WordPress 电商站点生成年度销售报告,若能让 AI 安全访问站点全年订单数据,报告的准确性会大幅提升 —— 而只要 WordPress 支持 MCP 协议,这一需求就能实现。

基于此,WordPress 官方也发布了MCP 适配器,它在 WordPress 站点范围内实现了 MCP 协议,让 Claude 桌面端、Claude Code、Cursor 等 AI 工具能直接发现并调用 WordPress 的各类 Abilities API。
快速回顾:Abilities API 是核心基础
如果你是首次了解 WordPress Abilities API,建议先阅读「WordPress Abilities API 介绍」,以下为其核心要点速览:
Abilities API 为 WordPress 打造了一套跨上下文的顶级功能接口,标准化了 WordPress 核心及插件的功能暴露方式。开发者只需通过以下 4 点即可完成一个能力接口的注册:
- 一个唯一标识(命名格式:
命名空间/能力接口名称) - 强类型的输入模式和输出模式
- 用于权限校验的权限回调函数(permission_callback)
- 实现实际功能的执行回调函数(execute_callback)
其中回调函数可实现任何功能,比如数据获取、文章更新、站点诊断,或是其他任意独立的业务操作等,能力接口一经注册,就能在 PHP、JavaScript 代码中,以及 REST API 中被发现和调用。
WordPress 6.9 简单内置了 3 个默认能力接口,刚好可以为 MCP 适配器的测试提供基础:
core/get-site-info:返回 WordPress 站点的配置信息,默认返回所有字段,也可按需筛选指定字段core/get-user-info:返回当前已认证用户的基础资料,支持个性化设置、操作审计和基于权限的行为控制core/get-environment-info:返回站点运行环境的核心信息,包括服务器环境、PHP 版本、数据库信息、WordPress 版本,用于站点诊断和兼容性检测
什么是 WordPress MCP 适配器
WordPress MCP 适配器是 WordPress 官方「AI 构建模块计划」中的组件,核心作用是将 Abilities API 注册的功能,转换为模型上下文协议(MCP)支持的基本元素,让 AI Agent 能够使用 MCP 工发现和调用站点功能,并以 MCP 资源的形式读取 WordPress 数据。
这就意味着:如果你的代码已经实现了 Abilities API 的注册,那么只需一步,就能让 AI Agent 调用这些功能,无需额外编写复杂的对接代码。
MCP 将 AI 与系统的交互分为三个主要的基本元素:工具(Tools),即 AI 调用以执行操作的可执行函数;资源(Resources),即AI 读取的被动数据源(例如文件或数据库的行),为 AI 提供上下文信息;以及提示词(Prompts),即用于引导 AI 完成特定工作流程的预配置模板。
在 MCP 适配器中,Abilities 通常会被封装为 MCP 工具—— 因为 Abilities 本身就是可执行逻辑(如数据获取、文章更新、站点诊断)。同时适配器具备高度灵活性:若某个 Ability 仅提供只读数据(如调试日志、静态站点配置),也可将其配置为 MCP 资源,让 AI 无需主动「调用」,就能将这些信息作为背景上下文纳入分析。
开始使用 MCP 适配器
目前 MCP 适配器是以 WordPress 插件包的形式存在,所以开始使用 MCP 适配器,是从其 GitHub 仓库的发布页面下载,然后在 WordPress 安装激活。
插件激活后,会自动注册一个名为 mcp-adapter-default-server 的默认 MCP 服务器,并新增 3 个自定义能力接口,且这些接口会自动暴露为对应的 MCP 工具:
| Abilities API | 对应的 MCP 工具 |
|---|---|
mcp-adapter/discover-abilities | mcp-adapter-discover-abilities |
mcp-adapter/get-ability-info | mcp-adapter-get-ability-info |
mcp-adapter/execute-ability | mcp-adapter-execute-ability |
These three tools offer AI agents a layered approach to accessing WordPress Abilities. Agents can discover which Abilities are available, get ability information, and execute abilities.
这三个工具为 AI Agent 提供了一种分层方法来访问 WordPress Abilities,AI Agent 就可以发现哪些能力可用、获取能力的详细信息并执行能力。
为 MCP 适配器启用 Abilities API
默认情况下,Abilities 仅在显式标记为 MCP 公共可访问时,才能被 MCP 适配器的默认服务器调用。实现这一设置,在使用 wp_register_ability()注册能力接口时,注册参数需要添加 meta.mcp.public 标识:
'meta' => array(
'mcp' => array(
'public' => true
),
)
而对于 WordPress 核心代码的 Abilities,可通过钩子 wp_register_ability_args 过滤注册参数,为其添加 meta.mcp.public 标识:
add_filter( 'wp_register_ability_args', function($args, $ability_name){
if ( in_array( $ability_name, [
'core/get-site-info',
'core/get-user-info',
'core/get-environment-info'
] ) ) {
$args['meta']['mcp']['public'] = true;
}
return $args;
}, 10, 2 );
完成这些设置后,您就可以通过 MCP 适配器将 AI 客户端和 WordPress 站点连接,并通过默认服务器的 MCP 工具调用这些核心 Abilities。
连接 AI 应用程序
传输方式
要让 AI 应用程序与开启 MCP 服务的 WordPress 站点通信,有两种传输方式:标准输入输出(STDIO) 和超文本传输协议(HTTP),具体选择哪种,主要取决于 WordPress 站点的部署位置。
对于本地 WordPress 开发环境,最直接的连接方式就是 STDIO ,MCP 适配器通过 WP-CLI 实现 STDIO 传输,因此需要在本地安装 WP-CLI。此时在 AI 应用中至少需要配置以下内容才能连接到已启用 MCP 的 WordPress 站点:
"wordpress-mcp-server": {
"command": "wp",
"args": [
"--path=/path/to/your/wordpress/installation",
"mcp-adapter",
"serve",
"--server=mcp-adapter-default-server",
"--user={admin_user}"
]
}
配置说明:
- 首先把服务器定义成:
wordpress-mcp-server,也可以按自己喜欢改。 command:执行命令,这里固定为wp(就是 WP-CLI 命令)args:命令参数--path:你的 WordPress 本地安装路径mcp-adapter serve:启动 MCP 适配器服务--server:指定要使用的 MCP 服务器(此处为默认服务器)--user:指定用于身份验证的 WordPress 用户(此处为管理员用户)
对于公网上可访问的 WordPress 站点,建议使用 @automattic/mcp-wordpress-remote 远程代理实现的 HTTP 链接,这个需要你本地安装 Node.js,并通过WordPress 应用密码或自定义 OAuth 方案完成身份验证。此时最小配置示例如下:
"wordpress-mcp-server": {
"command": "npx",
"args": ["-y", "@automattic/mcp-wordpress-remote@latest"],
"env": {
"WP_API_URL": "https://yoursite.example/wp-json/mcp/mcp-adapter-default-server",
"WP_API_USERNAME": "{admin_user}",
"WP_API_PASSWORD": "{application-password}"
}
}
配置说明。
- 服务器名称一样,这里不重复。
command:执行命令,这里固定为npx(Node.js 包执行工具)args:-y表示自动同意安装依赖包,@automattic/mcp-wordpress-remote@latest表示最新版远程 MCP 代理包env:环境变量,配置站点接口地址和身份验证信息。
若本地 WordPress 站点通过 HTTP 远程代理连接时出现问题,mcp-wordpress-remote 包提供了包含一些故障排除技巧。
了解了传输方式,下面介绍在主流 AI 应用(Claude 桌面端、Cursor、Claude Code)中 MCP 服务器的配置方法。
注意:以下所有示例均基于本地 Studio 站点「WordPress MCP」,请根据自己的站点信息替换相关值。
| 配置 | 具体值 |
|---|---|
| 路径 | /Users/wpjam/Studio/wordpress-mcp |
| 访问地址 | http://localhost:8885/ |
| 管理员用户 | admin |
Claude 桌面端
Claude 桌面端是首批原生支持 MCP 服务器的应用之一,进入 Developer 标签页(Claude → Settings → Developer),点击「Edit Config」按钮:

然后在文件浏览器中打开 claude_desktop_config.json 文件,然后在其中添加 MCP 服务器配置:MCP 服务器通过 mcpServers 对象添加到此文件中,在 mcpServers 对象中添加对应的配置。
STDIO 传输配置:
{
"mcpServers": {
"wordpress-mcp-server": {
"command": "wp",
"args": [
"--path=/Users/wpjam/Studio/wordpress-mcp",
"mcp-adapter",
"serve",
"--server=mcp-adapter-default-server",
"--user=admin"
]
}
}
}
HTTP 传输配置:
{
"mcpServers": {
"wordpress-mcp-server": {
"command": "npx",
"args": ["-y", "@automattic/mcp-wordpress-remote@latest"],
"env": {
"WP_API_URL": "http://localhost:8885/wp-json/mcp/mcp-adapter-default-server",
"WP_API_USERNAME": "admin",
"WP_API_PASSWORD": "2SEB qW5j D7CW fpsh pbmN RGva"
}
}
}
}
保存配置文件后重启 Claude 桌面端(仅在启动时读取 MCP 配置),重启后在「开发者」板块的「本地 MCP 服务器」中可看到配置的服务器,若状态显示「运行中」,即可在对话中使用。

Cursor
如果是 Cursor,点击 Cursor → Settings → Cursor Settings,然后选择「Tools and MCP」 板块:

点击「Add Custom MCP」按钮,会打开 Cursor 的 mcp.json 配置文件,配置格式与 Claude 桌面端完全一致,这里就不重复。保存配置后返回「Tools and MCP」板块,就会看到已配置的 MCP 服务器,开启后即可在编码过程中使用。

Claude Code
Claude Code 支持两种 MCP 服务器配置方式,可根据需求选择:
- 全局配置:在本地主目录的
.claude.json文件中,添加mcpServers对象及服务器配置,配置后所有项目均可使用。 - 项目级配置:在项目目录中创建
.mcp.json文件,添加相同格式的配置,仅当前项目可用。
两种方式的配置格式,均与 Claude 桌面端、Cursor 一致。
使用 MCP 工具
将 MCP 服务器与 AI 应用连接后,就可以开始使用 MCP 适配器暴露的 MCP 工具,以 Claude 桌面端为例,操作流程如下:
新建对话,输入指令:「获取我的 WordPress 站点信息」:

它会判断是否存在可用的 MCP 服务器,并调用 mcp-adapter-discover-abilities 工具来查看有哪些功能可用。然后,它会判断 core/get-site-info 功能可以满足请求,并调用 mcp-adapter-execute-ability 工具,并传入该能力接口标识。
工具执行后返回站点信息,Claude 基于该数据生成对话回复。整个过程无需人工干预,AI 会自动完成工具发现、调用与结果解析。
为插件自定义 MCP 服务器
虽然 MCP 适配器的默认服务器可满足大部分使用需求,但是如果你需要对 Abilities 的 MCP 工具暴露方式拥有更多控制权,可为自己的插件创建自定义 MCP 服务器,实现步骤如下:
安装好 MCP 适配器插件之后,通过钩子 mcp_adapter_init 创建自定义 MCP 服务器,该钩子的回调函数会接收 MCP 适配器实例,通过实例的 create_server() 方法定义服务器配置:
add_action( 'mcp_adapter_init', function( $adapter ) {
$adapter = WP\MCP\Core\McpAdapter::instance();
$adapter->create_server(
'custom-mcp-server', // 自定义服务器唯一标识
'custom-mcp-server', // REST API 命名空间
'mcp', // REST API 路由
'Custom MCP Server', // 服务器显示名称
'Custom MCP Server', // 服务器描述
'v1.0.0', // 服务器版本
array( // 传输方式
\WP\MCP\Transport\HttpTransport::class,
),
\WP\MCP\Infrastructure\ErrorHandling\ErrorLogMcpErrorHandler::class, // 错误处理器
\WP\MCP\Infrastructure\Observability\NullMcpObservabilityHandler::class, // 可观测性处理器
array( 'namespace/ability-name' ), // 插件的能力接口标识
array(), // 资源(可选的)
array(), // 提示词 (可选的)
);
} );
核心配置参数说明看注释即可,就不再额外说明。然后就可以把新创建的 MCP 服务器添加到 AI 应用:
{
"mcpServers": {
"wordpress-mcp-server": {
"command": "npx",
"args": ["-y", "@automattic/mcp-wordpress-remote@latest"],
"env": {
"WP_API_URL": "http://localhost:8885/wp-json/mcp/mcp-adapter-default-server",
"WP_API_USERNAME": "admin",
"WP_API_PASSWORD": "2SEB qW5j D7CW fpsh pbmN RGva"
}
},
"custom-mcp-server": {
"command": "npx",
"args": ["-y", "@automattic/mcp-wordpress-remote@latest"],
"env": {
"WP_API_URL": "http://localhost:8885/wp-json/mcp/custom-mcp-server",
"WP_API_USERNAME": "admin",
"WP_API_PASSWORD": "2SEB qW5j D7CW fpsh pbmN RGva"
}
}
}
}
即刻上手体验 MCP 适配器
对于 WordPress 开发者而言,快速体验 MCP 适配器的「极简入门流程」仅需三步:注册一个 ability,引入并初始化 MCP 适配器,最后连接一个支持 MCP 协议的 AI 客户端。
如果你的插件已经使用了 Abilities API,那么借助 MCP 适配器,只需少量额外工作,就能将这些插件转换为支持 AI 调用的接口。
Abilities API 与 MCP 适配器的结合,为 WordPress 开发者打造了强大的开发路径,助力开发者为客户和团队构建 AI 辅助的后台管理工具、自动化流程和工作流,推动 WordPress 生态向 AI 化全面升级。