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

  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」按钮:

然后在文件浏览器中打开 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 服务器配置方式,可根据需求选择:

  1. 全局配置:在本地主目录的 .claude.json 文件中,添加 mcpServers 对象及服务器配置,配置后所有项目均可使用。
  2. 项目级配置:在项目目录中创建 .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 化全面升级。


©我爱水煮鱼,本站推荐使用的主机:阿里云,国外主机建议使用BlueHost

本站长期承接 WordPress 优化建站业务,请联系微信:「chenduopapa」。