WP内容能力
一个WordPress插件,通过WordPress 6.9 Abilities API公开内容管理功能,使人工智能助手能够通过MCP协议创建、读取、更新和删除WordPress内容。
重要通知
实验技术
此插件使用 WordPress 6.9的能力API,这是一个不断发展的新功能。API可能会在未来的WordPress版本中发生变化,可能需要更新此插件。
仅限技术用户
此插件专为熟悉以下内容的开发人员和技术用户而设计:
- 命令行工具和API交互
- WordPress插件管理
- 应用程序密码和身份验证
- 模型上下文协议(MCP)
安全考虑
- 应用程序密码 使用用户权限授予API完全访问权限
- 仅为受信任的自动化工具创建应用程序密码
- 使用具有最低所需权限的帐户(内容管理的编辑角色)
- 定期审核和撤销未使用的应用程序密码
- 强烈建议对所有API通信使用HTTPS
不担保
此插件按“原样”提供,不提供任何形式的保证。使用风险自负。在安装新插件之前,请务必备份您的WordPress网站。
需求
核心要求
| 要求 | 版本 | 目的 |
|---|---|---|
| WordPress | 6.9+ | 提供API框架的能力 |
| PHP | 8.0+ | WordPress 6.9需要 |
所需插件
| 插件 | 来源 | 目的 |
|---|---|---|
| MCP适配器 | WordPress人工智能团队 | 为MCP协议提供HTTP传输 /wp-json/mcp/mcp-adapter-default-server |
可选插件
| 插件 | 来源 | 目的 |
|---|---|---|
| 人工智能实验 | wordpress/人工智能 | 提供额外的以人工智能为重点的能力(获取帖子详细信息,获取帖子条款) |
认证
该插件使用WordPress的内置身份验证。对于程序化访问:
- 创建 应用程序密码 WordPress(用户→ 您的个人资料→ 应用程序密码)
- 使用带有用户名和应用程序密码的基本身份验证
安装
- 上传
wp-content-abilities.php到/wp-content/plugins/wp-content-abilities/ - 通过“插件”菜单激活插件
- 确保MCP适配器插件也已安装并激活
- 为API访问创建应用程序密码
可用能力
帖子(6种能力)
| 能力 | 描述 |
|---|---|
content/list-posts | 列出带有过滤器的帖子(状态、类别、标签、作者、日期范围) |
content/get-post | 按ID获取一篇内容完整的帖子 |
content/create-post | 创建一个包含所有字段的新帖子 |
content/update-post | 更新现有帖子 |
content/delete-post | 删除帖子(移至垃圾箱或强制删除) |
content/get-post-revisions | 获取帖子的修订历史记录 |
页面(5种能力)
| 能力 | 描述 |
|---|---|
content/list-pages | 列出带有过滤器的页面 |
content/get-page | 按ID获取单个页面 |
content/create-page | 创建新页面 |
content/update-page | 更新现有页面 |
content/delete-page | 删除页面 |
分类学(2种能力)
| 能力 | 描述 |
|---|---|
content/list-categories | 列出所有具有层次结构的类别 |
content/list-tags | 列出所有带有帖子计数的标签 |
媒体(2种能力)
| 能力 | 描述 |
|---|---|
content/upload-media | 通过base64或URL上传图像 |
content/list-media | 列出带有过滤器的媒体库项目 |
网站信息(1种能力)
| 能力 | 描述 |
|---|---|
content/get-site-info | 获取网站标题、标语、URL、时区等 |
创建帖子字段
这 content/create-post 能力支持所有WordPress帖子字段:
{
"title": "Post Title",
"content": "
HTML content
",
"excerpt": "Optional excerpt",
"status": "draft|publish|pending|private|future",
"slug": "custom-url-slug",
"categories": ["category-slug-1", "category-slug-2"],
"tags": ["Tag Name 1", "Tag Name 2"],
"date": "2025-12-25T09:00:00",
"featured_image_id": 123,
"format": "standard|aside|gallery|link|image|quote|status|video|audio|chat",
"sticky": false,
"comment_status": "open|closed",
"ping_status": "open|closed",
"author": "username"
}通过MCP使用
初始化会话
curl -s -u "username:app-password" -X POST \
-H "Content-Type: application/json" \
-D headers.txt \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"claude","version":"1.0.0"}}}' \
"https://your-site.com/wp-json/mcp/mcp-adapter-default-server"列出可用工具
SESSION_ID=$(grep -i "mcp-session-id" headers.txt | awk '{print $2}' | tr -d '\r')
curl -s -u "username:app-password" -X POST \
-H "Content-Type: application/json" \
-H "Mcp-Session-Id: $SESSION_ID" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}' \
"https://your-site.com/wp-json/mcp/mcp-adapter-default-server"执行能力
curl -s -u "username:app-password" -X POST \
-H "Content-Type: application/json" \
-H "Mcp-Session-Id: $SESSION_ID" \
-d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"mcp-adapter-execute-ability","arguments":{"ability_name":"content/create-post","parameters":{"title":"My New Post","content":"
Post content here
","status":"draft"}}}}' \
"https://your-site.com/wp-json/mcp/mcp-adapter-default-server"故障排除
MCP中未出现的能力
- 确保MCP适配器插件处于活动状态
- 检查能力是否
mcp.public: true在他们的meta - 验证您使用的端点是否正确:
/wp-json/mcp/mcp-adapter-default-server
身份验证错误
- 验证应用程序密码的格式是否正确(空格已删除)
- 使用格式:
username:xxxx xxxx xxxx xxxx xxxx xxxx - 确保用户具有适当的能力(编辑或管理员角色)
媒体上传失败
- 检查上传目录权限
- 确保文件大小在WordPress限制范围内
- 验证是否允许MIME类型
发展
这个插件使用WordPress的能力API挂钩:
wp_abilities_api_categories_init-注册能力类别wp_abilities_api_init-注册个人能力
每种能力都需要:
label和description用于文件编制category用于分组input_schema定义预期参数callback执行能力的功能meta.mcp.public = trueMCP暴露
更新日志
看 更改日志.md 版本历史。
贡献
问题和拉取请求欢迎访问 .
许可证
此插件的许可证为 GPL v2或更高版本.
作者
吉姆·克里斯蒂安- jimchristan.net
免责声明
此插件不隶属于Automattic、WordPress.org或WordPress基金会,也不受其认可。“WordPress”是WordPress基金会的注册商标。
