内容
<h2 align="center">
<img alt="Webmastery Site Toolkit for MCP" src=".wordpress-org/icon-256x256.png"><br/>
Webmastery Site Toolkit for MCP<br/>
<sub>赋予您的 AI 代理对 WordPress 的编辑控制。</sub>
</h2>
<div align="center">
<h2>
<a href="https://wordpress.org">
<img src="https://img.shields.io/badge/WordPress-6.9%2B-21759b?logo=wordpress&logoColor=white" alt="WordPress 6.9+" />
</a>
<a href="https://www.php.net">
<img src="https://img.shields.io/badge/PHP-8.0%2B-777bb4?logo=php&logoColor=white" alt="PHP 8.0+" />
</a>
<a href="https://www.gnu.org/licenses/gpl-2.0.html">
<img src="https://img.shields.io/badge/license-GPL--2.0%2B-blue" alt="License GPL-2.0+" />
</a>
</h2>
[快速入门](#快速入门) | [功能](#功能) | [需求](#需求) | [连接](#连接您的MCP客户端) | [验证](#验证) | [安全最佳实践](#安全最佳实践) | [完整文档](https://www.virtuallyboring.com/webmastery-site-toolkit-for-mcp/)
</div>
**Webmastery Site Toolkit for MCP** 是一款 WordPress 插件,为 AI 代理和 MCP 客户端添加了 **70+ 基于权限的功能,涵盖 16 个领域**。它与官方的 [MCP Adapter](https://github.com/WordPress/mcp-adapter) 配合使用:适配器提供传输层,而该插件注册了 WordPress 代理可以调用的功能。它与流行的 MCP 客户端(如 Claude、ChatGPT、GitHub Copilot 和 Gemini)配合使用。
使用它让代理草拟或更新内容,管理媒体和评论,检查站点健康状况,审查 SEO 元数据,审计插件和用户,并在无需登录 wp-admin 的情况下收集安全的站点上下文。
有关发布历史,请参阅 [CHANGELOG.md](CHANGELOG.md)。
## 适用对象
- 希望使用安全的 AI 辅助内容工作流的 WordPress 站点所有者。
- 在 WordPress 周围构建 MCP 工作流的开发人员。
- 管理内容、SEO 和站点操作的技術编辑和管理员。
## 快速入门
1. 安装并激活 [MCP Adapter](https://wordpress.org/plugins/mcp-adapter/) 插件。
2. 从 **WP Admin → 插件 → 新增** (搜索插件名称)安装 **Webmastery Site Toolkit for MCP**,然后激活它。
3. 为代理创建专用 WordPress 用户。使用 **编辑者** 权限进行正常内容工作。
4. 为该用户创建应用程序密码。
5. 使用 `@automattic/mcp-wordpress-remote` 配置您的 MCP 客户端。
6. 让客户端调用 `mcp-adapter-discover-abilities`。
完整的设置指南、客户端特定示例和完整功能表格位于 [项目文档页面](https://www.virtuallyboring.com/webmastery-site-toolkit-for-mcp/)。
## 功能
每个功能都使用 WordPress 权限检查。编辑者帐户可以处理日常编辑工作流;仅限管理员的功能单独列出,因为它们会暴露站点配置、已安装插件的元数据或帐户审计详细信息。
| 领域 | 代理可以执行的操作 | 典型角色 |
| --- | --- | --- |
| 文章和页面 | 创建、列出、读取、更新、恢复、删除、批量发布、批量删除和修补目标内容,带有对象/状态感知过滤,适用于私有、删除、草稿、待定和计划内容 | 作者或编辑者 |
| 块和修订 | 检查 Gutenberg 块路径/哈希、替换一个块、列出修订、恢复修订 | 作者或编辑者 |
| 文章元数据 | 读取、更新和删除安全的自定义字段;写入支持的 Yoast SEO 和 SEOPress 元数据 | 作者或编辑者 |
| 自定义文章类型 | 发现合格的公共 CPT、生成列表/获取/创建/更新/删除功能,并修补目标内容,适用于具有 CPT 权限映射和对象/状态感知过滤的编辑启用类型 | CPT 权限映射 |
| 分类法 | 列出、获取、创建、更新和删除类别和标签 | 订阅者到编辑者 |
| 评论 | 列出、回复、更新、批准、保持、删除或标记为垃圾邮件 | 编辑者 |
| 媒体 | 列出、检查、更新、上传公共图像 URL、设置特色图像和删除媒体 | 作者或编辑者 |
| 内容卫生 | 查找孤立媒体、缺少特色图像的帖子/页面和卡住的计划帖子 | 作者或编辑者 |
| 站点信息 | 返回安全的站点基础知识和当前用户上下文;运行时、WordPress 版本、数据库和主题版本详细信息需要管理员访问权限 | 订阅者到管理员 |
| SEO 和网络管理员信号 | 分析内容、检查和写入支持的 Yoast/SEOPress 元数据、读取 Yoast 分数、检查生成的 Yoast 头数据和检查站点地图/网络管理员信号 | 作者到管理员 |
| 插件、用户、健康、安全、性能、备份、数据库 | 审计或管理敏感的站点区域,具有明确的管理员权限 | 管理员 |
有关确切的功能名称、输入行为和所需权限,请参阅 [完整功能参考](https://www.virtuallyboring.com/webmastery-site-toolkit-for-mcp/#available-abilities)。
## 需求
| 需求 | 版本 |
| --- | --- |
| WordPress | 6.9+ |
| PHP | 8.0+ |
| [MCP Adapter](https://github.com/WordPress/mcp-adapter) | 最新 |
| [Yoast SEO](https://wordpress.org/plugins/wordpress-seo/) | 可选;启用 Yoast 元数据、分数、生成的头部和站点地图诊断 |
| [SEOPress](https://wordpress.org/plugins/wp-seopress/) | 可选;启用 SEOPress 元数据检查/写入和站点概览诊断 |
需要自托管的 WordPress。此功能适用于可以添加自定义插件的 WordPress 安装,包括大多数托管主机。它不适用于 WordPress.com 免费、个人或高级计划。
## 安装
首先安装 [MCP Adapter](https://wordpress.org/plugins/mcp-adapter/)。然后从 **WP Admin → 插件 → 新增** 安装 **Webmastery Site Toolkit for MCP**:搜索插件名称,单击 **立即安装**,然后 **激活**。
### 手动或开发安装
要手动安装发布 ZIP,请下载 [最新发布包](https://github.com/DanielBoring/webmastery-site-toolkit-for-mcp/releases/latest) 并在 **WP Admin → 插件 → 新增 → 上传插件** 处上传。
对于本地开发,请将存储库克隆到您的 WordPress 插件目录,然后从插件屏幕激活它:
```bash
git clone https://github.com/DanielBoring/webmastery-site-toolkit-for-mcp.git webmastery-site-toolkit-for-mcp
```
## 连接您的 MCP 客户端
所有本地 stdio 客户端使用相同的三个环境变量。设置 `WP_API_URL` 为站点的完整 MCP Adapter 端点。
```json
{
"mcpServers": {
"wordpress": {
"command": "npx",
"args": ["-y", "@automattic/mcp-wordpress-remote@latest"],
"env": {
"WP_API_URL": "https://your-site.com/wp-json/mcp/mcp-adapter-default-server",
"WP_API_USERNAME": "ai-editor",
"WP_API_PASSWORD": "xxxx xxxx xxxx xxxx xxxx xxxx"
}
}
}
}
```
Codex 使用 TOML 而不是 JSON:
```toml
[mcp_servers.wordpress]
command = "npx"
args = ["-y", "@automattic/mcp-wordpress-remote@latest"]
[mcp_servers.wordpress.env]
WP_API_URL = "https://your-site.com/wp-json/mcp/mcp-adapter-default-server"
WP_API_USERNAME = "ai-editor"
WP_API_PASSWORD = "xxxx xxxx xxxx xxxx xxxx xxxx"
```
其他客户端主要因配置文件位置和根键而异。请参阅 [完整设置指南](https://www.virtuallyboring.com/webmastery-site-toolkit-for-mcp/#connect-your-mcp-client),获取 Claude Code、Claude Desktop、VS Code Copilot、Copilot CLI、Codex、Windsurf、Gemini CLI 和 ChatGPT 笔记。
## 验证
让您的 MCP 客户端调用 `mcp-adapter-discover-abilities`。它应该显示 MCP Adapter 发现工具以及此插件的 `webmastery-site-toolkit-for-mcp/*` 功能。
尝试一些安全检查:
- `webmastery-site-toolkit-for-mcp/list-posts` - “列出 5 篇最近发布的文章。”
- `webmastery-site-toolkit-for-mcp/get-site-info` - “获取此 WordPress 站点的安全公共上下文。”
- `webmastery-site-toolkit-for-mcp/webmaster-verification-status` - “检查公共 Google 和 Bing 网络管理员验证信号。”
- `webmastery-site-toolkit-for-mcp/plugin-audit` - “审计已安装的插件。” 需要管理员服务帐户。
如果发现的权限少于此仓库文档,请更新站点插件,然后再次运行发现。
## 安全最佳实践
- 使用专用的服务帐户,而不是您的个人帐户。
- 对于常规内容工作使用 **编辑者**,对于敏感的审计或插件管理使用单独的 **管理员** 帐户。
- WordPress 权限检查控制每个功能。
- 文章、页面、自定义文章类型、媒体和 SEO 分数的权限列表会过滤返回的每个对象,然后再公开完整详细信息;私有、已删除、草稿、待定和计划内容仅在 WordPress 授予匹配的对象/状态权限时返回。
- 以 `publish`、`private` 或 `future` 创建或更新内容需要相关发布权限,批量发布需要 `publish_posts`。
- 内容响应中保留作者显示名称,但登录名称从帖子、页面、自定义文章类型、修订和内容卫生响应中省略。当调用者可以编辑该用户时,仅从用户查找功能返回用户登录和电子邮件字段。
- 文章和页面的删除会将内容移至回收站;媒体删除是永久的。
- 块和部分内容编辑可以使用哈希前提条件,如果目标丢失、模糊或过时,则会失败。
- 订阅者安全站点信息故意避免秘密、文件系统路径、盐、身份验证密钥、原始服务器内部信息、WordPress 版本和主题版本。`get-environment-info` 需要 `manage_options`。
在给予代理管理员凭证之前,请阅读 [完整安全模型](https://www.virtuallyboring.com/webmastery-site-toolkit-for-mcp/#security)。
## 贡献
新的功能和功能请求在 [GitHub 问题](https://github.com/DanielBoring/webmastery-site-toolkit-for-mcp/issues) 中跟踪。该项目遵循 [Semantic Versioning](https://semver.org/);有关发布和 QA 预期,请参阅 [CONTRIBUTING.md](CONTRIBUTING.md#versioning-policy)。