W

WordPress AI桥

@prathammanocha/wordpress-mcp-server
0 Stars 71 次浏览 prathammanocha 更新于 2026-08-23

通过REST API启用AI助手与WordPress网站的交互,允许以编程方式管理帖子、用户、评论、分类和标签,并进行安全的身份验证。

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "mcpServers": {
    "wordpress": {
      "args": [
        "path/to/wordpress-mcp-server/build/index.js"
      ],
      "command": "node"
    }
  }
}

该服务需要配置环境变量:password、siteUrl、username

服务介绍

综合 WordPress MCP 服务器

一个全面的模型上下文协议(MCP)服务器,通过 WordPress REST API 使 AI 助手能够与 WordPress 站点进行交互。此服务器提供了程序化管理 WordPress 各个方面的工具,包括文章、用户、评论、分类、标签和自定义端点。

功能

文章管理

  • 创建、检索、更新和删除 WordPress 文章
  • 按各种参数筛选文章
  • 支持文章列表分页

用户管理

  • 通过 ID 或登录名检索用户信息
  • 更新用户详情
  • 删除用户

评论管理

  • 创建、检索、更新和删除评论
  • 按文章筛选评论
  • 支持评论列表分页

分类法管理

  • 管理分类和标签
  • 创建、检索、更新和删除分类法
  • 通过别名查找分类和标签

站点信息

  • 检索通用 WordPress 站点信息

自定义请求

  • 支持自定义 REST API 端点
  • 自定义 HTTP 方法 (GET, POST, PUT, DELETE)
  • 自定义数据和参数

先决条件

  • Node.js v18 或更高版本
  • 已启用 REST API 的 WordPress 站点
  • 用于认证的 WordPress 应用程序密码

安装

  1. 克隆此仓库:
git clone [repository-url]
cd wordpress-mcp-server
  1. 安装依赖项:
npm install
  1. 构建服务器:
npm run build

WordPress 配置

在使用服务器之前,需要设置您的 WordPress 站点:

  1. 确保您的 WordPress 站点已启用 REST API(默认情况下,在 WordPress 4.7+ 中启用)
  2. 创建应用程序密码:
    • 登录到您的 WordPress 管理面板
    • 转到 用户 → 个人资料
    • 向下滚动到“应用程序密码”
    • 输入应用程序名称(例如,“MCP 服务器”)
    • 单击“添加新应用程序密码”
    • 复制生成的密码(您将无法再次查看它)

MCP 配置

将服务器添加到您的 MCP 设置文件中(通常位于 ~/AppData/Roaming/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json):

{
  "mcpServers": {
    "wordpress": {
      "command": "node",
      "args": ["path/to/wordpress-mcp-server/build/index.js"]
    }
  }
}

可用工具

文章管理

1. create_post

创建新的 WordPress 文章。

参数:

  • siteUrl (必需):您的 WordPress 站点 URL
  • username (必需):WordPress 用户名
  • password (必需):WordPress 应用程序密码
  • title (必需):文章标题
  • content (必需):文章内容
  • status (可选):文章状态 ('draft', 'publish' 或 'private',默认为 'draft')

示例:

{
  "tool": "create_post",
  "siteUrl": "https://example.com",
  "username": "admin",
  "password": "xxxx xxxx xxxx xxxx",
  "title": "My First Post",
  "content": "Hello, world!",
  "status": "draft"
}

2. get_posts

带分页地检索 WordPress 文章。

参数:

  • siteUrl (必需):您的 WordPress 站点 URL
  • username (必需):WordPress 用户名
  • password (必需):WordPress 应用程序密码
  • perPage (可选):每页的文章数量(默认:10)
  • page (可选):页码(默认:1)
  • customParams (可选):其他查询参数

示例:

{
  "tool": "get_posts",
  "siteUrl": "https://example.com",
  "username": "admin",
  "password": "xxxx xxxx xxxx xxxx",
  "perPage": 5,
  "page": 1
}

3. update_post

更新现有的 WordPress 文章。

参数:

  • siteUrl (必需): 您的WordPress网站URL
  • username (必需): WordPress用户名
  • password (必需): WordPress应用程序密码
  • postId (必需): 要更新的文章ID
  • title (可选): 新文章标题
  • content (可选): 新文章内容
  • status (可选): 新文章状态('draft'、'publish' 或 'private')

示例:

{
  "tool": "update_post",
  "siteUrl": "https://example.com",
  "username": "admin",
  "password": "xxxx xxxx xxxx xxxx",
  "postId": 123,
  "title": "Updated Title",
  "content": "Updated content",
  "status": "publish"
}

4. delete_post

删除一篇WordPress文章。

参数:

  • siteUrl (必需): 您的WordPress网站URL
  • username (必需): WordPress用户名
  • password (必需): WordPress应用程序密码
  • postId (必需): 要删除的文章ID

示例:

{
  "tool": "delete_post",
  "siteUrl": "https://example.com",
  "username": "admin",
  "password": "xxxx xxxx xxxx xxxx",
  "postId": 123
}

用户管理

1. get_users

检索WordPress用户。

参数:

  • siteUrl (必需): 您的WordPress网站URL
  • username (必需): WordPress用户名
  • password (必需): WordPress应用程序密码
  • perPage (可选): 每页用户数(默认:10)
  • page (可选): 页码(默认:1)

2. get_user

通过ID检索特定的WordPress用户。

参数:

  • siteUrl (必需): 您的WordPress网站URL
  • username (必需): WordPress用户名
  • password (必需): WordPress应用程序密码
  • userId (必需): 要检索的用户的ID

3. get_user_by_login

通过登录名检索WordPress用户。

参数:

  • siteUrl (必需): 您的WordPress网站URL
  • username (必需): WordPress用户名
  • password (必需): WordPress应用程序密码
  • userLogin (必需): 要检索的用户的登录名

评论管理

1. get_comments

检索WordPress评论。

参数:

  • siteUrl (必需): 您的WordPress网站URL
  • username (必需): WordPress用户名
  • password (必需): WordPress应用程序密码
  • perPage (可选): 每页评论数(默认:10)
  • page (可选): 页码(默认:1)
  • postIdForComment (可选): 根据文章ID过滤评论

2. create_comment

在文章上创建新评论。

参数:

  • siteUrl (必需): 您的WordPress网站URL
  • username (必需): WordPress用户名
  • password (必需): WordPress应用程序密码
  • postIdForComment (必需): 要评论的文章ID
  • commentContent (必需): 评论内容
  • customData (可选): 其他评论数据

分类和标签管理

1. get_categories

检索WordPress分类。

参数:

  • siteUrl (必需): 您的WordPress网站URL
  • username (必需): WordPress用户名
  • password (必需): WordPress应用程序密码
  • perPage (可选): 每页分类数(默认:10)
  • page (可选): 页码(默认:1)

2. create_category

创建新的WordPress分类。

参数:

  • siteUrl (必需): 您的 WordPress 站点 URL
  • username (必需): WordPress 用户名
  • password (必需): WordPress 应用程序密码
  • categoryName (必需): 要创建的分类名称
  • customData (可选): 额外的分类数据(描述、父级等)

自定义请求

1. custom_request

向任何 WordPress REST API 端点发出自定义请求。

参数:

  • siteUrl (必需): 您的 WordPress 站点 URL
  • username (必需): WordPress 用户名
  • password (必需): WordPress 应用程序密码
  • customEndpoint (必需): API 端点路径
  • customMethod (可选): HTTP 方法 ('GET', 'POST', 'PUT', 'DELETE', 默认: 'GET')
  • customData (可选): POST/PUT 请求的数据
  • customParams (可选): GET 请求的 URL 参数

示例:

{
  "tool": "custom_request",
  "siteUrl": "https://example.com",
  "username": "admin",
  "password": "xxxx xxxx xxxx xxxx",
  "customEndpoint": "wp/v2/media",
  "customMethod": "GET",
  "customParams": {
    "per_page": 5
  }
}

响应格式

所有工具返回的响应都采用以下格式:

成功响应

{
  "success": true,
  "data": {
    // WordPress API response data
  },
  "meta": {
    // Optional metadata (pagination info, etc.)
  }
}

错误响应

{
  "success": false,
  "error": "Error message here"
}

安全注意事项

  • 始终为您的 WordPress 站点使用 HTTPS URL
  • 使用应用程序密码而不是您的主 WordPress 密码
  • 保持您的应用程序密码安全且不共享
  • 考虑使用 WordPress 角色和功能来限制访问
  • 定期更换应用程序密码

开发

要贡献于开发:

  1. 叉取仓库
  2. 创建一个特性分支
  3. 进行更改
  4. 运行测试(如果有)
  5. 提交拉取请求

对于带有自动重新编译的开发模式:

npm run dev

许可证

本项目根据 ISC 许可证获得许可。

贡献

欢迎贡献!请随时提交 Pull Request。