内容
# WP MCP
**将您的WordPress网站暴露为AI代理的MCP服务器。**
WP MCP 将任何WordPress安装转换为 [模型上下文协议](https://modelcontextprotocol.io/)(MCP)服务器,为Claude等AI助手提供结构化、身份验证的访问您的内容、媒体、菜单、SEO设置等 - 通过标准化的工具接口。
## 功能
- **58种工具**,涵盖20个工具类别,涵盖整个WordPress API表面
- 基于标准的MCP传输,基于WordPress REST API
- 完全支持ACF(Advanced Custom Fields)、Gutenberg块、Yoast SEO、Gravity Forms、WPML和Redirection插件
- 读取*和写入* - 创建帖子、上传媒体、管理重定向、更新SEO元数据
- 为AI优先的工作流设计:站点发现、内容分析、写作上下文
## 要求
| 要求 | 版本 |
|-------------|---------|
| PHP | >= 8.1 |
| WordPress | >= 6.0 |
| 依赖安装所需 |
## 安装
1. 将库克隆或下载到您的 `wp-content/plugins/` 目录中:
```bash
cd wp-content/plugins
https://github.com/wp-mcp/wp-mcp.git
-mcp
composer install
```
2. 在Press 管理后台 > 插件** 中激活插件。
3.端点将在以下位置提供:
```
https://您的/wp-json/wp-mcp/v1/mcp
```
## 设置与身份验证
1. 在WordPress管理后台 **设置 > WP MCP**。
2. 点击 **生成 以创建专用的MCP密码。
3. 立即复制密码 - 它只会显示一次。
4. 使用设置页面上显示的现成连接代码段:
**Claude Code CLI:**
```bash
claude mcp add wordpress https://您的网站.com/wp-json/wp-mcp/v1/mcp -t http -H "Authorization: Bearer 您的令牌"
```
**JSON 配置** (用于MCP客户端配置文件):
```json
{
cpServers": {
"wordpress": {
"type": "streamable-http",
"url": "https://您的网站.com/wp-json/wp-mcp/v1/mcp",
"headers": {
"Authorization": "Bearer 您的令牌"
}
}
}
}
```
设置页面还显示了一个实时的连接状态指示器,因此您可以验证您的客户端是否已连接。
---
##参考
### 网站发现与健康
| 工具 | 描述 |
|------|-------------|
| `wp_discover_site` | 发现网站功能:帖子类型、分类法、活动插件、主题、ACF字段组。 **请先调用此工具。 `wp_get_site_settings` | 获取网站标题、标语、网址、时区、日期格式等设置。 |
wp_get_site_health` | 获取PHP/WP/MySQL调试模式、SSL、内存上传大小、插件。 |
| `wp_list_cron_events` | 列已计划的WordPress cron事件,包括下一次运行时间、计划和参数。 |
| `wp_list_transients` | 列瞬时变量,可选按名称过滤。 |
| `wp_get_error_log` | 从WordPress `debug.log`读取最后N行。 |
### 帖子与内容 工具 | 描述 |
|------|-------------|
| `wp` | 列出帖子、页面或自定义帖子按状态、搜索、分类法、日期、作者和。 |
| `wp_get_post` | 获取单个帖的内容、ACF字段、SEO数据和特色图片。 `wp_create_post` | 创建帖子、页面或C包含标题、内容、状态和ACF字段。 `wp_update_post` | 部分更新现有帖子 -更改提供的字段。 |
| `wp_delete_post` | 放入回收站或永久删除帖子。 |
| `wp_search_content` | 跨所有内容类型进行全文搜索。 |
### 分类法与术语
| 工具 | 描述 |
|------|-------------|
| `wp_list_terms` | 列出任何分类法的术语、标签、自定义),可按搜索和父级过滤。 |
| `wp_get_term` | 获取单个术语ID的AC(如果可用 `wp_create_term` | 在任何分类法中创建新术语。 |
| `wp_update_term` | 更新术语名称、别名、描述或父级。 |
### 媒体库
| 工具 | 描述 |
|------|-------------|
| `wp_list_media` | 列出媒体库项目,可按MIME类型、搜索和分页过滤。 |
| `wp_get_media` | 获取媒体项目详情,包括所有图像尺寸文本、尺寸和元数据。 |
| `wp_upload | 将媒体从到WordPress媒体库。 |
| `wp_update_media` | 更新媒体元数据:标题、替代文本、说明、描述。 |
### 导航菜单
| 工具 | 描述 |
|------|-------------|
| `wp_list_menus` | 列出所有导航菜单及其。 |
| `wp_get_menu_items` | 获取菜单中的所有项目,包括层次结构(父/子关系)。 |
| `wp_update_menu_item` | 更新菜单项目的标题、URL、CSS类、目标或位置。 |
### 用户
| 工具 | 描述 |
|------|-------------|
| `wp_list_users` | 列出WordPress用户及其角色、姓名和电子邮件。 |
### 选项
| 工具 | 描述 |
|------|-------------|
| `wp_get_option` | 按名称读取任何WordPress选项。 |
| `wp_update_option` | 更新WordPress选项。关键选项因安全原因被阻止。 |
### 插件与主题
| 工具 | 描述 |
|------|-------------|
| `wp_list_plugins` | 列出所有已安装的插件,包括活动/非活动状态、版本和描述。 |
| `wp_get_theme_info` | 获取活动主题信息:名称、版本、作者、模板和父主题详情。 |
### ACF(Advanced Custom Fields)
| 工具 | 描述 |
||
| `wp_get_acf_fields` |子的所有ACF字段值,包含类型注释。处理重复器、弹性内容、组和图像。使用`"option"`页的post_id。 |
| `wp_update_acf 更新帖子上的ACF字段。支持图像ID)、重复器、弹性内容和选项页。 |
wp_list_field_groups` | 列出所有ACF字段组及其分配(帖子类型、分类法等)。 |
| `wp_get_field_group_schema` | 获取完整的字段定义、选择、子字段、条件逻辑、验证规则。 |
### Gutenberg 块
| 工具 | 描述 |
||
| `wp_list_post_blocks` | 解析帖子内容并列出所有Gutenberg块,包含ACF数据、属性和字段值。 |
| `wp_update_post_block` | 按索引更新特定块的字段数据。 |
| `wp_insert_post_block` | 在帖子内容的指定位置插入新的Gutenberg或ACF块。 |
### SEO(Yoast)
| 工具 | 描述 |
|------|-------------|
| `wp_get_seo_data` | 获取Yoast SEO元数据:标题、描述、重点关键词、规范URL、机器人、社交媒体和SEO分数。 |
| `wp_update_seo | 更新Yoast SEO元字段:标题、描述、重点关键词、规范、机器人和社交元数据。 |
| `wp_get_seo_analysis` | 获取SEO和可读性分数、关键词密度和可行的改进问题。 |
|_get_sitemap_info` | 获取XML站点地图配置、索引帖子类型、分类法和最后修改日期。 |
| `wp_update_seo_settings` | 更新全局Yoast设置:标题分隔符、公司名称、社交默认值地图切换。 |
| `wp_get_schema_markup`帖子的JSON-LD结构化数据。返回Yoast模式或生成基本文章/网页模式。 |
### 内容| 工具 | 描述 |
|------|-------------|
| `wp_get_writing_context` | 获取站点声音、结构模式和主题数据,AI需要这些来编写品牌内容。 |
| `wp_get_recent_changes` | 获取统一的最近,记录所有类型修改的帖子。 |
|_analyze_content` | 分析内容质量:字数、标题、链接、图像、阅读时间和SEO指标。 |
wp_find_broken_links` | 扫描帖子的链接,并可选地检查HTTP状态以查找损坏的链接。 |
| `wp_find_orphan_content` | 查找已发布的帖子,但没有内部链接指向它们。 |
### Gravity Forms
| 工具 | 描述 |
|------|-------------|
| `wp_list_forms` | 列出所有Gravity Forms,包含ID、标题、活动状态和条目计数。 |
| `wp_get_form`结构:字段、确认和通知名称。 |
| `wp_create_form` | 创建具有标题、描述和字段定义的新表单。 |
| `wp_update_form` | 更新表单标题、描述、活动状态或字段。 |
|_list_form_entries` | 列出表单条目,分页和状态过滤。 |
### 重定向(Redirection 插件)
| 工具 | 描述 |
|------|-------------|
| `wp_list_redirect | 列出所有重定向,可选搜索和分页。 |
| `wp_create_redirect` | 创建新的URL重定向(301、302、307、308)。 |
| `wp_delete_redirect` | 按ID删除重定向。 |
### WPML(多语言)
| 工具 | 描述 |
|------|-------------|
| `wp_list_languages` | 列出所有配置的WPML语言,包含代码、名称和默认状态。 |
| `wp_get_translations` | 获取帖子的所有翻译,包含语言、标题、状态和URL。 |
| `wp_get_translation_status` | 获取按语言划分的帖子类型的翻译完整性概览。 |
| `wp_create_translation` | 为现有帖子创建翻译,并在WPML中链接它。 |
---
## 插件集成
WP MCP自动检测并与以下插件集成(当激活时):
| 插件 | 提供的工具 |
|--------|---------------|
| **Advanced Custom Fields (ACF)** | 字段读取/写入、字段组模式、块级ACF数据 |
| **Yoast SEO** | SEO元数据、分析分数、站点地图配置、模式标记、全局设置 |
| **Gravity Forms** | 表单管理、字段定义、条目列表 |
| **WPML**语言列表、翻译状态、翻译创建 |
| **Redirection** | 重定向管理(列表、创建、删除) |
可选插件的工具会在所需插件未激活时返回信息性错误消息。
## 架构
WP MCP基于 [`php-mcp/server`](https://github.com/php-mcp/server) SDK(v3.3)构建,并使用自定义 `WordPressTransport` 将WordPress REST API与MCP协议的异步传输接口连接起来。
```
MCP 客户端(Claude等)
│
▼
WordPress REST API ──► WordPressTransport ──► php-mcp/server SDK
│
▼
工具发现
(#[McpTool] 属性)
│
▼
工具执行
(WordPress API)
```
工具被定义为具有 `#[McpTool]` 属性的PHP类,并在运行时由SDK自动发现。
## 许可证
GPL-2.0-or-later