MCP Adapter 开发文档

项目概述

Estimated reading: 10 minutes 2 views 贡献人员

目标与使命

MCP Adapter 是 WordPress 官方推出的软件包,作为 WordPress 功能与 AI 代理之间的桥梁。它是 WordPress AI 构建模块计划 的一部分,通过模型上下文协议(MCP)为 AI 代理提供与 WordPress 功能交互的标准化方式。

该适配器将 WordPress 能力转换为符合 MCP 规范的工具、资源和提示,使 AI 代理能够以编程方式发现、理解和执行 WordPress 功能。

解决的核心问题

1. “工具过多”问题

MCP Adapter 通过分层工具架构解决了 MCP 实现中的关键可扩展性挑战。传统 MCP 实现将每个功能暴露为单独的工具,这会导致严重问题:

  • 上下文窗口膨胀:工具模式在实际工作开始前就消耗了 AI 上下文窗口的很大部分
  • 决策瘫痪:AI 代理难以从压倒性的选项列表中进行选择
  • 可扩展性限制:随着工具数量增长,系统变得难以管理

解决方案只暴露三个战略性元能力(发现、获取信息、执行),作为所有 WordPress 能力的网关,在提供无限可扩展性的同时消耗最少的上下文。

2. WordPress-AI 集成鸿沟

适配器为 AI 代理与 WordPress 交互提供了标准化协议,消除了自定义集成的需要,并确保在不同 AI 平台上的一致行为。

核心功能

主要功能

MCP Adapter 为 WordPress-AI 集成提供全面功能:

  • 能力到 MCP 的转换:自动将 WordPress 能力转换为 MCP 工具、资源和提示
  • 多服务器管理:创建和管理具有独特配置的多个 MCP 服务器
  • 可扩展传输层:HTTP 传输(符合 MCP 2025-06-18 规范)、STDIO 传输用于本地开发、自定义传输支持
  • 灵活错误处理:内置 WordPress 兼容错误日志记录,支持自定义错误处理器
  • 内置可观测性:零开销指标跟踪,可配置处理器
  • 验证:内置工具、资源和提示验证
  • 权限控制:对所有暴露功能进行细粒度权限检查

MCP 组件支持

适配器支持 MCP 规范中定义的所有主要 MCP 组件:

  • 工具:将 WordPress 能力转换为可执行的 MCP 工具,供 AI 代理交互
  • 资源:将 WordPress 数据暴露为 MCP 资源,用于上下文信息访问
  • 提示:将能力转换为结构化的 MCP 提示,用于 AI 指导和模板
  • 服务器发现:自动注册和发现 MCP 服务器
  • 内置能力:用于系统内省的核心 WordPress 能力
  • CLI 集成:支持 STDIO 传输的 WP-CLI 命令

架构概述

系统设计

MCP Adapter 使用具有清晰关注点分离的分层架构:

  1. 传输层:处理通信协议(HTTP、STDIO)
  2. 核心层:管理服务器、路由和组件注册
  3. 组件层:工具、资源和提示
  4. WordPress 层:Abilities API 集成

请求流程

系统遵循简单高效的请求流程:

AI 代理 → 传输 → RequestRouter → 处理器 → WordPress 能力 → 响应  

关键组件

McpAdapter(单例注册表)

管理多个 MCP 服务器的中央注册表,负责服务器创建、配置和通过 REST API 钩子与 WordPress 集成。

McpServer(服务器实例)

具有特定配置的独立 MCP 服务器实例,通过组件注册表系统管理工具、资源和提示。

传输层

通过统一接口支持多种传输协议,依赖注入提供所有必需的处理器和上下文。

设计模式

架构利用了几个关键设计模式:

  • 依赖注入:所有传输通过 McpTransportContext 接收依赖,消除全局状态
  • 基于接口的设计:所有主要组件实现接口,支持可替换实现
  • 事件发射:系统发射事件而不是存储本地计数器,实现零内存开销
  • WordPress 集成:利用 WordPress Abilities API、REST API 和权限系统

WordPress 生态系统集成

与 WordPress Abilities API 的集成

MCP Adapter 需要并与 WordPress Abilities API 紧密集成,该 API 提供:

  • 标准化能力注册(wp_register_ability()
  • 能力检索和管理(wp_get_ability()
  • 输入输出的模式定义
  • 权限回调系统
  • 执行回调系统

插件架构

插件作为 WordPress 插件激活时自动初始化,并检查必需的依赖项。

如果 Abilities API 不可用,它会显示管理员通知并阻止初始化,确保安全操作。

安装灵活性

MCP Adapter 支持多种安装方法:

  1. Composer 包(主要):推荐给构建插件或主题的开发者
  2. WordPress 插件:传统插件安装
  3. Jetpack Autoloader 支持:强烈推荐用于多个插件使用适配器时的版本冲突解决

AI 集成生态

MCP 规范合规性

适配器将 WordPress 功能与 MCP 规范(2025-06-18)连接,提供完全合规的 MCP 工具、资源和提示实现。 

具有分层架构的默认服务器

自动默认服务器无需手动配置即可提供即时 MCP 功能,暴露三个核心能力实现动态能力发现:

  1. 发现能力 – 列出所有可用的 WordPress 能力
  2. 获取能力信息 – 检索特定能力的详细模式
  3. 执行能力 – 使用提供的参数执行任何能力

安全模型

适配器实现元数据驱动的安全模型,具有显式选择加入:

  • 默认安全:能力默认不可通过 MCP 访问
  • 显式选择加入:能力必须在元数据中包含 mcp.public=true
  • 细粒度控制:每个能力单独决定 MCP 可访问性

AI 客户端兼容性

适配器支持来自多个 AI 平台的连接,包括 Claude Desktop、Claude Code、VS Code、Cursor 和其他 MCP 兼容客户端,通过 STDIO 和 HTTP 传输方法。 README.md:354-375

Notes

MCP Adapter 代表了使 WordPress 成为 AI 集成生态系统中一等公民的重要一步。通过实现模型上下文协议规范,它为 AI 代理与 WordPress 功能交互提供了标准化、安全和可扩展的方式。分层工具架构特别创新,解决了困扰传统 MCP 实现的上下文窗口限制,同时通过 WordPress Abilities API 保持完全可扩展性。

该项目为生产使用而设计,具有全面的错误处理、可观测性和安全控制。其灵活架构允许自定义传输、错误处理器和身份验证机制,使其适合企业部署,同时对较小的实现保持可访问性。

留下第一个评论