
产品概述
mcp-wp-abilities 是一个 Node.js 实现的 MCP(Model Context Protocol)服务器,专门用于连接 WordPress 6.9+ 的 Abilities API。该服务器能够动态发现并暴露 WordPress 站点中所有已注册的能力作为 AI 可访问的工具,无需预定义工具列表。
核心特性
动态能力发现
- 实时发现:工具在运行时从 WordPress 站点动态发现
- 零配置:无需硬编码工具列表,服务器自动适应站点能力
- 自动同步:任何 WordPress 插件注册的新能力都会立即可用
完整 Schema 支持
- 输入/输出验证:通过 JSON Schema 提供完整的参数验证
- 类型安全:自动生成符合 WordPress 能力定义的工具接口
- 文档集成:自动提取能力描述和标签作为工具文档
智能方法处理
- 只读优化:自动为只读能力使用 GET 请求
- 变更操作:自动为修改操作使用 POST 请求
- 注解识别:自动识别并应用
readOnlyHint、destructiveHint、idempotentHint等注解
工具命名规范
- 标准化命名:自动生成
wp_{category}_{ability_name}格式的工具名称 - 示例:
wp_core_get_site_info
技术实现
系统架构
mcp-wp-abilities 采用轻量级 Node.js 架构:
- 启动阶段:连接到 WordPress Abilities API
- 发现阶段:获取所有已注册能力及其 schema
- 转换阶段:将每个能力转换为 MCP 工具
- 执行阶段:处理工具调用并执行对应的 WordPress 能力
工具转换流程
每个 WordPress 能力被转换为 MCP 工具,包含:
- 名称:
wp_{category}_{ability_name} - 描述:来自能力的标签和描述
- 输入 Schema:从 WordPress JSON Schema 转换
- 注解:
readOnlyHint、destructiveHint、idempotentHint
部署要求
系统要求
- Node.js 18+
- WordPress 6.9+(启用 Abilities API)
- WordPress 应用密码(用于认证)
安装方式
npm install -g mcp-wp-abilities
配置参数
服务器需要三个环境变量:
| 环境变量 | 描述 |
|---|---|
| WORDPRESS_URL | WordPress 站点 URL(例如:https://example.com) |
| WORDPRESS_USERNAME | WordPress 用户名 |
| WORDPRESS_APP_PASSWORD | 应用密码 |
集成配置
Claude Desktop 配置
{
"mcpServers": {
"wp-abilities": {
"command": "npx",
"args": ["-y", "mcp-wp-abilities"],
"env": {
"WORDPRESS_URL": "https://your-site.com",
"WORDPRESS_USERNAME": "your-username",
"WORDPRESS_APP_PASSWORD": "your-app-password"
}
}
}
}
Claude Code 配置
claude mcp add wp-abilities \
-e WORDPRESS_URL="https://your-site.com" \
-e WORDPRESS_USERNAME="your-username" \
-e WORDPRESS_APP_PASSWORD="your-app-password" \
-- npx -y mcp-wp-abilities
可用工具
核心 WordPress 能力
WordPress 6.9 核心包含的基础能力:
| 工具名称 | 描述 |
|---|---|
| wp_core_get_site_info | 获取站点名称、描述、URL、版本、语言等信息 |
| wp_core_get_environment_info | 获取 PHP 版本、数据库信息、环境类型 |
插件扩展能力
任何 WordPress 插件注册的能力都会自动出现为 MCP 工具,无需额外配置。
自定义能力扩展
WordPress 插件开发者可以通过 Abilities API 注册自定义能力:
add_action( 'wp_abilities_api_init', function() {
wp_register_ability( 'myplugin/my-ability', [
'label' => 'My Custom Ability',
'description' => 'Does something useful',
'category' => 'myplugin',
'input_schema' => [
'type' => 'object',
'properties' => [
'param' => [ 'type' => 'string' ],
],
],
'output_schema' => [
'type' => 'object',
'properties' => [
'result' => [ 'type' => 'string' ],
],
],
'execute_callback' => 'my_ability_handler',
'permission_callback' => fn() => current_user_can( 'manage_options' ),
'meta' => [
'show_in_rest' => true,
'annotations' => [
'readonly' => false,
'destructive' => false,
'idempotent' => true,
],
],
] );
} );
注册的自定义能力将自动出现在 MCP 工具列表中,无需修改 mcp-wp-abilities 服务器。
安全特性
认证安全
- 应用密码:使用 WordPress 应用密码进行安全认证
- 专用账户:建议使用专用用户账户,仅授予必要权限
- 凭据保护:通过环境变量安全存储凭据
执行安全
- 权限验证:每个能力调用都经过 WordPress 权限验证
- 只读保护:只读能力无法执行修改操作
- 核心保护:服务器仅执行已注册的能力,不修改 WordPress 核心
故障排除
常见问题及解决方案
“Missing required environment variables”
- 确保设置了所有三个必需的环境变量
“Failed to discover abilities: 401”
- 检查用户名和应用密码是否正确
- 验证用户是否具有 API 访问权限
“Failed to discover abilities: 404”
- 确认 WordPress 版本为 6.9 或更高
- 检查 Abilities API 是否已启用
无工具显示
- 验证能力是否使用
show_in_rest: true注册 - 检查用户是否有权限访问这些能力
版本信息
- 许可证:MIT License
- 作者:Jim Christian
- 项目地址:https://github.com/aplaceforallmystuff/mcp-wp-abilities
- NPM 包:https://www.npmjs.com/package/mcp-wp-abilities



评价
目前还没有评价