使用说明

项目简介

ai-command 项目旨在将 WordPress 网站转变为一个 Model Context Protocol (MCP) 服务器,并集成到 WP-CLI 命令行工具中,使得开发者可以使用 AI 模型直接与 WordPress 站点进行交互。它允许开发者在本地开发环境中,通过命令行使用 AI 功能来管理和操作 WordPress 内容,无需搭建复杂的外部 API 或实时网站。

主要功能点

  • MCP 服务器实现: 在 WordPress 中实现了 MCP 服务器的核心接口,使其能够作为 MCP 服务器运行。
  • 资源 (Resources) 提供: 能够将 WordPress 的文章、页面、媒体等内容作为 MCP 资源提供给 LLM 客户端访问。
  • 工具 (Tools) 注册与执行: 允许注册 WordPress 相关的操作(如内容创建、媒体处理)为 MCP 工具,供 LLM 调用执行。
  • Prompt 模板 (Prompts) 支持: 虽然代码中未显式提供 Prompt 模板管理,但项目架构支持定义和使用 Prompt,以便用户定制与 LLM 的交互方式。
  • WP-CLI 集成: 通过 WP-CLI 命令 'wp ai' 启动 MCP 服务器功能,方便在本地 WordPress 开发环境中使用。
  • 本地 LLM 集成: 支持与本地或远程的 LLM 提供商集成,通过 MCP 协议连接 LLM 与 WordPress。

安装步骤

  1. 安装 WP-CLI: 确保你的 WordPress 环境已经安装了 WP-CLI v2.5 或更高版本。你可以使用 'wp cli update' 命令更新 WP-CLI。
  2. 安装 ai-command 包: 使用 WP-CLI 命令安装 ai-command 包。
    • 安装稳定版本:
      wp package install swissspidy/ai-command:@stable
    • 安装开发版本:
      wp package install swissspidy/ai-command:dev-main

服务器配置

对于 MCP 客户端,需要配置连接到 ai-command MCP 服务器的信息。由于 ai-command 是 WP-CLI 的一个命令,其服务器启动命令和参数配置如下:

{
  "serverName": "WP-CLI MCP Server",
  "command": "wp",
  "args": [
    "ai"
  ],
  "description": "通过 WP-CLI 启动的 WordPress MCP 服务器,用于本地 WordPress 开发环境的 AI 功能访问。"
}

配置参数注释:

  • 'serverName': MCP 服务器的名称,可以自定义,例如 "WP-CLI MCP Server"。
  • 'command': 启动 MCP 服务器的命令,这里是 'wp',即 WP-CLI 的执行命令。
  • 'args': 传递给 'wp' 命令的参数,这里是 'ai',即调用 'ai-command' 提供的 MCP 服务器功能的子命令。
  • 'description': 对该服务器配置的描述,方便用户理解其用途。

注意: 此配置适用于 MCP 客户端通过 Stdio (标准输入输出) 或其他 WP-CLI 支持的本地通信方式与 MCP 服务器通信。实际的传输协议可能需要 MCP 客户端和 ai-command 内部实现进行适配。

基本使用方法

  1. 打开终端或命令行界面,并进入 WordPress 站点根目录。
  2. 使用 'wp ai' 命令加上你的自然语言 Prompt 与 WordPress 站点进行交互。 例如:
    wp ai "What are the titles of my last three posts?"
    wp ai "create 10 test posts about swiss recipes and include generated featured images"
  3. 根据 Prompt 内容,WP-CLI 将会调用配置的 LLM 服务,并利用 MCP 服务器提供的 WordPress 上下文信息和工具来处理你的请求,并在命令行中返回结果。

示例功能:

  • 查询 WordPress 内容: 例如,询问最近发布的文章标题,或者特定分类下的文章列表。
  • 创建 WordPress 内容: 例如,创建新的文章、页面或自定义文章类型,并可以结合 AI 生成内容和特色图像。
  • 执行 WordPress 操作: 通过预先注册的工具,可以实现更多与 WordPress 交互的功能,例如用户管理、媒体处理等(具体取决于项目后续开发的工具)。

请注意,当前 'ai-command' 示例代码中 'AiCommand.php' 的 '__invoke' 方法只是一个简单的框架,实际与 LLM 交互和 WordPress 内容操作的逻辑需要根据具体需求进行扩展和完善。

信息

分类

开发者工具