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 协议,这一需求就能实现。

图片[1]-WordPress 如何实现 AI Agent 操控:Abilities API 开放能力,MCP 适配器完成对接-AI Express News

基于此,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 点即可完成一个能力接口的注册:

  1. 一个唯一标识(命名格式:命名空间/能力接口名称
  2. 强类型的输入模式输出模式
  3. 用于权限校验的权限回调函数(permission_callback)
  4. 实现实际功能的执行回调函数(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-abilitiesmcp-adapter-discover-abilities
mcp-adapter/get-ability-infomcp-adapter-get-ability-info
mcp-adapter/execute-abilitymcp-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」按钮:

图片[2]-WordPress 如何实现 AI Agent 操控:Abilities API 开放能力,MCP 适配器完成对接-AI Express News

然后在文件浏览器中打开 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 服务器」中可看到配置的服务器,若状态显示「运行中」,即可在对话中使用。

图片[3]-WordPress 如何实现 AI Agent 操控:Abilities API 开放能力,MCP 适配器完成对接-AI Express News

Cursor

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

图片[4]-WordPress 如何实现 AI Agent 操控:Abilities API 开放能力,MCP 适配器完成对接-AI Express News

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

图片[5]-WordPress 如何实现 AI Agent 操控:Abilities API 开放能力,MCP 适配器完成对接-AI Express News

Claude Code

Claude Code 支持两种 MCP 服务器配置方式,可根据需求选择:

  1. 全局配置:在本地主目录的 .claude.json 文件中,添加 mcpServers 对象及服务器配置,配置后所有项目均可使用。
  2. 项目级配置:在项目目录中创建 .mcp.json 文件,添加相同格式的配置,仅当前项目可用。

两种方式的配置格式,均与 Claude 桌面端、Cursor 一致。

使用 MCP 工具

将 MCP 服务器与 AI 应用连接后,就可以开始使用 MCP 适配器暴露的 MCP 工具,以 Claude 桌面端为例,操作流程如下:

新建对话,输入指令:「获取我的 WordPress 站点信息」:

图片[6]-WordPress 如何实现 AI Agent 操控:Abilities API 开放能力,MCP 适配器完成对接-AI Express News

它会判断是否存在可用的 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 = WPMCPCoreMcpAdapter::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(               // 传输方式            WPMCPTransportHttpTransport::class,        ),        WPMCPInfrastructureErrorHandlingErrorLogMcpErrorHandler::class// 错误处理器        WPMCPInfrastructureObservabilityNullMcpObservabilityHandler::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 化全面升级。


点击卡片关注「WordPress果酱」 

<原文链接:https://mp.weixin.qq.com/s/5bx5pWyWcDNu8ZhlTUFqiQ

© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容