README
🚀 WordPress MCP 服务器
WordPress MCP 服务器是一个基于机器通信协议(MCP)的服务,它允许用户将内容便捷地发布到 WordPress 网站。通过丰富的功能特性和灵活的配置方式,能有效提升内容管理和发布的效率。
✨ 主要特性
- 文章发布:支持将文章发布到 WordPress 网站。
- 连接测试:可对 WordPress 连接状态进行测试。
- 分类标签管理:能够创建、获取和管理 WordPress 分类目录及标签,并且在发布文章时可自动处理分类目录及标签的创建。
- 特色图片支持:支持特色图片,可通过 URL 或 Base64 编码数据提供。
- 灵活运行模式:既可以作为独立的 FastAPI 服务器运行,也能作为 MCP 服务器运行。
- 环境变量配置:支持使用环境变量进行 WordPress 凭证配置。
📦 安装指南
1. 创建虚拟环境
使用 UV 创建虚拟环境:
uv venv
.venv\Scripts\activate
2. 安装依赖项
uv pip install -r requirements.txt
3. 配置 WordPress 凭证
- 重命名
.env.example为.env(或新建一个.env文件)。 - 更新 WordPress 站点 URL、用户名及应用密码信息。
💻 使用示例
以 MCP 服务器运行
运行 MCP 模式的服务器:
python main.py --mcp
以独立 API 运行
作为独立 FastAPI 应用程序运行:
python main.py
API 将在 http://localhost:8000 可用。
📚 详细文档
API 端点
| 端点 | 说明 |
| ---- | ---- |
| GET / | 根目录端点 |
| POST /wp-config | 获取来自环境变量的 WordPress 配置信息 |
| POST /get-categories | 获取所有 WordPress 分类目录 |
| POST /get-tags | 获取所有 WordPress 标签 |
| POST /test-connection | 测试 WordPress 连接状态 |
| POST /publish-article | 发布文章到 WordPress |
MCP 工具
PUBLISH_ARTICLE:将文章发布至 WordPress 指定分类目录及标签 ID。PREPARE_ARTICLE_METADATA:检查现有分类目录和标签,自动创建不存在的,返回其 ID 信息。TEST_CONNECTION:测试连接到 WordPress 站点状态。
分类目录与标签管理
WordPress MCP 服务器支持高级分类目录及标签管理,可使用 PREPARE_ARTICLE_METADATA 工具:
- 检查 WordPress 站点上的分类目录和标签是否存在。
- 自动创建不存在的分类目录或标签。
- 返回所有分类目录和标签的 ID 供
PUBLISH_ARTICLE使用。
示例工作流程:
- 调用
PREPARE_ARTICLE_METADATA传递分类及标签名称。 - 获取对应的 ID 信息。
- 使用这些 ID 与
PUBLISH_ARTICLE发布内容。
特色图片支持
在 PUBLISH_ARTICLE 中使用图片
您可以通过以下两种方式添加特色图片:
- 通过 URL:提供
image_url参数,指向图片的直接链接。
"image_url": "https://example.com/path/to/image.jpg"
- 通过 Base64:提供
image_base64参数,包含 Base64 编码的图片数据。
"image_base64": "iVBORw0KGgoAAAANSUhEUgAA..."
- 自定义文件名:可选指定上传后的图片文件名。
"image_filename": "my-custom-image-name.jpg"
服务器将:
- 下载图片(若通过 URL 提供)或解码 Base64 数据。
- 上传图片至 WordPress 站点。
- 设置其为文章的特色图片。
- 返回媒体资源 ID 到响应中。
在独立 API 中使用
当使用独立 API 时,您可以提供特色图片的方式如下:
- 使用
image表单字段进行文件上传。 - 使用
image_url表单字段提供 URL 链接。
环境变量支持
所有工具现均支持通过环境变量(从 .env 文件)设置默认值:
WP_SITE_URL:您的 WordPress 站点 URL 地址。WP_USERNAME:您的 WordPress 用户名。WP_PASSWORD:您的应用程序密码。 这意味着您可以在不显式提供参数的情况下调用工具,只要它们已配置在环境变量中。
Scan to join WeChat group