在 WordPress 6.9 中添加的 Abilities API 让核心和插件能够以标准、类型化和可发现的方式注册它们可以执行的操作。然后,官方 MCP Adapter 插件将这些能力转化为Claude或ChatGPT等 AI 客户端可以通过模型上下文协议调用的工具。本指南展示了如何注册一项只读能力,有目的地公开它并保持 WordPress 权限的控制。
你需要什么
- WordPress 6.9 或更高版本,其中包含核心中的 Abilities API。
- MCP 适配器插件。 WordPress.org页面列出了版本0.7.0,您可以使用WP-CLI安装它:
wp plugin install mcp-adapter --activate
- 可以连接到服务器的 MCP 客户端,可按照您选择的传输的适配器自述文件进行设置。
- 一个暂存站点。不要先在生产中尝试此操作。
依赖适配器的插件开发者可以添加 Requires Plugins: mcp-adapter 到他们的插件头。
步骤1:注册一项只读能力
每个能力都有名称、描述、输入和输出模式、执行回调和权限回调。此示例返回站点名称和已发布帖子的数量,并需要 edit_posts 能力。它遵循官方文档中的模式,因此请根据您的版本的 Abilities API 参考检查详细信息。
<?php
/**
* Plugin Name: Premier Read-Only Ability (example)
*/
add_action( 'wp_abilities_api_init', function () {
wp_register_ability( 'premier-example/site-summary', array(
'label' => 'Site summary',
'description' => 'Returns the site name and the number of published posts.',
'input_schema' => array( 'type' => 'object', 'properties' => array() ),
'output_schema' => array(
'type' => 'object',
'properties' => array(
'name' => array( 'type' => 'string' ),
'published_posts' => array( 'type' => 'integer' ),
),
),
'execute_callback' => function () {
$counts = wp_count_posts( 'post' );
return array(
'name' => get_bloginfo( 'name' ),
'published_posts' => (int) $counts->publish,
);
},
'permission_callback' => function () {
return current_user_can( 'edit_posts' );
},
'meta' => array( 'mcp' => array( 'public' => true ) ),
) );
} );
如果注册失败,请检查您的WordPress版本是否需要能力类别,并按照能力API文档添加能力类别。
步骤2:故意暴露
默认情况下,功能不会向 MCP 客户端公开。该适配器的文档称,只有在将其标记为公共时,才能通过其默认服务器使用该功能,使用 meta.mcp.public 设置为 true,如上例所示。
WordPress 7.1 添加统一 meta.public 旗帜。适配器的 0.7.0 注释表示具有以下能力 meta.public: true 通过默认 MCP 服务器公开,除非 meta.mcp.public 明确选择退出。 Core 的声明很明确,该标志仅控制暴露:它不会使能力在未经授权的情况下可执行,并且不会取代权限回调。
让这些想法落地。
从解决具体问题到建设完整网站,我们帮助您明确范围并完成实施。
聊聊我的网站定制 WordPress 网页开发分享您的目标。我们通常会在 4 小时内回复相关问题及实用的下一步方案。
步骤3:了解客户看到的内容
适配器注册一个默认服务器, mcp-adapter-default-server,具有自己的三种能力: mcp-adapter/discover-abilities, mcp-adapter/get-ability-info 和 mcp-adapter/execute-ability。公能力是通过这三者达到的,不一一列举。
步骤4:测试权限,而不仅仅是快乐路径
- 要求客户发现能力并确认
premier-example/site-summary出现。 - 阅读其详细信息,然后以具有以下权限的用户身份运行它:
edit_posts能力。 - 以不这样做的用户身份运行它。应该拒绝。
- 删除公共标志,重新加载,并确认该能力从发现中消失。
如果步骤 3 对于没有该能力的用户成功,则说明您的权限回调太宽松。
要避免的错误
- 将公共旗帜视为安全。 它控制可见性。权限回调决定谁可以运行该能力。
- 返回私有数据。 保持输出满足任务需要。
- 从写作能力开始。 一次添加一个,并且仅在第一次上演时添加。我们的指南 你永远不应该向人工智能代理展示的能力 列出有风险的。
- 使用广泛的帐户。 为代理提供具有最低功能的专用帐户。
常见问题
什么是 WordPress 能力 API?
这是WordPress核心和插件注册描述、类型化和可执行的函数的一种方式,每个函数都有一个权限回调。 WordPress6.9抵达。
我需要 MCP Adapter 插件才能使用功能吗?
不。没有它,能力也能发挥作用。该适配器是通过模型上下文协议将它们暴露给 AI 客户端的官方桥梁。
将 AI 代理连接到我的网站安全吗?
仅与您公开的能力及其背后的权限一样安全。从暂存站点上的一项只读功能开始。
想要一个精心构建的代理就绪插件吗?
我们构建带有权限检查、严格输入和日志记录的自定义插件。请参阅我们的 自定义WordPress插件开发.




