使用说明
项目简介
本项目是一个基于 Model Context Protocol (MCP) 的服务器实现,旨在桥接大型语言模型 (LLM) 与 WordPress 内容管理系统。通过此 MCP 服务器,LLM 应用可以安全、可控地访问和操作 WordPress 网站的内容,例如创建新的文章、检索现有文章列表、更新文章内容等。
主要功能点
- 文章管理工具: 提供创建 (create_post)、读取 (get_posts)、更新 (update_post) WordPress 文章的功能,使 LLM 能够方便地与 WordPress 网站内容进行交互。
- JSON-RPC 接口: 采用标准的 JSON-RPC 2.0 协议进行通信,易于集成到各种 MCP 客户端和 LLM 应用中。
- 灵活的身份验证: 支持通过环境变量或请求参数传递 WordPress 网站的身份验证信息,方便不同部署场景的需求。
- 错误处理: 对 WordPress API 调用过程中可能出现的错误进行捕获和处理,并将错误信息以 JSON-RPC 错误响应的形式返回给客户端。
- 标准输入/输出通信: 通过标准输入 (stdin) 接收请求,标准输出 (stdout) 返回响应,符合 MCP 服务器的规范,易于部署和集成。
安装步骤
- 克隆仓库
git clone https://github.com/stefans71/wordpress-mcp-server.git cd wordpress-mcp-server - 安装依赖
确保已安装 Node.js (版本 >= 20.0.0) 和 npm。在项目根目录下运行:
npm install - 构建项目
构建成功后,会在 'build' 目录下生成 'index.js' 文件。npm run build
服务器配置
要将此 MCP 服务器添加到 MCP 客户端,您需要在客户端的 MCP 服务器配置文件中添加以下配置信息。假设您的 MCP 客户端配置文件为 'mcp-config.json',您需要添加类似以下的配置到 'mcpServers' 字段中:
{ "mcpServers": { "wordpress": { "command": "node", "args": ["/path/to/wordpress-mcp-server/build/index.js"], "env": { // (可选) WordPress 站点 URL,如果设置在这里,请求参数中可以省略 "WORDPRESS_SITE_URL": "https://your-wordpress-site.com", // (可选) WordPress 用户名,建议使用应用密码,如果设置在这里,请求参数中可以省略 "WORDPRESS_USERNAME": "your-username", // (可选) WordPress 应用密码,如果设置在这里,请求参数中可以省略 "WORDPRESS_PASSWORD": "your-app-password" } } } }
配置参数说明:
- '"wordpress"': 服务器名称,您可以自定义,用于在 MCP 客户端中引用此服务器。
- '"command": "node"': 启动服务器的命令,这里使用 Node.js 运行时。
- '"args": ["/path/to/wordpress-mcp-server/build/index.js"]': 启动命令的参数,指向构建后的 'index.js' 文件路径。请将 '/path/to/wordpress-mcp-server' 替换为您的实际仓库路径。
- '"env"': 环境变量配置,用于设置 WordPress 网站的连接信息。
- '"WORDPRESS_SITE_URL"': 您的 WordPress 站点 URL,例如 'https://your-wordpress-site.com'。
- '"WORDPRESS_USERNAME"': 您的 WordPress 用户名。
- '"WORDPRESS_PASSWORD"': 您的 WordPress 应用密码。强烈建议使用 WordPress 应用密码 而不是主账户密码,以提高安全性。您可以在 WordPress 后台 "用户 -> 您的个人资料 -> 应用密码" 中创建应用密码。
注意: 'WORDPRESS_SITE_URL', 'WORDPRESS_USERNAME', 'WORDPRESS_PASSWORD' 这三个环境变量是可选的。您也可以在每次发送请求时,将这些信息作为请求参数传递。如果环境变量和请求参数都提供了,请求参数中的值将覆盖环境变量中的值。
基本使用方法
配置完成后,您的 MCP 客户端就可以通过 JSON-RPC 协议与此 WordPress MCP 服务器进行通信了。以下是一些基本的使用示例:
1. 创建文章 (create_post)
发送以下 JSON-RPC 请求到服务器的标准输入:
{ "jsonrpc": "2.0", "id": 1, "method": "create_post", "params": { "title": "AI 生成的新文章", "content": "这是由 AI 自动创建的文章内容。", "status": "draft" // 可选,文章状态,默认为 'draft',可选值: 'draft', 'publish', 'private' // 如果未在环境变量中配置,需要在此处提供 WordPress 凭据 // "siteUrl": "https://your-wordpress-site.com", // "username": "your-username", // "password": "your-app-password" } }
服务器会返回 JSON-RPC 响应,包含新创建的文章信息。
2. 获取文章列表 (get_posts)
发送以下 JSON-RPC 请求:
{ "jsonrpc": "2.0", "id": 2, "method": "get_posts", "params": { "perPage": 5, // 可选,每页文章数量,默认为 10 "page": 1 // 可选,页码,默认为 1 // 如果未在环境变量中配置,需要在此处提供 WordPress 凭据 // "siteUrl": "https://your-wordpress-site.com", // "username": "your-username", // "password": "your-app-password" } }
服务器会返回包含文章列表的 JSON-RPC 响应。
3. 更新文章 (update_post)
发送以下 JSON-RPC 请求:
{ "jsonrpc": "2.0", "id": 3, "method": "update_post", "params": { "postId": 123, // 必填,要更新的文章 ID "title": "更新后的文章标题", // 可选,新的文章标题 "content": "这是更新后的文章内容。", // 可选,新的文章内容 "status": "publish" // 可选,新的文章状态 // 如果未在环境变量中配置,需要在此处提供 WordPress 凭据 // "siteUrl": "https://your-wordpress-site.com", // "username": "your-username", // "password": "your-app-password" } }
服务器会返回包含更新后文章信息的 JSON-RPC 响应。
运行服务器:
在 MCP 客户端配置完成后,当客户端需要与 WordPress 服务器交互时,会自动启动此 MCP 服务器。您也可以手动在项目根目录下运行以下命令启动服务器:
node build/index.js
服务器启动后,会在控制台输出 'WordPress MCP server running on stdin/stdout',表示服务器已准备好接收来自标准输入的 JSON-RPC 请求。
注意事项
- 确保您的 WordPress 网站已启用 REST API 功能。
- 强烈建议使用 WordPress 应用密码进行身份验证,以提高安全性。
- 请根据您的实际 WordPress 站点信息配置环境变量或请求参数。
- 本服务器通过标准输入/输出进行通信,适用于支持 Stdio 传输协议的 MCP 客户端。
信息
分类
开发者工具