9.4 KiB
9.4 KiB
WordPress AI控制MCP服务
WordPress MCP AI代理 内容管理 自动化
WordPress MCP
一个模型上下文协议(MCP)服务器,让 AI 代理能够全面控制 WordPress 站点。通过 46 个 MCP 工具管理文章、页面、媒体、分类、标签、评论、SEO、重定向、Gutenberg 区块、可复用模式、TablePress 表格、插件、用户和站点设置。
专为 Claude Code 打造,同时兼容 Claude Agent SDK 及任何支持 MCP 的客户端。
工作原理
┌─────────────┐ JSON-RPC ┌──────────────────┐ HTTP/Auth ┌─────────────────┐
│ Claude / │ ──────────────▶ │ Python MCP │ ──────────────▶ │ WordPress 站点 │
│ AI 代理 │ │ 代理服务器 │ │ (MCP 适配器) │
│ │ ◀────────────── │ (server.py) │ ◀────────────── │ (mu-plugin) │
└─────────────┘ MCP 工具 └──────────────────┘ JSON-RPC └─────────────────┘
│
sites.json
(多站点配置)
单个 Python 代理可管理无限数量的 WordPress 站点。每次工具调用包含 site 参数以指定目标站点。身份验证使用 WordPress 应用程序密码(WP 5.6+ 内置支持)。
功能特性
| 分类 | 工具数 | 功能 |
|---|---|---|
| 文章与页面 | 9 个工具 | 增删改查、批量状态变更、版本历史、搜索替换 |
| 分类与标签 | 8 个工具 | 支持 Rank Math SEO 的增删改查 |
| 媒体 | 4 个工具 | 从 URL 上传、浏览媒体库、更新元数据、删除 |
| 评论 | 3 个工具 | 列表、审核(批准/标记垃圾/移至回收站)、回复、删除 |
| Rank Math SEO | — | 文章和分类的完整 SEO 元数据(标题、描述、焦点关键词、Open Graph、Twitter、Schema、robots) |
| 重定向 | 4 个工具 | Rank Math 重定向增删改查(301/302/307/410/451) |
| Gutenberg 区块 | 1 个工具 | 发现所有已注册的区块类型及属性 Schema |
| 同步模式 | 5 个工具 | 创建、读取、更新、删除可复用区块 |
| TablePress | 5 个工具 | 完整的表格增删改查,含显示选项和可见性设置 |
| 插件 | 2 个工具 | 列出已安装插件、启用/禁用 |
| 用户 | 1 个工具 | 按角色筛选用户列表 |
| 设置 | 3 个工具 | 读写选项、刷新缓存、获取站点信息 |
| 工具 | 1 个工具 | 列出所有已配置的站点 |
共 46 个工具,覆盖 WordPress 管理的全部操作面。
快速开始
1. 安装 WordPress 适配器
# 在本地构建 PHP 依赖
cd wordpress/
composer install
# 将 vendor/ 和 load-mcp-adapter.php 上传至你的 WordPress 服务器
# 详细说明请参阅 SETUP.md
2. 配置代理
# 复制示例配置
cp sites.json.example sites.json
# 填写你的站点信息
{
"myblog": {
"url": "https://yourdomain.com/wp-json/mcp/mcp-adapter-default-server",
"username": "YourAdmin",
"password": "xxxx xxxx xxxx xxxx xxxx xxxx"
}
}
3. 连接到 Claude
Claude Code — 添加至 ~/.claude.json(或让你的 Claude Code 代理帮你配置):
{
"mcpServers": {
"wordpress": {
"type": "stdio",
"command": "uv",
"args": [
"run",
"--with", "fastmcp",
"--with", "httpx",
"python",
"/path/to/wordpress-mcp/server.py"
]
}
}
}
然后安装工具文档所需的 skill:
npx skills add 5unnykum4r/wordpress-mcp
或手动创建符号链接:
ln -s /path/to/wordpress-mcp/skill/wordpress-mcp ~/.claude/skills/wordpress-mcp
完整配置说明、故障排查及使用示例请参阅 安装指南。
工具参考
所有工具的第一个参数均为 site。
文章与页面(9 个工具)
| 工具 | 操作 |
|---|---|
list_posts |
列出/筛选文章和页面 |
read_post |
读取完整内容、元数据、SEO |
create_post |
创建文章,含内容、分类、标签、SEO |
update_post |
部分更新任意字段 |
delete_post |
移至回收站或永久删除 |
bulk_update_status |
批量修改多篇文章状态 |
list_revisions |
查看版本历史 |
restore_revision |
还原到历史版本 |
search_replace |
在内容中查找/替换(支持预览模式) |
分类与标签(8 个工具)
| 工具 | 操作 |
|---|---|
list_categories |
列出分类及 Rank Math SEO 数据 |
create_category |
创建分类,可选 SEO 设置 |
update_category |
更新名称、别名、父分类、SEO |
delete_category |
删除分类(文章移至默认分类) |
list_tags |
列出并搜索标签 |
create_tag |
创建新标签 |
update_tag |
更新标签名称、别名、描述 |
delete_tag |
删除标签(文章取消关联) |
媒体(4 个工具)
| 工具 | 操作 |
|---|---|
upload_image |
从 URL 下载并添加到媒体库 |
list_media |
按 MIME 类型筛选浏览 |
update_media |
更新标题、替代文本、描述 |
delete_media |
永久删除 |
评论(3 个工具)
| 工具 | 操作 |
|---|---|
list_comments |
按文章、状态、关键词筛选 |
update_comment |
批准、标记垃圾、移至回收站或回复 |
delete_comment |
永久删除 |
重定向(4 个工具)
| 工具 | 操作 |
|---|---|
list_redirections |
列出 Rank Math 重定向规则 |
create_redirection |
创建 301/302/307/410/451 重定向 |
update_redirection |
修改来源、目标、类型 |
delete_redirection |
删除重定向规则 |
Gutenberg 区块与模式(6 个工具)
| 工具 | 操作 |
|---|---|
list_block_types |
发现已注册区块及 Schema |
list_patterns |
列出可复用/同步模式 |
read_pattern |
读取模式区块内容 |
create_pattern |
创建同步模式 |
update_pattern |
更新模式内容 |
delete_pattern |
删除模式 |
TablePress(5 个工具)
| 工具 | 操作 |
|---|---|
list_tablepress_tables |
列出所有表格 |
read_tablepress_table |
读取数据、选项、可见性 |
create_tablepress_table |
用二维数组创建表格 |
update_tablepress_table |
更新数据、选项、可见性 |
delete_tablepress_table |
永久删除 |
管理(7 个工具)
| 工具 | 操作 |
|---|---|
list_plugins |
列出已安装插件及状态 |
toggle_plugin |
启用或禁用插件 |
list_users |
按角色列出用户 |
manage_options |
读写 WordPress 设置 |
clear_cache |
刷新所有缓存 |
get_info |
站点信息、版本、主题 |
list_sites |
显示已配置的站点 |
项目结构
wordpress-mcp/
├── README.md ← 本文件
├── SETUP.md ← 完整安装指南及故障排查
├── LICENSE ← MIT 许可证
├── server.py ← Python MCP 代理(FastMCP + httpx)
├── sites.json.example ← 站点配置模板
├── wordpress/
│ ├── load-mcp-adapter.php ← WordPress MU-plugin(服务端)
│ ├── composer.json ← PHP 依赖
│ └── composer.lock
└── skill/
└── wordpress-mcp/ ← Claude Code skill
├── SKILL.md
└── references/ ← 工具文档(7 个文件)
环境要求
本地(代理服务器):
- Python 3.10+
- uv 包管理器
- FastMCP 和 httpx(由
uv run自动安装)
WordPress 服务器:
- WordPress 5.6+(支持应用程序密码)
- PHP 7.4+
- Composer 包:
wordpress/abilities-api和wordpress/mcp-adapter
多站点管理
在 sites.json 中添加任意数量的 WordPress 站点:
{
"blog": {
"url": "https://blog.example.com/wp-json/mcp/mcp-adapter-default-server",
"username": "admin",
"password": "xxxx xxxx xxxx xxxx xxxx xxxx"
},
"shop": {
"url": "https://shop.example.com/wp-json/mcp/mcp-adapter-default-server",
"username": "admin",
"password": "yyyy yyyy yyyy yyyy yyyy yyyy"
},
"docs": {
"url": "https://docs.example.com/wp-json/mcp/mcp-adapter-default-server",
"username": "editor",
"password": "zzzz zzzz zzzz zzzz zzzz zzzz"
}
}
每个站点拥有独立别名,通过 site="blog"、site="shop" 等参数指定目标站点。添加新站点无需重启代理。
贡献
欢迎贡献代码,请提交 Issue 或 Pull Request。