MCP Adapter 开发文档

快速入门

Estimated reading: 6 minutes 3 views 贡献人员

MCP Adapter 快速入门

本指南将帮助您快速设置 WordPress MCP Adapter,以便将您的 WordPress 能力暴露为 MCP(模型上下文协议)工具、资源和提示词。

快速概述

MCP Adapter 将 WordPress 能力转化为 AI 可访问的接口,允许 AI 代理通过标准化协议与您的 WordPress 功能进行交互。

先决条件

  • PHP 7.4 或更高版本
  • WordPress 6.8 或更高版本
  • WordPress Abilities API
  • Composer(推荐)

快速开始

步骤 1:安装 MCP Adapter

推荐:Composer 包

composer require wordpress/abilities-api wordpress/mcp-adapter

替代方案:WordPress 插件

# 克隆到插件目录
git clone https://github.com/WordPress/mcp-adapter.git wp-content/plugins/mcp-adapter
cd wp-content/plugins/mcp-adapter
composer install
wp plugin activate mcp-adapter

步骤 2:注册简单能力

创建一个将通过 MCP 暴露的 WordPress 能力:

// 注册一个简单的获取站点信息的能力
add_action( 'wp_abilities_api_init', function() {
    wp_register_ability( 'my-plugin/get-site-info', [
        'label' => '获取站点信息',
        'description' => '检索当前 WordPress 站点的基本信息',
        'input_schema' => [
            'type' => 'object',
            'properties' => [
                'include_stats' => [
                    'type' => 'boolean',
                    'description' => '是否包含文章/页面统计信息',
                    'default' => false
                ]
            ]
        ],
        'execute_callback' => function( $input ) {
            $result = [
                'site_name' => get_bloginfo( 'name' ),
                'site_url' => get_site_url(),
                'description' => get_bloginfo( 'description' )
            ];
            
            if ( $input['include_stats'] ?? false ) {
                $result['stats'] = [
                    'post_count' => wp_count_posts( 'post' )->publish,
                    'page_count' => wp_count_posts( 'page' )->publish
                ];
            }
            
            return $result;
        },
        'permission_callback' => function() {
            return current_user_can( 'read' );
        }
    ]);
});

步骤 3:初始化 MCP Adapter

如果使用 Composer 与 Jetpack Autoloader(推荐):

<?php
// 加载 Jetpack 自动加载器(处理版本冲突)
require_once __DIR__ . '/vendor/autoload_packages.php';

use WPMCPCoreMcpAdapter;

// 初始化适配器
McpAdapter::instance();

如果使用标准 Composer 自动加载器:

<?php
// 加载标准 Composer 自动加载器
require_once __DIR__ . '/vendor/autoload.php';

use WPMCPCoreMcpAdapter;

// 初始化适配器
McpAdapter::instance();

如果使用 WordPress 插件:

插件激活时会自动初始化适配器。

步骤 4:创建您的 MCP 服务器(可选)

适配器会自动创建默认服务器,但您也可以创建自定义服务器:

add_action( 'mcp_adapter_init', function( $adapter ) {
    $adapter->create_server(
        'my-first-server',                          // 唯一服务器 ID
        'my-plugin',                                // REST API 命名空间
        'mcp',                                      // REST API 路由
        '我的第一个 MCP 服务器',                      // 人类可读名称
        '用于演示的简单 MCP 服务器',                   // 描述
        '1.0.0',                                    // 版本
        [ WPMCPTransportHttpTransport::class ], // 传输方法
        WPMCPInfrastructureErrorHandlingErrorLogMcpErrorHandler::class, // 错误处理程序
        [ 'my-plugin/get-site-info' ]              // 暴露为工具的能力
    );
});

步骤 5:测试您的设置

测试您的 MCP 服务器:

使用 WP-CLI(STDIO 传输):

# 列出可用工具
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' | wp mcp-adapter serve --user=admin --server=mcp-adapter-default-server

# 执行站点信息工具
echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"my-plugin-get-site-info","arguments":{"include_stats":true}}}' | wp mcp-adapter serve --user=admin --server=mcp-adapter-default-server

使用 HTTP REST API:

# 测试基本连接性
curl "https://your-site.com/wp-json/"

# 测试 MCP 端点(需要身份验证)
curl -X POST "https://your-site.com/wp-json/mcp/mcp-adapter-default-server" 
  -H "Content-Type: application/json" 
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'

刚才发生了什么?

  1. 能力注册:您创建了一个获取站点信息的 WordPress 能力
  2. 自动暴露:MCP Adapter 自动将您的能力暴露为 MCP 工具
  3. REST API 集成:适配器为 MCP 通信创建了 REST 端点
  4. AI 代理访问:AI 代理现在可以发现和使用您的功能

下一步

了解更多

高级主题

故障排除

找不到 MCP Adapter?

  • 验证安装方法(Composer 与插件)
  • 检查自动加载器是否正确加载
  • 确保 WordPress Abilities API 可用

REST API 无响应?

  • 测试基本 REST API:curl "https://your-site.com/wp-json/"
  • 验证永久链接结构不是 "纯文本"
  • 检查 WordPress 用户身份验证

工具未显示?

  • 确认能力在 wpabilitiesapi_init 期间已注册
  • 验证服务器配置中的能力名称是否完全匹配
  • 检查权限回调是否允许当前用户

有关详细的故障排除,请参阅 安装指南

留下第一个评论