使用说明
项目简介
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。
安装步骤
- 安装 WP-CLI: 确保你的 WordPress 环境已经安装了 WP-CLI v2.5 或更高版本。你可以使用 'wp cli update' 命令更新 WP-CLI。
- 安装 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 内部实现进行适配。
基本使用方法
- 打开终端或命令行界面,并进入 WordPress 站点根目录。
- 使用 '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" - 根据 Prompt 内容,WP-CLI 将会调用配置的 LLM 服务,并利用 MCP 服务器提供的 WordPress 上下文信息和工具来处理你的请求,并在命令行中返回结果。
示例功能:
- 查询 WordPress 内容: 例如,询问最近发布的文章标题,或者特定分类下的文章列表。
- 创建 WordPress 内容: 例如,创建新的文章、页面或自定义文章类型,并可以结合 AI 生成内容和特色图像。
- 执行 WordPress 操作: 通过预先注册的工具,可以实现更多与 WordPress 交互的功能,例如用户管理、媒体处理等(具体取决于项目后续开发的工具)。
请注意,当前 'ai-command' 示例代码中 'AiCommand.php' 的 '__invoke' 方法只是一个简单的框架,实际与 LLM 交互和 WordPress 内容操作的逻辑需要根据具体需求进行扩展和完善。
信息
分类
开发者工具