WordPress能力API服务器

一个动态发现并暴露WordPress 6.9+能力API作为AI可访问工具的MCP服务器。

  • by aplaceforallmystuff
  • JavaScript
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 aplaceforallmystuff/mcp-wp-abilities

使用说明

mcp wp能力

用于WordPress 6.9+能力API的MCP服务器。

动态发现并公开WordPress作为AI可访问工具的功能。

这是什么?

WordPress 6.9引入了 API能力,一个标准化的框架,用于通过机器可读格式的REST端点公开WordPress功能。此MCP服务器连接到任何WordPress 6.9+网站,并自动发现和公开所有注册的MCP工具功能。

主要特点:

  • 动态发现 -工具在运行时从WordPress网站中发现
  • 零配置 -没有硬编码工具;服务器会根据您网站的功能进行调整
  • 完全架构支持 -通过JSON模式进行输入/输出验证
  • 智能方法处理 -自动使用GET表示只读能力,POST表示突变
  • 插件可扩展性 -任何注册功能的WordPress插件都可用

需求

  • Node.js 18+
  • WordPress 6.9+启用API功能
  • 用于身份验证的WordPress应用程序密码

安装

npm install -g mcp-wp-abilities

配置

服务器需要三个环境变量:

变量 描述
WORDPRESS_URL 您的WordPress网站URL(例如。, https://example.com)
WORDPRESS_USERNAME WordPress用户名
WORDPRESS_APP_PASSWORD 应用程序密码(设置→ 安全→ 应用程序密码)

克劳德桌面版

增添 ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "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 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版本、数据库信息、环境类型

插件注册的其他能力将自动显示。

原理

  1. 启动时,服务器连接到你的WordPress能力API
  2. 它获取所有已注册的能力及其模式
  3. 每种能力都转换为MCP工具,包括:
    • 姓名: wp_{category}_{ability_name} (例如。, wp_core_get_site_info)
    • 描述:来自能力的标签和描述
    • 输入模式:从WordPress JSON模式转换而来
    • 注释: readOnlyHint, destructiveHint, idempotentHint
  4. 当一个工具被调用时,服务器会执行相应的WordPress功能

创建WordPress应用程序密码

  1. 登录您的WordPress管理员
  2. 首选 用户→ 个人资料 (或特定用户的个人资料)
  3. 滚动到 应用程序密码
  4. 输入名称(例如“MCP服务器”)并单击 添加新应用程序密码
  5. 复制生成的密码(仅显示一次)

安全说明

  • 应用程序密码为该用户授予API完全访问权限
  • 使用具有最低所需功能的专用用户
  • 使用环境变量安全地存储凭据
  • 服务器只读取能力并执行它们;它不会修改WordPress核心

扩展自定义能力

WordPress插件可以注册自定义功能,这些功能将自动显示为MCP工具:

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,
            ],
        ],
    ] );
} );

故障排除

“缺少必需的环境变量”

  • 确保设置了所有三个环境变量

“发现能力失败:401”

  • 检查用户名和应用程序密码是否正确
  • 验证用户是否具有API访问权限

“发现能力失败:404”

  • 确认你的WordPress版本是6.9+
  • 检查是否已启用能力API

没有工具出现

  • 验证能力是否已注册 show_in_rest: true
  • 检查用户是否有权限访问这些能力

更新日志

看 更改日志.md 发布历史。

许可证

麻省理工学院

链接