一个强大的 模型上下文协议(MCP) 服务器,通过 WordPress REST API 提供 AI 助手与 WordPress 站点之间的无缝集成。该服务器会自动发现并创建每个 WordPress REST API 端点的独立工具,从而实现自然语言管理 WordPress。
# 全局安装
npm install -g wp-standalone-mcp
# 或直接运行
npx github:diazoxide/wp-standalone-mcp start
创建 WordPress 应用密码:
创建配置文件(wp-sites.json):
{
"myblog": {
"URL": "https://myblog.com",
"USER": "your_username",
"PASS": "your_application_password"
}
}
配置 Claude Desktop(claude_desktop_config.json):
{
"mcpServers": {
"wordpress": {
"command": "npx",
"args": ["-y", "github:diazoxide/wp-standalone-mcp", "start"],
"env": {
"WP_SITES_PATH": "/absolute/path/to/wp-sites.json"
}
}
}
}
重启 Claude Desktop 并开始管理你的 WordPress 站点!
当服务器启动时,它会自动发现所有可用的 WordPress REST API 端点,并为每个端点/方法组合创建独立工具。工具名称遵循以下模式:[站点]_[方法]_[资源] 或 [站点]_[方法]_[资源]_id 对于特定 ID 的端点。
示例:
myblog_get_v2_posts - 列出所有文章myblog_get_v2_posts_id - 根据 ID 获取特定文章myblog_post_v2_posts - 创建新文章myblog_put_v2_posts_id - 更新特定文章myblog_delete_v2_posts_id - 删除特定文章wp_discover_endpoints重新发现 WordPress 站点上的所有可用 REST API 端点。
参数:
{
"site": {
"type": "string",
"description": "站点别名(如在配置中定义)",
"required": true
}
}
返回值: 可用端点及其方法和命名空间列表。
WP_SITES_PATH:指向你的 WordPress 站点配置文件的路径WP_SITES:直接 JSON 配置(替代文件){
"site_alias": {
"URL": "https://your-site.com",
"USER": "wordpress_username",
"PASS": "application_password",
"FILTERS": {
"include": ["tool_name_patterns"],
"exclude": ["tool_name_patterns"]
}
}
}
注意:应用密码需要 WordPress 5.6 或更高版本以及 HTTPS。
通过过滤工具控制哪些 WordPress 操作是可用的:
{
"myblog": {
"URL": "https://myblog.com",
"USER": "admin",
"PASS": "abcd 1234 efgh 5678",
"FILTERS": {
"include": [
"myblog_get_v2_posts",
"myblog_post_v2_posts",
"/.*_get_.*_posts.*/"
],
"exclude": [
"myblog_delete_v2_posts_id",
"/.*_.*_users.*/",
"/.*_delete_.*/"
]
}
}
}
过滤规则:
include:仅暴露指定的工具(白名单)exclude:隐藏指定的工具(黑名单)include 优先于 exclude/pattern/ 包围)服务器会自动创建工具,遵循以下命名约定:
[站点]_[方法]_[资源] 或 [站点]_[方法]_[资源]_idmyblog_get_v2_posts - 列出所有文章myblog_get_v2_posts_id - 根据 ID 获取特定文章myblog_post_v2_posts - 创建新文章myblog_put_v2_posts_id - 更新特定文章myblog_delete_v2_posts_id - 删除特定文章myblog_get_v2_media - 列出媒体文件myblog_get_v2_users - 列出用户wp_discover_endpoints - 重新发现站点上的可用端点一旦配置完成,可以使用自然语言与你的 WordPress 站点交互:
你能给我展示一下 myblog 上个月发布的所有文章吗?
查找 testsite 上标记为“技术”和“AI”的所有文章
展示 myblog 中需要审阅的草稿文章
在 testsite 上创建一篇标题为“AI 的未来”的新草稿文章,包括这些要点:[要点]
更新 myblog 最近一篇关于机器学习的文章的特色图片
在 myblog 上添加一个名为“科技新闻”的新分类
展示 myblog 最近一篇文章的所有待审核评论
查找 testsite 上可能的垃圾评论
列出 myblog 上最活跃的评论者
myblog 上当前有哪些插件是激活状态?
检查 testsite 上是否有任何插件需要更新
告诉我关于 myblog 上已安装的安全插件的信息
“展示 myblog 上最近的 5 篇文章”
“在 myblog 上创建一篇标题为‘AI 和未来’的新草稿文章”
“更新 myblog 上 ID 为 123 的文章的特色图片”
“删除 myblog 上 ID 为 456 的文章”
“列出本月上传到 myblog 的所有图片”
“上传一张新图片到 myblog 的媒体库”
“获取媒体文件 ID 789 的详情”
“展示 myblog 上具有编辑角色的所有用户”
“在 myblog 上创建一个新的贡献者账户”
“更新用户 ID 101 的权限”
“myblog 上有哪些插件是激活状态?”
“展示所有待审核评论”
“获取当前主题信息”
“列出所有分类及其文章数量”
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ Claude AI │ │ MCP 服务器 │ │ WordPress API │
│ │◄──►│ │◄──►│ │
│ 自然语言 │ │ 动态工具 │ │ REST 端点 │
└─────────────────┘ └──────────────────┘ └─────────────────┘
│
▼
┌──────────────────┐
│ 配置 │
│ wp-sites.json │
└──────────────────┘
“站点未配置”错误
“身份验证失败”错误
“未发现工具”错误
/wp-json 访问设置 DEBUG=wp-mcp 环境变量以获得详细的日志记录:
DEBUG=wp-mcp npx github:diazoxide/wp-standalone-mcp start
我们欢迎贡献!请参阅我们的 贡献指南 了解详情。
MIT 许可证 - 详情见 LICENSE 文件。
为 WordPress 和 AI 社区制作 ❤️