关于 Agent Abilities for MCP
Agent Abilities for MCP 是一款 WordPress 插件,让 AI Agent 按 WordPress 权限操作网站内容和受支持的集成。工具默认关闭;每次调用都会记录到审计日志,包括被拒绝的尝试。
主要功能
- 01受管控的 WordPress 能力与工具
- 02按角色和连接设置允许列表
- 03只读和草稿审批控制
- 04逐次调用审计日志
- 05WooCommerce 和插件集成
适用场景
- 01让 Editor 账户更新文章
- 02让 Agent 创建待审草稿
- 03以独立控制连接多个网站
- 04审计 Agent 访问及被拒调用
MCP 相关
该插件内置官方 MCP Adapter,将已启用且经过权限检查的 WordPress 能力作为 MCP 工具公开。连接使用 OAuth 或 Application Password,访问范围由对应 WordPress 用户的权限决定。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://{hostname}/wp-json/agent-abilities-for-mcp/mcpclaude mcp add --transport http unaibamir-agent-abilities-for https://{hostname}/wp-json/agent-abilities-for-mcp/mcp{"mcpServers":{"unaibamir-agent-abilities-for":{"type":"http","url":"https://{hostname}/wp-json/agent-abilities-for-mcp/mcp"}}}在 Cursor 中打开{"servers":{"unaibamir-agent-abilities-for":{"type":"http","url":"https://{hostname}/wp-json/agent-abilities-for-mcp/mcp"}}}在 VS Code 中打开{"mcpServers":{"unaibamir-agent-abilities-for":{"type":"http","url":"https://{hostname}/wp-json/agent-abilities-for-mcp/mcp"}}}{"mcpServers":{"unaibamir-agent-abilities-for":{"serverUrl":"https://{hostname}/wp-json/agent-abilities-for-mcp/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
Agent Abilities for MCP - 为 Claude 和 ChatGPT 提供带权限控制和审计日志的连接
适用于 Claude 和 ChatGPT 的 WordPress MCP 服务。可在一个或多个站点上运行,并提供有限访问权限、只读模式、待你批准的草稿以及审计日志。
| 贡献者 | unaibamir |
| 标签 | chatgpt, claude, ai-agent, mcp, mcp-server |
| 至少需要 | 6.9 |
| 已测试至 | 7.1 |
| PHP 版本要求 | 7.4 |
| 稳定标签 | 1.9.0 |
| 许可证 | GPL-2.0-or-later |
描述
为 ChatGPT 和 Claude 提供带有限访问权限和审计日志的 WordPress MCP 服务
Agent Abilities for MCP 通过 Model Context Protocol (MCP),借助 179 项精选 WordPress 能力(工具),将 ChatGPT、Claude、Cursor 和其他 AI Agent 连接到你的 WordPress 站点。Agent 将作为你指定的真实 WordPress 用户运行,绝不会使用管理员密钥,因此只能执行该用户角色允许的操作。你可以在一个或多个站点上运行,每个站点都有独立的用户、开关和审计日志。它基于 WordPress 6.9 Abilities API 构建,并内置官方 MCP Adapter,因此无需安装其他组件。
在你启用之前,此插件提供的任何内容都不会对外开放。此插件工具的每次调用都会根据所选用户的权限进行检查,并在运行前写入审计日志,包括被拒绝的尝试。编辑者账户可以撰写和发布文章,但无法安装插件或更改设置,因此你可以随着信任的建立逐步开放权限。若要在新文章上线前审批,请启用 Force draft,并在仪表盘的 Needs review 卡片中审核 Agent 撰写的内容。有关此插件本身能够访问的具体内容,请参阅下方的“外部服务”。
Model Context Protocol (MCP) 是最初由 Anthropic 开发的开放规范。Claude、ChatGPT、Cursor、VS Code、Gemini 和其他产品名称均为其各自所有者的商标。Agent Abilities for MCP 是第三方插件,与这些产品均无关联,也未得到其认可或赞助。
快速链接: 文档 | 开始使用 | 支持的客户端 | 提示词库 | 网站
什么是 WordPress MCP 服务?
WordPress MCP 服务让 AI 助手可以直接在你的站点上工作,而不必在聊天窗口和 wp-admin 之间复制文本。MCP (Model Context Protocol) 是一项开放标准,用于告知 AI 客户端某项服务提供哪些工具以及如何调用这些工具,因此 Claude、ChatGPT 或任何其他 MCP 客户端都可以列出你的文章、撰写草稿,或更新 WooCommerce 订单。
简短演示:
使用场景
- 在一个 AI 聊天中管理多个网站。 在每个网站上安装插件,并将每个网站分别添加为 ChatGPT 或 Claude 的连接器。每个网站都有自己的用户、开关和审计日志,因此代理可以管理某个客户的网站,而不会影响其他网站。
- 让 ChatGPT 或 Claude 撰写和编辑文章,而无需管理员权限。 将代理连接为编辑、作者或投稿者账号。它只能执行该角色在 wp-admin 中可以执行的操作。
- 让代理为你保存草稿,供你审批。 开启创建时强制保存为草稿后,代理创建或尝试发布的任何内容都会保存为草稿。仪表盘上的“需要审核”卡片会列出代理创建的草稿和待发布文章,并提供“预览”“在编辑器中打开”“发布”和“丢弃”(“丢弃”会将文章移至回收站)选项。如果还要阻止代理更改已发布的文章,请将其连接为投稿者。
- 让 AI 读取网站内容,但不做任何更改。 只读模式会阻止所有写入工具加载,包括你从其他插件接入的写入工具。
- 只需告诉代理一次网站信息。 在“设置”选项卡的“网站简介”中写几行内容,例如网站的文风或需要避免更改的内容。会话开始时,此插件会将这些信息发送给每个连接的代理。
- 查明代理无法连接的原因。 “连接”选项卡中的“连接诊断”会从你自己的服务器检查连接,并指出解决方法,例如识别出会剥离 Authorization 标头的主机。
- 修正错别字并更新旧文章。 代理可以搜索文章、读取文章并更新文章,此插件会记录每一步操作。
- 通过代理使用其他插件。 注册 WordPress 能力的插件(例如 WPForms)会显示在“其他插件”页面上,默认处于关闭状态,直到你将其开启。
🛡️ 每次调用均设有权限控制和审计日志
- 默认遵循最小权限原则。 AI Agent 通过 OAuth 或 Application Password,以真实且权限受限的 WordPress 用户身份连接,绝不会使用相当于管理员权限的密钥。
- 默认关闭。 在启用之前,本插件的任何工具都不会公开;更新也绝不会启用工具。更新可能改变的一项设置是 Adapter 的默认服务器,其他插件会向该服务器发布工具。详见常见问题解答。
- 只读模式。 只需一个开关,就能阻止所有写入能力注册,无论勾选了什么,包括从其他插件桥接而来的能力;关闭只读模式后,你原先的选择不会改变。其他插件直接发布到 Adapter 默认服务器的工具不受此模式影响。
- 两层能力检查。 连接只能看到其用户有权调用的工具;每次调用运行前都会重新检查相应权限。有一项例外:从其他插件桥接而来的工具,如果其自身的检查需要条目 ID,那么所有有权编辑文章的用户都能看到它,但每次调用仍由该插件的检查决定是否允许。
- 按角色和连接设置允许列表。 可在全局列表的基础上,进一步限制某个角色或某个连接可访问的内容。列表只会收紧权限:一项能力必须同时通过全局列表、角色列表和连接列表,Agent 才能调用它。从未打开此页面的网站不会有任何变化。
- 如实记录审计日志。 对本插件工具的每次调用都会记录,包括被拒绝的尝试,以及发起调用的用户或连接、参数键和一条仅包含标识符的简短操作记录。日志绝不保存自由文本参数内容,并且保存在你自己的数据库中。
- 从设计上限制能力范围。 不允许任意访问选项或元数据,也不允许运行代码。上传内容会根据实际字节进行验证,且必须符合图像允许列表;URL 上传会拒绝指向私有、环回或链路本地地址的目标,且不会跟随重定向。新用户只会获得默认角色,绝不会成为管理员;最后一位管理员也永远无法被移除。所有破坏性操作默认关闭、受权限检查,并会在支持的情况下移至回收站。
- 可选的安全控制。 可启用每分钟速率限制、IP 允许列表、强制设为草稿模式或标题长度上限。这四项功能在你设置之前都会保持关闭。
- 内容不会离开你的网站。 本插件不会联系任何 AI 提供商,也没有遥测功能;关于它可能自行发出的两项请求,请参见下方的“外部服务”。
- 两种连接方式。 通过 OAuth 授权 Agent(无需在配置文件中存放密钥),或将专用低权限用户与 Application Password 配合使用;引导页面会为你生成配置。Application Password 是适用于整个网站的凭据,其权限仅受该用户角色限制,因此本插件自身的限制(允许列表、高风险权限下限、审计日志)只适用于通过其 MCP 端点发出的调用。OAuth 不受此限制,因为本插件签发的令牌只用于验证此端点的身份。
🤖 基于 WordPress Abilities API 和 MCP Adapter 构建
WordPress 6.9 随附 Abilities API。官方 MCP Adapter(wordpress/mcp-adapter)已随本插件一同提供,无需单独安装。如果独立的 Adapter 插件也处于启用状态,本插件会使用先加载的那个版本,范围为 0.6.1 至 0.7.x。Agent Abilities for MCP 会在这些组件之上注册一组经过筛选和治理的能力,而不是自行发明协议或服务器,因此无需信任专有传输机制。设置中的开关(Automatic、Always on、Always off)用于控制 Adapter 的默认服务器,其他插件可以向该服务器发布工具。默认的 Automatic 模式只有在其他插件向该服务器发布工具时才会启动它,而且本插件自身的工具绝不会出现在该服务器上。
📦 179 项受治理的能力
该插件提供 179 项受治理的能力:WordPress 核心包含 85 项,自动检测到的集成包含 94 项。这些能力默认全部关闭,均设有范围限制、能力权限门控和日志记录。它还可以桥接其他插件提供的能力(见下文)。
WordPress 核心(85 项能力)。 可读取整个站点,并进行受限制的写入操作:
- 📝 文章和页面: 列出、读取、创建、更新和删除;破坏性操作默认关闭,删除的内容会移至回收站。
- 🏷️ 术语和分类法: 管理分类目录、标签和自定义分类法术语。
- 💬 评论: 读取并审核待处理的评论。
- 🖼️ 媒体: 列出并读取媒体库;还可通过内联数据或 HTTPS URL 添加图片,并根据实际字节内容使用允许列表进行验证。
- 🗂️ 文章元数据: 只读取和写入管理员允许列表中的元数据键;受保护的、以下划线开头的元数据键以及身份验证键永远不能加入允许列表。
- 👥 用户: 在能力权限限制内读取和管理用户;新用户将获得默认角色,绝不会成为管理员,并且最后一位管理员无法被移除。
- 🧭 站点结构: 管理菜单以及维系站点结构的各项元素。
- 🕓 修订历史: 查看内容的修订记录。
- 🧱 区块和模板: 管理可复用区块、主题和模板。
- ⚙️ 有限的设置和站点健康状况: 提供严格限定范围的设置,以及只读的站点健康状况和插件状态。
- 🔍 站点范围搜索: 一次搜索即可涵盖所有文章类型。
集成(94 项能力)。 自动检测已启用的插件;默认关闭,启用后受能力权限门控并记录日志,且仅在对应插件处于启用状态时提供:
- 🛒 WooCommerce MCP(52 项能力): 读取和写入产品、订单及客户信息,帮助运营商店。这些操作涉及个人数据(姓名、电子邮件、地址),因此会显示清晰的管理员通知,并且在启用前始终保持关闭。
- 🧩 Advanced Custom Fields(7 项能力): 读取和写入 ACF 字段数据;与 WooCommerce 一样,这些操作可能涉及个人数据,并会显示相同的通知。
- 📈 Rank Math SEO(5 项能力): 读取和管理 Rank Math SEO 数据。
- 📈 Yoast SEO(3 项能力): 读取和管理 Yoast SEO 数据。
- 📈 All in One SEO(3 项能力): 读取和管理 AIOSEO 数据。
- 📅 The Events Calendar(13 项能力): 读取和管理活动、场地及组织者。
- 🎫 Event Tickets(3 项能力): 读取活动的票券和参会者信息。不提供购买票券的写入操作。
- 📈 Slim SEO(2 项能力): 读取和管理 Slim SEO 数据。
- 🎨 Avada / Fusion Builder(2 项能力): 读取页面的原始 Fusion Builder 标记,并替换文本,同时保持短代码布局不变。
- 📍 GeoDirectory(4 项能力,默认关闭): 读取和管理商家及地点列表;即使插件处于启用状态,该功能仍保持关闭,需在「集成」选项卡中将其启用。
🔗 来自其他插件的功能(1.1.0 新增)
WordPress 6.9 允许任何插件注册自己的功能,不再局限于此插件;Agent Abilities for MCP 也可以引入这些功能。其他已启用插件提供的功能会显示在专门的 其他插件 页面中,并按插件分组。默认情况下,所有功能均处于关闭状态;启用后,它们就会成为受管控的 MCP 工具,并遵循与内置目录相同的规则:限定范围、检查权限、限制速率,并且仅记录标识符。
有一点需要注意:由于实际执行工作的是其他插件的代码,只有当该插件提供了描述时,WordPress 才能根据描述检查桥接功能的答复。无论是否提供描述,上述治理措施(权限、范围限定、速率限制、审计日志)都会完整生效。
有些插件会跳过此页面,直接将工具发布到 Adapter 的默认服务。这些工具不受此插件的控制(请参阅有关默认服务的常见问题)。
任何支持 Abilities API 的插件都可以交由你的 Agent 使用,还可以一次性切换整个插件的所有功能。随附的 WP-CLI 命令 wp aafm catalog export 会将网站上可发现的功能以 JSON 格式输出。
页面构建器页面:拒绝操作,不会悄悄失效
Elementor、Divi、Beaver Builder 和 Avada 会将布局保存在常规文章内容之外,因此,即使写入操作报告成功,前端页面也可能完全没有变化。从 1.7.4 开始,插件会在写入前进行检查,并拒绝调用,同时指出负责该页面的构建器。这是一项防护措施,并非与这些构建器的集成;目前尚未涵盖 OptimizePress。
将 Claude 连接到 WordPress
安装插件,启用你希望 Claude 使用的功能,在 Claude 中将网站的 MCP 端点添加为自定义连接器,然后通过 OAuth 批准一次登录即可。无需 API 密钥或配置文件。claude.ai 应用、Claude Desktop 和 Claude Code 共用此连接流程;Claude 始终只能以批准连接的 WordPress 用户身份执行操作。
将 ChatGPT 连接到 WordPress
在 ChatGPT 中开启开发者模式(依次进入“设置”、“连接器”和“高级”),将网站的 MCP 端点添加为自定义连接器,然后通过 OAuth 批准一次连接。此功能目前处于 ChatGPT 付费套餐的 Beta 阶段,并非插件的限制。如果无法连接,请在“连接”选项卡中运行 Connection Doctor。之后,ChatGPT 只能访问你启用的功能,并以批准连接的 WordPress 用户身份执行操作。
🔌 连接 ChatGPT、Claude、Cursor 和其他 MCP 客户端
连接任何能够访问你的端点的 MCP 客户端。托管云应用(ChatGPT、Claude 和 Manus)通过 URL 连接:将端点添加为自定义连接器,然后通过 OAuth 批准一次登录,无需编辑配置文件或安装桥接程序。ChatGPT 需要开启开发者模式,而该模式要求付费套餐。Claude 只需一个条目,即可同时连接 Claude Web 应用和 Claude Desktop,因为两者共用同一连接器流程。编辑器和命令行客户端(Claude Code、Cursor、VS Code、Windsurf 和 Gemini CLI)可直接连接,也可通过在你自己的机器上运行的开源 mcp-remote 桥接程序连接。你也可以使用应用程序密码代替 OAuth 进行连接,并让低权限用户访问该端点。目前尚不支持 Gemini 托管应用。
安装
- 将插件上传到
/wp-content/plugins/agent-abilities-for-mcp目录,或从 WordPress 插件页面安装。 - 在插件页面将其激活。
- 在管理侧边栏中打开 Agent Abilities for MCP 菜单。在「功能」选项卡中,仅启用你希望 Agent 使用的功能。默认情况下,所有功能均处于关闭状态。
- 在「连接」选项卡中复制你的网站 MCP 端点。最简单的方式是使用 OAuth:将端点粘贴到 MCP 客户端中,然后在浏览器中批准一次连接;此时 Agent 将以你自己的账户身份操作。
- 如果你不想使用 OAuth,或者客户端不支持 OAuth,可以创建「连接」选项卡提供的专用低权限 Agent 用户,为其生成应用程序密码,然后使用该密码连接。
- 在「连接」选项卡中运行「检查我的连接」,确认服务器可以访问该端点。
配置
你的网站 MCP 端点位于 REST API 下的固定路径中(将 example.com 替换为你自己的域名):
https://example.com/wp-json/agent-abilities-for-mcp/mcp
托管应用(ChatGPT、Claude 和 Manus)可直接使用该 URL:将其添加为自定义连接器,然后通过 OAuth 批准一次连接。编辑器和命令行客户端则使用配置文件。标准配置块会在你自己的计算机上运行开源的 mcp-remote 桥接程序,引导你在浏览器中完成同样的一次性 OAuth 批准,因此配置文件中不会保存任何密钥。桥接程序会将发给它的令牌保存在你自己的计算机上的 ~/.mcp-auth 中:
{
"mcpServers": {
"agent-abilities": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://example.com/wp-json/agent-abilities-for-mcp/mcp"]
}
}
}
VS Code 在 .vscode/mcp.json 中将同一配置块的键设为 servers,而不是 mcpServers。想使用应用程序密码而不是 OAuth?创建「连接」选项卡提供的专用低权限 Agent 用户,然后通过 @automattic/mcp-wordpress-remote 桥接程序连接,并在其 env 块中填写凭据:
{
"mcpServers": {
"agent-abilities": {
"command": "npx",
"args": ["-y", "@automattic/mcp-wordpress-remote@latest"],
"env": {
"WP_API_URL": "https://example.com/wp-json/agent-abilities-for-mcp/mcp",
"WP_API_USERNAME": "your-agent-user",
"WP_API_PASSWORD": "PASTE-APPLICATION-PASSWORD-HERE"
}
}
}
}
你无需手动编写上述任一配置块:「连接」选项卡会生成这两种配置,并自动填入你的实际端点,还提供 Windows 版本和连通性检查。
常见问题
更多帮助:文档 | 连接客户端 | 安全与披露 | 支持论坛
如何将 Claude 连接到 WordPress?
安装插件,在「功能」选项卡中启用所需功能,然后从「连接」选项卡复制 MCP 端点,并将其作为自定义连接器添加到 Claude。然后在浏览器中批准一次登录。claude.ai 网页应用和 Claude Desktop 使用相同的流程;Claude Code 则通过命令行连接。
Agent 会获得管理员权限吗?
不会。Agent 会以你指定的 WordPress 用户身份进行身份验证。将其绑定到插件可以为你创建的专用低权限用户,它就只能执行该用户有权执行的操作。该插件的每项功能在运行前也会重新检查用户权限,因此,如果用户无权使用某项功能,连接就无法调用该功能。
我可以对 AI Agent 使用哪些权限控制?
Agent Abilities for MCP 为其自身的工具提供三层控制。每项功能在启用前都处于关闭状态。Agent 会以你选择的真实 WordPress 用户身份连接,因此它只能执行该用户角色本来就允许的操作。每次调用都会在运行前重新检查该用户的权限;未通过检查的调用将被拒绝并记录。
我可以让一个连接拥有比另一个连接更少的访问权限吗?
可以。除了全站启用的能力列表外,你还可以在“连接”页面添加按角色设置的允许列表、按连接设置的允许列表,或两者兼有。两者都只会进一步缩小已启用的范围:一项能力必须先通过全局列表,再通过匹配角色的列表,最后通过匹配连接的列表,Agent 才能调用它。角色和 OAuth 连接之下没有更细粒度的范围控制——应用程序密码会继承其所属用户的全部角色权限,无法单独限制每个密码。不更改此页面就不会有任何变化;所有现有连接都会一如既往地正常工作。
如何查看 Agent 做了什么?
打开“活动日志”选项卡。你可以按用户、连接、工具、插件、日期和文本筛选。每一行都会显示连接名称、源 IP 地址以及工具运行时长。顶部的摘要涵盖最近 7 天;观看时,“实时”视图会持续更新第一页(应用文本搜索或用户筛选时,必须指定日期范围)。导出 CSV 会下载筛选结果中显示的全部行。
IP 地址是请求的来源地址,因此如果请求经由代理或 CDN,显示的就是代理的地址。运行时长是工具内部耗费的时间,并不代表 Agent 实际经历的时间。被拒绝的调用不会运行,因此没有运行时长。
有 Agent 操作记录的审计日志吗?
有。Agent Abilities for MCP 会将对其任一能力的每次调用写入你自己的数据库中的审计日志,包括被拒绝的尝试。每条记录都会记下执行操作的用户、能力名称、参数键,以及简短说明,概述调用涉及的内容:仅包含少量用于识别的信息,例如 ID、meta 键名、别名和状态值。对于对其他插件桥接能力的失败调用,还会记录该插件的错误代码,但绝不会记录错误消息。自由文本参数内容、文章正文或电子邮件地址都不会被存储。每条记录还会记下源 IP 地址和工具耗时;对于被拒绝的调用,还会记录拒绝原因。该原因会出现在日志中,而不会出现在 Agent 收到的消息里。你可以在管理界面清除日志。
将 AI Agent 连接到我的 WordPress 网站安全吗?
如果连接的权限范围受到限制,就安全;这正是此插件的设计核心。Agent 会以你选择的真实 WordPress 用户身份连接,该用户遵循最小权限原则,绝不会使用具有管理员等效权限的密钥。所有能力默认关闭,启用前无法使用;每次调用其工具时,都会在运行前重新检查用户的权限,而且每次调用都会记入日志,包括被拒绝的尝试。其他插件发布到 Adapter 默认服务器上的工具不受这些检查约束;详情请参阅有关默认服务器的常见问题。插件本身绝不会持有具有管理员等效权限的密钥。
Agent 实际上能做什么?
Agent 只能使用你已启用的能力,且只能在绑定用户的权限范围内操作。能力目录包含对文章、页面、分类法、评论、媒体、文章 meta 和网站结构的读取与受限写入功能,还包括修订历史记录以及可一次搜索所有文章类型的搜索功能。没有任意修改选项、修改角色或运行代码的能力。唯一会获取远程 URL 的能力是媒体上传:它只接受 https,拒绝解析到私有、环回或链路本地地址的目标,绝不跟随重定向,并且与其他能力一样,默认关闭,只有启用后才能使用。Agent 只能为管理员明确添加到允许列表的键写入文章 meta;受保护的键、以下划线开头的键和身份验证键永远不能加入允许列表。能力支持的删除操作会将内容移至回收站;永久删除能力默认关闭,且受权限检查限制。
Agent 会破坏我的 Elementor 或 Divi 页面吗?
不会,它会拒绝写入。Elementor、Divi、Beaver Builder 和 Avada 都会将布局存储在常规文章内容以外的位置,因此,未经保护的编辑可能会报告成功,却没有任何可见更改,或者损坏页面构建器自己的标记。插件会在任何内容写入前检查页面构建器所有权,并拒绝调用,同时指出拥有该页面的构建器,这样你就能立即发现问题,而不是事后才察觉。请改用该页面对应的构建器进行编辑。这是一项拒绝保护机制,并不代表与这些构建器集成;目前也尚未覆盖 OptimizePress。
插件如何处理工具和访问权限?
Agent Abilities for MCP 默认关闭所有功能,将 Agent 绑定到你选定的一个 WordPress 用户,在每次调用工具时重新检查该用户的权限,并记录每一次调用,包括遭拒的调用。你可以在建立信任的过程中逐步开放权限,而不是一次性全部开放。它以可审计的管控能力换取较少的工具数量。
它免费吗?
是的。Agent Abilities for MCP 在 WordPress.org 上免费提供,没有付费套餐、无需购买 API 密钥,也没有插件添加的使用限制。
它能与我的其他插件配合使用吗?
可以,但仅支持一组特定插件。当其中一个插件处于启用状态时,Agent Abilities for MCP 会按照与核心功能相同的规则为其添加能力:自动检测、默认关闭,启用后受权限控制并记录日志。开箱即用的支持包括 WooCommerce、Advanced Custom Fields 和 SEO(Yoast、Rank Math 和 All in One SEO)。WooCommerce 和 ACF 能力可以读取和写入真实的客户与订单数据,包括姓名、电子邮件和地址等个人数据,因此后台会显示明确提示,并且这些能力在你启用之前会保持关闭。除了这些内置集成,插件还可以桥接你的其他插件通过 WordPress Abilities API 注册的能力。未来还会推出更多集成。
我可以开放其他插件提供的能力吗?
可以。WordPress 6.9 允许任何插件注册能力,Agent Abilities for MCP 可以桥接其他已启用插件声明的能力。在后台打开 其他插件,你会看到这些能力按注册它们的插件分组,且默认关闭。启用某项能力后,它就会成为受管控的 MCP 工具,并遵循与其他所有功能相同的规则:限定为绑定用户,每次调用都检查权限、限制调用频率并记录日志。你可以一次性启用或停用某个插件提供的全部能力;在你选择之前,不会桥接任何能力。
Agent 可以管理我的活动、门票或目录列表吗?
可以,前提是已启用对应的插件。启用 The Events Calendar 后,Agent 可以读取和管理活动、场地和组织者;启用 Event Tickets 后,它可以读取门票和参与者信息,但不提供购买门票的写入操作。启用 GeoDirectory 后,它可以读取和管理商家与地点列表,但即使该插件已启用,这项集成仍会保持关闭——你需要在“集成”选项卡中自行启用。与大多数其他集成仅在启用前保持关闭的方式不同,这项集成需要你手动开启。所有这些能力都遵循与其他所有功能相同的规则:默认关闭,启用后受权限控制并记录日志。
这是 WordPress Abilities API 或官方 MCP Adapter 吗?
它基于两者构建。WordPress 6.9 随附 Abilities API,官方 MCP Adapter 则与此插件捆绑提供;Agent Abilities for MCP 在它们之上注册一组经过筛选并受管控的能力,而不是另行创建自己的协议或传输方式。因此,你无需信任专有服务,插件也会遵循该标准的行为。它增加的是管控层:默认关闭的能力目录、权限控制、安全措施和审计日志。
这与其他 WordPress MCP 插件有何不同?
大多数 WordPress MCP 插件比拼的是能提供多少工具。Agent Abilities for MCP 比拼的是控制能力。所有功能默认关闭,只有启用后才能使用;Agent 以真实的最小权限 WordPress 用户身份操作,而不是使用相当于管理员权限的密钥;每次调用工具前都会重新检查该用户的权限,并记录每次调用,包括被拒绝的调用。它基于官方 WordPress Abilities API 和 MCP Adapter 构建,而非手工搭建服务端,因此无需信任自定义传输机制。它不追求工具数量,而是提供可审计、并可随着信任建立逐步扩大的操作范围。
这与 WordPress REST API 有何不同?
REST API 提供原始端点。MCP 将你的网站能力描述为可发现的工具,供 AI Agent 理解并调用;本插件则为每个工具添加治理层:默认关闭、每次调用本插件的工具时检查权限,并记录调用。底层使用的仍是同一个 WordPress,只是经过治理,让 Agent 能在你设定的限制范围内操作。
我需要哪个 WordPress 版本?
需要 WordPress 6.9 或更高版本,因为插件依赖的 Abilities API 和官方 MCP Adapter 从该版本开始提供。还需要 PHP 7.4 或更高版本。
支持哪些 AI 客户端?
任何能够连接你的网站端点的 MCP 客户端都可以使用。使用 OAuth 时,只需将端点 URL 粘贴到客户端,并在浏览器中批准一次连接即可。托管云应用(ChatGPT、Claude 和 Manus)通过 URL 连接,无需安装桥接程序。Claude Desktop、Claude Code、Cursor、VS Code、Windsurf 和 Gemini CLI 也可以连接,有些可直接连接,有些则需要通过在你自己的计算机上运行的 mcp-remote 桥接程序连接。你也可以使用 Application Password 代替 OAuth 进行连接,但托管云应用只能使用 OAuth。目前尚不支持托管版 Gemini 应用。
支持 ChatGPT 吗?
支持。在 ChatGPT 中开启开发者模式,然后使用你的 MCP 端点 URL,将网站添加为自定义连接器,并通过 OAuth 批准一次连接。你需要使用支持自定义连接器的 ChatGPT 套餐。Claude Desktop、Claude Code、Cursor、VS Code、Windsurf 和 Gemini CLI 也可以使用,有些可直接连接,有些则需要通过在你自己的计算机上运行的 mcp-remote 桥接程序连接。
连接远程网站时,需要让我的计算机对外开放吗?
不需要。你的 WordPress 网站就是 MCP 服务,因此端点已经通过 HTTPS 在网站本身公开,而不是在你的计算机上。要将 ChatGPT 或 Claude 这类托管客户端连接到远程 WordPress 安装,只需将端点 URL 粘贴到客户端,并在浏览器中通过 OAuth 登录并批准一次即可。无需隧道、反向代理,也无需持续运行本地桥接进程。只有无法自行建立远程 MCP 连接的客户端才需要桥接程序,详情见上文。
ChatGPT 能编辑我的 WordPress 网站吗?
只能编辑你允许的内容。ChatGPT 通过你自行添加的自定义连接器访问网站,并以批准连接的 WordPress 用户身份操作,只能看到你启用的功能。通过本插件端点执行的每项写入操作都会在执行前检查权限,并记录到审计日志中;你还可以通过只读模式一次性停止所有写入操作。
我可以通过 ChatGPT 或 Claude 管理多个 WordPress 网站吗?
可以。在每个网站上安装插件,并将各网站的端点分别添加到 AI 客户端,作为独立的连接器。随后,Agent 就能在一个地方管理你的网站,而每个网站仍保留自己的用户、允许使用的工具和审计日志。
如何让 AI Agent 获得有限权限,而不是管理员权限?
以权限较低的 WordPress 用户身份连接。编辑可以撰写、编辑并发布任何文章;作者只能操作自己的文章;投稿者可以撰写文章,但不能发布。插件可以为你创建专用的低权限用户,你还可以针对某个角色或某个连接进一步限制可用工具。
能否让 Agent 只保存草稿,等我批准后再发布?
可以。在 Settings 中启用 Force draft on create。Agent 创建的任何内容以及任何发布请求都会改为保存为草稿。已发布文章的编辑仍会直接生效,因此,如果你希望每项更改都经过审核,请将 Agent 连接为 Contributor;Contributor 无法编辑已发布的文章。Dashboard 上的 Needs review 卡片会列出这些草稿,供你预览、发布或丢弃。
为什么 ChatGPT 或 Claude 无法连接到我的 WordPress 网站?
打开 Connection 选项卡,点击 Check my connection(Connection Doctor)。它会从你自己的服务器运行检查,并指出需要修复的问题,例如主机会移除 Authorization 标头。其他常见原因包括 CDN 或防火墙阻止了 /mcp 路径,以及本地网站使用了自签名证书;下文分别介绍了对应的解决方法。
我能否告诉 AI Agent 有关网站的信息,例如网站风格或哪些内容不要改动?
可以。Settings 选项卡中的 Site Brief 可填写几行关于网站的说明,最多 1,500 个字符。插件会在每个 Agent 的会话开始时,将这些说明发送给连接到网站的 Agent。Agent 是否遵循这些说明取决于客户端。只有你可以更改这些说明。
在 Agent 发布内容之前,我可以在哪里审核它撰写的内容?
Dashboard 上的 Needs review 卡片会列出 Agent 创建的草稿和待处理文章,并提供 Preview、Open in editor、Publish 和 Discard 按钮。Discard 会将文章移至回收站;如果回收站已关闭,则无法使用此选项。在 Settings 中启用 Force draft on create,即可将新文章和发布请求作为草稿保存,并显示在此处。
AI 能否读取我的网站,但不能进行任何更改?
可以。启用只读模式后,无论其他选项如何勾选,都不会注册任何写入工具,包括你通过桥接方式从其他插件接入的写入能力。Agent 仍可搜索和读取内容。关闭只读模式后,你之前的选择仍会保留。其他插件直接发布到 Adapter 默认服务的工具不受此设置管理;下一条回答会详细说明。
我需要单独安装 MCP Adapter 吗?
不需要。官方 MCP Adapter 已随此插件打包;如果你也运行独立版 Adapter 插件,两者可以协同工作。Adapter 内置了默认服务,其他插件可以向其中发布工具。Settings 中提供了相应选项:Automatic(默认)、Always on 或 Always off。只有在其他已启用的插件向该服务发布工具时,Automatic 才会启动服务。因此,升级了旧版本的网站会在有插件发布工具时启用默认服务,Activity Log 也会记录首次启用的情况。WordPress 核心自身的公开能力不算作发布者,因此,如果你运行独立版 Adapter 只是为了访问这些能力,请选择 Always on。无论选择哪项,此插件自身的工具都不会出现在该服务上,只会通过此插件受管理的端点提供。默认服务上的工具不受此插件管理:此插件的只读模式、允许列表、IP 允许列表、速率限制和审计日志均不适用于这些工具。如果你不希望使用默认服务,请选择 Always off。
我使用的是 Windows,配置无法启动。
Windows MCP 客户端无法按名称启动 npx shim。请使用 cmd 包装:将 command 设为 cmd,并在 args 开头添加 /c、npx。Connection 选项卡中有一个 Windows 选项卡,可自动为你生成此配置。
Agent 无法连接到本地或预发布网站。
DDEV、Local 和 Valet 等本地环境会提供自签名证书,Node 会拒绝此类证书,因此代理无法连接到 WordPress。仅用于本地测试时,请在 env 块中添加 "NODE_TLS_REJECT_UNAUTHORIZED": "0"(Connection 选项卡检测到本地网站时会自动添加)。请勿将此设置用于生产环境;公开网站使用的是受信任的证书,无需此设置。
我的 Agent 无法连接,而且我的网站位于 Cloudflare 或其他 CDN 之后。
WordPress 前面的 CDN 或防火墙可能会在请求到达网站之前拦截 Agent。常见原因是 Cloudflare 的 AI 机器人拦截功能(以及 Super Bot Fight Mode):Agent 完成登录后,其 MCP 请求仍会在边缘被拦截,因为请求来自 AI 客户端的服务器,并带有 AI User-Agent。登录记录会出现在活动日志中,但之后不会出现任何工具调用。
如需确认,请打开 CDN 的防火墙或安全事件日志,查找一条被拦截、指向插件 MCP 端点(路径以 /mcp 结尾)的请求。该请求来自 AI 客户端的 IP 范围,时间大约是你尝试连接的时候。日志条目会显示拦截请求的规则。
解决方法是放行该端点。在 Cloudflare 控制面板中打开 Security Settings,然后使用“Configure AI bot policies”放行 AI 客户端的流量:将与你在安全事件中看到的拦截相对应的策略设为 Allow。如果你仍在使用旧版“Block AI bots”开关,请将其关闭;Cloudflare 已于 2026 年 9 月 15 日弃用该开关。如果无法放行整个区域的流量,可以针对 /mcp 路径添加一条使用 Skip 操作的自定义规则,跳过 Super Bot Fight Mode 规则,这样网站的其他部分仍受保护(Cloudflare 的 Free 计划不允许 Skip 规则跳过 Bot Fight Mode)。其他 CDN 和安全插件也有类似的允许列表或例外设置。
如果你的网站使用 WP Engine,请先检查 Global Edge Security:在 User Portal 中打开环境的 Insights 菜单,进入 Traffic and Security,然后打开 Settings 标签页,查看 Edge traffic rules。针对机器人类别的规则会在流量到达 WordPress 之前将其拦截,因此请移除覆盖 AI 客户端的规则。WP Engine 也会在其平台上对某些 AI 机器人进行速率限制,你无法自行关闭此限制。如果 Agent 在 WP Engine 上的调用因 HTTP 429 错误而失败,请联系 WP Engine 支持,请他们检查你网站的限额。
重要事件发生时,我能收到电子邮件通知吗?
可以,但默认关闭。在 Settings 下的 Notifications 中,选择仅显示管理员通知、立即发送电子邮件(并显示通知)或每天发送一封电子邮件(并显示通知),然后勾选你希望收到通知的事件:应用获准连接、为有权编辑文章的用户或 Agent 用户创建了 Application Password、高风险工具运行、永久删除操作或其他插件运行了破坏性工具、遭到拒绝的调用突然激增或连接达到速率限制,以及只读模式或高风险锁定状态发生切换。
每种事件每 15 分钟最多发送一封电子邮件,因此开启和关闭只读模式会分别计数,每个获准连接的应用也会单独计数。切换状态的更改以及发送到旧地址的警告,每小时预留 6 封邮件,不会被其他邮件占用。高风险运行每小时有独立的 4 封额度,新应用有 2 封,遭到拒绝的调用突然激增也有 2 封。达到限额导致邮件暂缓发送时,下一封邮件会说明漏发了多少封。邮件会说明发生的情况,并附上活动日志链接。邮件绝不会包含调用内容、用户名或 IP 地址。邮件通过 WordPress 自带的邮件功能发送,因此在邮件发送不可靠的主机上,管理员通知是更可靠的选择。每日邮件需要 WP-Cron。
有速率限制吗?
有。在 Settings 标签页的“Rate limit (per minute)”下设置每分钟上限。每个连接每分钟可发起这么多次 Agent 调用,按 Agent 用户分别计数;设为 0 则关闭限制。超过上限的调用会被拒绝,并记录在 Activity Log 标签页中,方便你发现持续触发限制的连接。
它会把我的内容发送给 OpenAI、Anthropic 或 Google 吗?
不会。该插件绝不会连接 OpenAI、Anthropic、Google 或任何其他 AI 提供商。你自己的 AI 客户端会连接到你的网站,并调用你启用的功能。之后你的 AI 客户端如何处理结果,由你和该客户端的开发者决定。(插件本身唯一可能获取的内容是 URL,前提是你启用了 URL 上传功能——详见下文“它会向任何地方发送数据吗?”。)
它会向任何地方发送数据吗?
不会连接任何 AI 提供商,也不会收集遥测数据。你的 Agent 会直接与你的网站通信。唯一的例外是默认关闭的“通过 URL 上传媒体”功能:如果你启用该功能,插件会获取 AI 客户端提供的 URL(仅限 HTTPS;拒绝私有和保留地址;不跟随重定向),以便将该文件添加到你的媒体库中。该请求是普通的 HTTP GET 请求——与向该地址发送的任何请求一样,目标会看到该 URL、你网站的 IP 地址以及请求发生的时间——但请求不会携带你的内容、凭据或其他网站数据;它只会获取你指定 URL 中的文件。
审计日志会记录什么?
日志会记录对该插件任一功能的每次调用,无论调用是已开始、成功、出错还是被拒绝,并记录执行用户、功能名称、参数键,以及简短说明调用涉及的内容:仅包含少量标识值,例如 ID、元数据键名、别名和状态值。调用其他插件桥接功能失败时,日志还会记录该插件的错误代码,但绝不会记录错误消息。日志不会存储自由文本参数内容、文章正文或电子邮件地址。日志还会记录请求的来源 IP 地址和工具耗时;被拒绝的调用也会记录拒绝原因(仅在日志中,不会显示给 Agent)。活动日志保存在你自己的数据库中,可从管理界面清除。
卸载插件会撤销 Agent 的访问权限吗?
不会自动撤销。卸载会移除插件自身的设置和活动日志;只有当你事先启用了“卸载时删除数据”选项时,才会同时移除插件的 OAuth 表。插件绝不会移除它为你创建的专用 Agent 用户,也不会移除发放给该用户的任何应用程序密码,因为这些属于普通的 WordPress 账户凭据,存在于插件自身数据之外。若要彻底切断 Agent 的访问权限,请在移除插件之前或之后,从“连接”选项卡撤销其 OAuth 授权,或者从“用户”界面删除其应用程序密码或用户账户。
如何报告安全问题?
请私下报告安全问题,而不要在支持论坛发帖,以便在细节公开之前发布修复。请使用此仓库中列出的安全联系渠道。
外部服务
该插件不会联系任何 AI 提供商,也不包含分析或遥测功能。
它会自行发起两类出站 HTTP 请求:“连接”选项卡中的检查(你的网站向自身地址发出的少量请求,用于确认 MCP 端点是否响应,以及在启用 OAuth 时确认发现文档是否加载),以及仅当你启用默认关闭的“通过 URL 上传媒体”功能时,获取 AI 客户端提供的确切 HTTPS URL,以便将该文件添加到你的媒体库中。该获取操作已针对私有地址、保留地址和基于重定向的目标进行 SSRF 防护,且不会携带你的内容、凭据或网站数据——它只读取该 URL 上已公开的内容。
连接客户端由客户端执行,而非本插件执行。有些客户端会直接访问你的端点;另一些客户端则会使用桥接工具,例如开源的 mcp-remote 或 @automattic/mcp-wordpress-remote,这些工具运行在你自己的机器上,并未捆绑在本插件中。
更新日志
1.9.0
- 功能: 活动日志现可按用户、连接、工具、插件、日期和文本搜索与筛选。每次调用都会显示其连接和 IP 地址,以及运行时长;日志还新增了 7 天摘要和实时视图。CSV 导出会遵循你的筛选条件。
- 功能: 可选提醒,默认关闭:当应用获准连接、为有权编辑文章的用户或 Agent 用户创建应用程序密码、运行高风险工具或永久删除操作、短时间内大量调用被拒绝,或切换只读模式或高风险锁定时,可发送管理员通知、即时邮件或每日邮件。
- 修复: 被拒绝的调用现在会在活动日志中记录原因,例如“密钥不在允许列表中”;Agent 看到的消息保持不变。读取元键现在也会像写入元键一样记录备注。
- 维护: 常见问题解答、README 和帮助标签页中的 Cloudflare 建议现已改为指向“配置 AI 机器人策略”,不再指向已弃用的“阻止 AI 机器人”开关,并补充了 WP Engine 边缘流量规则和 HTTP 429 限制的设置步骤。
1.8.1
- 修复: 当值不符合源插件声明的格式时,WooCommerce 订单和产品等桥接工具会在 Claude 这类严格客户端中运行失败,例如不带时区的日期或空 URL。桥接工具现在不再声明严格格式;值保持不变。
1.8.0
- 功能: 设置标签页新增“网站简介”框,可用几行文字介绍你的网站。每个连接到此插件的 Agent 都会读取这段内容。
- 功能: 连接标签页新增连接诊断工具。点击一次即可从你自己的服务器检查连接,并告知你需要修复的问题,例如主机剥离了 Authorization 标头。
- 功能: 控制面板新增“需要审核”卡片,列出 Agent 撰写的草稿,并提供“预览”“在编辑器中打开”“发布”和“丢弃”按钮。丢弃操作会将文章移入回收站。
- 修复: 此插件启用时,MCP Adapter 默认服务上的其他插件工具会停止工作。新增的设置开关(自动、始终开启、始终关闭)可恢复该服务;现有网站会切换到“自动”,仅在其他插件向该服务发布工具时启动。此插件自身的工具永远不会出现在该服务上,因此,如果网站仅用它来提供 WordPress 核心功能,应选择“始终开启”。
- 修复: 启用“强制草稿”后,Agent 再次为已上线的文章发送“发布”指令,会导致文章下线。现在文章会保持上线状态。此外,还修复了与独立 MCP Adapter 0.6.x 并用时出现的“WP_MCP_VERSION already defined”警告,以及旧版 Adapter 副本导致的设置页面崩溃;插件标题现在也会提及 Claude 和 ChatGPT。
1.7.10
- 修复: Query Monitor 每次启动 MCP Adapter 时都会显示一条“捆绑依赖项”弃用警告;现在不会再显示。
1.7.9
- 修复: 启用独立 MCP Adapter 插件(0.7.0),且它先于此插件加载时,/mcp 端点会返回 404。现在无论加载顺序如何,端点都能正常提供服务。
- 修复: 此插件使用自身的副本时,独立 MCP Adapter 插件会显示红色提示“已加载其他版本的 MCP Adapter”。现在不会再显示。
- 修复: Adapter 每次请求都会产生的“捆绑依赖项”弃用提示不再写入 PHP 错误日志。
- 维护: 内置 MCP Adapter 从 0.6.1 升级到 0.7.0,并支持 0.6.1 至 0.7.x 版本的 Adapter。Adapter 本身现在会对未知工具返回错误 -32602,而不是 -32003;客户端必须在 initialize 后发送 MCP-Protocol-Version 标头。
1.7.8
- **功能:**桥接能力的错误现在会指出返回错误的插件,活动日志也会记录该插件的错误代码(仅记录代码,不记录错误消息)。
- **修复:**来自 WooCommerce、Meta Box、SiteOrigin、Premium Addons、SEOPress、WPForms、Elementor 和 ElementsKit 的 37 个桥接工具在调用时可以正常工作,但从未显示在工具列表中。现在,拥有文章编辑权限的用户可以看到这些工具,是否允许调用仍由源插件决定。
- **修复:**通过桥接的 ACF 删除项目后,即使项目已删除,系统仍会报告错误。现在会返回 ACF 自身的结果。
- **修复:**包含普通对象(例如 PixelYourSite 响应)的桥接结果在写入完成后仍会遭到拒绝。现在这些结果可以正常返回,遭拒的调用也会记录为错误,而不是成功。
- **修复:**在 WordPress 7.0 及更高版本中,抛出异常的插件的原始异常文本不再传递给客户端。
1.7.7
- 功能:“能力”选项卡现在只有一个“保存更改”按钮,可保存其中的所有版块;如果有未保存的更改,会显示“有未保存的更改”提示,并在你离开页面时发出警告。
- **功能:**公开列表发生变化时(内容类型,或文章、用户、术语的元数据键),活动日志会新增一行,列出列表名称以及新增和移除的键数。
- **修复:**按下主“保存”按钮时,对公开元数据键或内容类型所做的编辑会丢失。现在已移除 4 个单独的版块按钮,统一由一个“保存”按钮保存所有内容。
- **修复:**版块保存失败时,页面会指出失败的版块并保留你的编辑内容,方便你重试。已成功保存的版块仍会保留。
- **修复:**当值(例如详细信息 JSON)较长时,活动日志表格会横向滚动;现在各列会共享页面宽度,长值也会自动换行。
1.7.6
- **修复:**为 MCP 端点签发的 OAuth 令牌也能让持有者通过其他 REST 路由、admin-ajax.php、admin-post.php、评论表单、OAuth 授权页面和发现 URL 登录。现在该令牌只能用于 MCP 路由。
- **修复:**现在,元数据、SEO、媒体、WooCommerce 和 The Events Calendar 的写入操作都会检查数据库中实际写入的内容,并报告已写入、未更改、遭拒或读取失败。活动日志会记录每种结果,但只记录标识符。
- **修复:**只读模式、高风险锁定、能力开关和允许列表现在都会在每次 MCP 请求时从数据库读取。读取失败时会保留更严格的设置,避免过期的对象缓存放宽这些限制。
- **修复:**对于每个已启用但源插件未激活的桥接工具,WP-CLI 都会打印一对“调用方式不正确”提示;现在这些工具会被静默跳过。被拒绝调用的活动日志记录现在显示为“尝试:...”,不再让人误以为更改已完成。
- **修复:**在使用持久对象缓存时,审阅提示会清除其他插件缓存的“选项不存在”条目;现在它只会清除自己的条目。其他小幅修复涉及 replace-sitewide、WooCommerce 网关排序、Rank Math 和 AIOSEO 页眉预览,以及若干工具说明。
1.7.5
- 功能:“连接”选项卡将允许列表文本框替换为可搜索的复选框选择器,并新增角色和客户端选择器、客户端 ID 复制控件、分页表格,以及跨选项卡的能力搜索。
- **修复:**能力搜索无匹配项时,“保存”按钮会滞留在空白卡片上;现在保存栏会隐藏,并在搜索结果出现时重新显示。
- **修复:**客户端选择器的悬停状态和选中状态看起来完全相同;现在悬停时只显示边框轮廓。
- **修复:**能力顺序现在会在重新保存后保留;键盘导航时会清除过期搜索;加载时不再渲染大型允许列表中的所有复选框;新控件也都有无障碍名称和翻译。
- **修复:**文章、区块和模板的写入操作现在会确认实际写入的内容;卡住的 OAuth 迁移不再会重新启用你已禁用的开关;评论数量不再泄露隐藏评论的信息;令牌撤销失败时也不再报告成功。
1.7.4
- **功能:**新增 26 项能力,覆盖 The Events Calendar、Event Tickets、Slim SEO、Avada 和 GeoDirectory,并支持直接从 URL 上传媒体。所有功能默认关闭,需手动启用。
- **功能:**页面构建器防护机制会拒绝在由 Elementor、Divi、Beaver Builder 或 Avada 管理的页面上执行实际上不会产生任何效果的写入操作。新增的允许列表可限制每个角色或连接能够访问的内容。
- **修复:**升级到 mcp-adapter 0.6.1 后,修复了多站点问题:实际存在的子站点连接曾被报告为失败。
- **修复:**多条 OAuth 流程曾将数据库读取失败视为已获授权。客户端已停用、客户端记录缺失或注册数量限制无法读取时,现在会拒绝请求,而不是放行。
- **修复:**清除已删除用户所属的授权;“连接”屏幕会显示每个身份当前的角色;此外还修复了 WooCommerce、管理界面和连接选项卡中的一系列小问题。
1.7.3
- **修复:**插件现在完全兼容持久化的 WordPress 对象缓存(Redis、Memcached 或主机自带的 drop-in):关闭的开关会保持关闭状态;未生效的更改会被报告,而不会记为已完成。
- **修复:**重置为默认值和卸载时删除数据的操作,现在也会清除插件自身的选项缓存条目,避免重置后陈旧缓存恢复设置。
1.7.2
- **功能:**重建了 Agent 登录时看到的授权页面。该页面现在会显示真实的品牌标识、你的 Site Icon,以及插件通过已验证的重定向主机识别连接器后显示的连接器专属图标。
- 功能:“活动日志”现在会记录所有到达 WordPress 的 MCP 请求。如果登录后没有任何调用,说明 CDN 或防火墙在请求到达前拦截了 Agent。
- **修复:**动态客户端注册关闭时,ChatGPT 无法连接。现在“设置”选项卡重新提供了 ChatGPT 专属开关,且默认开启;现有安装在更新时也会自动开启。
- **修复:**修复了三个连接问题:OAuth 授权步骤会破坏经过百分号编码的重定向地址;会话写入失败时会返回一个不存在的会话 ID;构建工具列表时,过大的工具架构可能耗尽内存。
- **修复:**修复了 WooCommerce、ACF 和 Rank Math 中的一些小问题,以及删除修订版本时错误的功能检查和卸载后残留的 OAuth 选项;还新增了一条 readme 常见问题解答,说明 CDN 在边缘节点拦截 Agent 的情况。
1.7.1
- 修复:
lang:"all"只统计了部分语言,却仍报告成功。现在会查询所有已配置的 WPML 语言中的文章、页面、媒体、术语、搜索结果和 WooCommerce 产品,通用计数辅助函数也会汇总所有语言的数据。 - 修复: 工具在 tools/list 中的可见性可能与执行时权限检查实际允许的内容不一致,既可能隐藏 Agent 能使用的工具,也可能显示 Agent 无法使用的工具。现在会针对自定义文章类型、页面和 ACF 术语字段,确保工具发现结果与执行时权限一致。
- 修复: RFC 9728 受保护资源元数据路由在 Agent 实际请求的路径上返回 404,导致至少一位用户报告 Claude 连接失败。现在会在规范要求的路径后缀 URL 上解析该路由。
- 修复: 如果评论已经处于请求的状态(例如已批准、已标记为垃圾评论等),moderate-comment 仍会报告失败,尽管实际上并无异常。现在对于无操作会报告成功,也不再将其记录为审计错误。
- 修复: 多个代码路径可能会在调用完成前提前退出或拒绝调用,导致审计日志中留下卡住或无法读取的“已开始”记录,而不是实际结果;在 7.1 之前的 WordPress 核心版本中也会发生此问题。现在每次调用都会获得唯一令牌,并正常完成对应记录。
- 修复: 第三方插件自身能力的桥接输出可能会隐藏深一两层的不安全对象。现在桥接会递归检查结果以查找此类对象,并拒绝裸对象或含义不明确的对象,而不会假定其安全。桥接输出不会像本插件自身能力的输出那样经过脱敏,readme 现在已说明这一点。
- 修复: 媒体上传现在会通过 WordPress 自身的 sideload 处理机制,并对生成的附件内容重新进行清理;原先不再适用于此处理路径的像素尺寸上限也已移除。
- 修复: 修正了 WooCommerce、ACF、AIOSEO、Rank Math 和 Yoast 中的一批小问题:读写操作现在会调用各厂商自身的函数,而不是重新推导其行为;此外还修复了工具描述、缓存失效问题,以及几个发现门槛设置错误的页面。
- 维护: 卸载时现在会清除两个每日 cron 事件,而不只是清除与删除数据相关的那个。
1.7.0
- 功能: Abilities 选项卡中的区块现在在“启用所有读取”旁边新增了“启用所有写入”按钮。该按钮会勾选常规写入能力,但不会勾选删除和高风险能力。
- 功能: 审计日志记录的信息更多了。永久删除会注明删除了什么;更新 term meta、user meta 和站点设置时会注明写入了哪些键。日志记录名称和标识符,不记录调用中携带的自由文本。
- 修复: 撤销授权时,如果授权请求仍在处理中,它仍可能生成授权码;而令牌端点不会再次检查用户同意,因此即使界面显示撤销成功,该授权码仍可兑换为有效令牌。现在会在兑换时再次检查用户同意。
- 修复: 支付网关设置会完整返回 camelCase 凭据键,且没有将其中任何键标记为已脱敏。Authorize.Net 的 apiLoginID 和 transactionKey 才是实际的键名。
- 修复: 四种 ACF 写入会破坏已存储的内容,然后报告失败:无法解析的灵活内容布局、通过近似匹配的地址清除内容、受保护的 meta 检查读取了调用者的地址而非 ACF 的地址,以及子字段写入落在未声明的名称下。现在这些操作都会在写入任何内容前被拒绝。
- 修复: WooCommerce 将退款计作订单,因此有六笔订单和三笔退款的商店会报告九笔订单。变体根据显示筛选器而非父商品进行验证;成功的变体删除会报告失败;订单查询抛出的异常也会逃过回滚。
- 修复: 两种 MCP 拒绝操作显示“Permission denied”,但问题并非权限不足。设置替代文本时会遇到此问题,因为 WordPress 将替代文本存储在受保护的键下;现在拒绝消息会改为指出 aafm-update-media。缺少必需参数的调用也会遇到此问题;现在会显示指出缺少内容的架构错误。
- 修复: 文本写入存储前会去除不可见字符,覆盖 WooCommerce、SEO 和 ACF 字段、订单地址及已存储的文章文本。永久删除不再提供站点无法实现的恢复选项;声明无风险的能力也会被视为永久删除。此外还修复了配送区域、WordPress 6.9 中的菜单列表、ACF 容器写入、首次运行向导,以及指出错误原因的拒绝消息等问题。
- 维护: 已针对 WordPress 7.1 进行测试。对管理界面进行了无障碍检查,涵盖键盘操作、强制颜色模式下的焦点环,以及切换控件和表格标题的正确名称。OAuth 维护机制更加稳健:使用 InnoDB 表确保令牌操作可以回滚,并加入可在子站点上自我修复的清理 cron。插件运行一段时间后会显示通知,邀请用户在 wordpress.org 留下评价,且可永久关闭。供应商仓库元数据不再发送至 wordpress.org。
1.6.3
- 维护: 精简了变更日志,使完整发布历史在两个 readme 中都能符合 wordpress.org 列表的长度限制。发布内容不变,行数更少,安全性和数据完整性修复仍逐项列出。
- 维护: 更正了一条代码注释。原注释对消费者插件的短路机制何时会被速率限制释放钩子检测到,表述略有夸大。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。
