MCP Adapter 开发文档

安装指南

Estimated reading: 6 minutes 5 views 贡献人员

安装指南

本指南涵盖了 MCP Adapter 的不同安装方法。

安装方法

方法 1:Composer 包(推荐)

MCP Adapter 设计为作为 Composer 包安装。这是主要和推荐的安装方法:

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

使用 Jetpack Autoloader(强烈推荐)

当多个插件使用 MCP Adapter 时,使用 Jetpack Autoloader 防止版本冲突:

composer require automattic/jetpack-autoloader

然后在您的插件中加载它:

<?php
// 加载 Jetpack 自动加载器而不是 vendor/autoload.php
require_once plugin_dir_path( __FILE__ ) . 'vendor/autoload_packages.php';

use WPMCPCoreMcpAdapter;

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

好处

  • 版本冲突解决
  • 插件兼容性
  • WordPress 优化
  • 自动依赖管理

在您的插件中使用 MCP Adapter

一旦 MCP Adapter 插件激活,您就可以在自己的插件中使用它:

<?php
/**
 * Plugin Name: My MCP Plugin
 * Description: 演示 MCP Adapter 集成
 * Version: 1.0.0
 */

// 防止直接访问
if ( ! defined( 'ABSPATH' ) ) {
    exit;
}

class MyMcpPlugin {
    
    public function __construct() {
        add_action( 'plugins_loaded', [ $this, 'init' ] );
    }
    
    public function init() {
        // 检查 MCP Adapter 是否可用
        if ( ! class_exists( 'WPMCPCoreMcpAdapter' ) ) {
            add_action( 'admin_notices', [ $this, 'missing_mcp_adapter_notice' ] );
            return;
        }
        
        // 检查 Abilities API 是否可用
        if ( ! function_exists( 'wp_register_ability' ) ) {
            add_action( 'admin_notices', [ $this, 'missing_abilities_api_notice' ] );
            return;
        }
        
        // 注册您的能力和 MCP 服务器
        $this->register_abilities();
        $this->setup_mcp_server();
    }
    
    private function register_abilities() {
        add_action( 'wp_abilities_api_init', function() {
            wp_register_ability( 'my-plugin/get-posts', [
                'label' => '获取文章',
                'description' => '检索 WordPress 文章',
                'input_schema' => [
                    'type' => 'object',
                    'properties' => [
                        'numberposts' => [
                            'type' => 'integer',
                            'default' => 5,
                            'minimum' => 1,
                            'maximum' => 100
                        ]
                    ]
                ],
                'execute_callback' => function( $input ) {
                    return get_posts( [ 'numberposts' => $input['numberposts'] ?? 5 ] );
                },
                'permission_callback' => function() {
                    return current_user_can( 'read' );
                }
            ]);
        });
    }
    
    private function setup_mcp_server() {
        add_action( 'mcp_adapter_init', [ $this, 'create_mcp_server' ] );
    }
    
    public function create_mcp_server( $adapter ) {
        $adapter->create_server(
            'my-plugin-server',
            'my-plugin',
            'mcp',
            '我的插件 MCP 服务器',
            '为我的插件定制的 MCP 服务器',
            '1.0.0',
            [ WPMCPTransportHttpTransport::class ],
            WPMCPInfrastructureErrorHandlingErrorLogMcpErrorHandler::class,
            [ 'my-plugin/get-posts' ]
        );
    }
    
    public function missing_mcp_adapter_notice() {
        echo '<div class="notice notice-error"><p>';
        echo 'My MCP Plugin 需要 MCP Adapter 插件处于激活状态。';
        echo '</p></div>';
    }
    
    public function missing_abilities_api_notice() {
        echo '<div class="notice notice-error"><p>';
        echo 'My MCP Plugin 需要 WordPress Abilities API 已加载。';
        echo '</p></div>';
    }
}

new MyMcpPlugin();

方法 2:WordPress 插件(替代方案)

或者,您可以将 MCP Adapter 作为传统的 WordPress 插件安装:

从 GitHub 安装

   # 克隆到您的插件目录
   cd /path/to/your/wordpress/wp-content/plugins/
   git clone https://github.com/WordPress/mcp-adapter.git
  1. 下载或克隆 插件:
   cd mcp-adapter
   composer install
  1. 安装依赖
   wp plugin activate mcp-adapter
  1. 在 WordPress 管理后台或通过 WP-CLI 激活插件

插件会自动初始化并在 /wp-json/mcp/mcp-adapter-default-server 创建一个默认的 MCP 服务器。

验证安装

检查插件状态

  1. WordPress 管理后台:转到插件 → 已安装插件,验证 "MCP Adapter" 是否激活
   wp plugin status mcp-adapter
  1. WP-CLI:检查插件状态:
   # 测试基本连接性
   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. REST API:测试默认 MCP 服务器:

快速测试

临时添加到插件或主题中:

add_action( 'wp_loaded', function() {
    if ( class_exists( 'WPMCPCoreMcpAdapter' ) ) {
        error_log( 'MCP Adapter 已加载并准备就绪' );
    } else {
        error_log( '未找到 MCP Adapter' );
    }
});

故障排除

常见问题

MCP Adapter 插件未找到

  • 验证插件是否安装在 wp-content/plugins/mcp-adapter/ 目录中
  • 检查插件在 WordPress 管理后台是否已激活
  • 在插件目录中运行 composer install

"WordPress Abilities API 不可用"

  • 安装并激活 WordPress Abilities API 插件
  • 验证 wpregisterability() 函数是否存在

REST API 无响应

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

Composer 自动加载器缺失

  • 在插件目录中运行 composer install
  • 检查 vendor/autoload.php 是否存在

调试模式

启用调试日志:

// 添加到 wp-config.php
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );

检查调试日志中的 MCP Adapter 消息。

下一步

安装完成后:

  1. 阅读 README 了解基本使用示例
  2. 遵循 创建能力 构建您的 MCP 工具
  3. 查看 架构概述 了解系统设计

依赖关系

必需

  • PHP:≥ 7.4
  • WordPress:≥ 6.8
  • WordPress Abilities API:用于能力注册

可选

  • Composer:用于依赖管理
  • WP-CLI:用于命令行 MCP 服务器测试

MCP Adapter 在激活时会自动处理初始化并创建默认服务器。

留下第一个评论