使用说明
项目简介
本仓库实现了一个基于WordPress的Model Context Protocol (MCP) 服务器。它作为一个WordPress插件运行,旨在桥接WordPress内容管理系统与大型语言模型 (LLM) 应用。通过标准的MCP协议,该服务器允许LLM客户端安全、可扩展地访问WordPress网站的资源和功能,例如获取文章、用户数据、媒体文件,甚至执行WordPress的功能操作。
主要功能点
- 资源管理: 提供对WordPress资源的标准化访问,例如示例问候语文本资源和媒体附件资源模板。
- 工具注册与执行: 内置多种工具,包括:
- WordPress REST API 工具: 允许LLM调用WordPress REST API的所有可用端点,实现对WordPress内容的细粒度操作,例如获取文章列表、创建/更新/删除文章、管理用户、分类等。
- WordPress社区活动工具: 提供查询WordPress社区活动信息的功能。
- 示例工具: 包含一个简单的示例工具 'greet-user' 用于演示工具调用。
- 会话管理: 支持MCP会话管理,通过会话ID跟踪客户端状态。
- JSON-RPC通信: 使用JSON-RPC协议与MCP客户端进行通信,接收请求并返回响应。
- 基于WordPress REST API: 利用WordPress REST API框架构建,易于集成和扩展。
安装步骤
- 下载插件: 访问 仓库的README.md 中提供的 "Download latest nightly build" 链接,下载最新的插件压缩包 'nightly.zip'。
- 安装插件: 登录您的WordPress网站后台,进入 "插件" -> "安装插件",点击 "上传插件",上传您下载的 'nightly.zip' 文件并点击 "现在安装"。
- 启用插件: 安装完成后,在 "插件" 页面找到 "MCP Server for WordPress" 并点击 "启用"。
服务器配置
对于MCP客户端,您需要配置连接到此MCP服务器的信息。以下是一个JSON格式的配置示例,适用于大多数MCP客户端:
{ "server name": "WordPress MCP Server", "transport": "http", "command": "curl", "args": [ "-X", "POST", "-H", "Content-Type: application/json", // "-H", "Mcp-Session-Id: <session_id>", // (可选) 如果需要指定会话ID,可以在这里添加 "--data", "@-" // 从标准输入读取 JSON-RPC 请求 // 或者直接指定 WordPress 站点的 MCP REST API 端点,例如: // "https://<your-wordpress-site>/wp-json/mcp/v1/mcp" ], "url": "https://<your-wordpress-site>/wp-json/mcp/v1/mcp" }
配置参数说明:
- '"server name"': MCP服务器的名称,您可以自定义。
- '"transport"': 传输协议,这里使用 '"http"'。
- '"command"': 用于发送HTTP请求的命令行工具,这里使用 'curl'。 您需要确保您的MCP客户端运行环境中安装了 'curl'。
- '"args"': 'curl' 命令的参数列表:
- '"-X", "POST"': 指定 HTTP 请求方法为 POST。
- '"-H", "Content-Type: application/json"': 设置请求头 'Content-Type' 为 'application/json',表明发送的是 JSON 数据。
- '"-H", "Mcp-Session-Id: <session_id>"': (可选) 如果需要指定会话ID,取消注释并替换 '<session_id>' 为具体的会话ID。 通常会话ID由服务器在 'initialize' 请求的响应头中返回,客户端应妥善保存并在后续请求中通过此header传递。
- '"--data", "@-"': 指示 'curl' 从标准输入读取请求体数据。MCP客户端通常会将 JSON-RPC 请求通过标准输入传递给 'command' 指定的命令。
- '"https://<your-wordpress-site>/wp-json/mcp/v1/mcp"': (可选) 如果您希望直接在 'args' 中指定 URL,可以替换 '"@-"' 为 WordPress 站点的 MCP REST API 端点URL。请将 '<your-wordpress-site>' 替换为您的WordPress网站的实际域名。
- '"url"': 重要 WordPress 站点的 MCP REST API 端点 URL,请将 '<your-wordpress-site>' 替换为您的WordPress网站的实际域名。 MCP客户端可能会使用此URL进行健康检查或其他操作。
重要提示:
- 请将 '<your-wordpress-site>' 替换为您的WordPress网站的实际域名。
- 确保您的WordPress网站已启用 REST API 功能。
- 首次连接时,MCP客户端会自动发送 'initialize' 请求建立会话。服务器会在响应头中返回 'Mcp-Session-Id',客户端需要在后续请求的请求头中携带此 Session ID。
基本使用方法
配置完成后,您的MCP客户端就可以通过配置的服务器连接到WordPress MCP服务器了。客户端可以发送各种MCP请求,例如:
- 'initialize': 初始化会话 (客户端通常会自动发送)。
- 'tools/list': 获取服务器支持的工具列表。
- 'tools/call': 调用已注册的工具,例如调用 WordPress REST API 工具来查询文章或用户信息。
- 'resources/list': 获取服务器提供的资源列表。
- 'resources/read': 读取指定URI的资源内容,例如读取示例问候语资源。
具体的使用方式取决于您的MCP客户端。您可以参考客户端的文档来了解如何发送MCP请求和处理响应。
示例: 使用 'wp ai' WP-CLI 命令 (如 README.md 中所述)
如果您的MCP客户端是 WP-CLI AI command,您可以按照README.md中的步骤进行操作:
- 安装 'WP-CLI AI command'。
- 使用 'wp mcp server add "mysite" "https://example.com/wp-json/mcp/v1/mcp"' 命令将您的WordPress MCP服务器添加到 'wp ai' 的服务器列表中。
- 运行 'wp ai "Greet my friend Pascal"' 或类似的命令,即可通过配置的MCP服务器与LLM进行交互。
这将使用 'wp ai' 命令作为MCP客户端,通过WordPress MCP服务器与LLM进行交互,演示了MCP服务器的基本使用流程。
信息
分类
数据库与文件