WordPress内容管理服务器

WordPress MCP Server是一个TypeScript服务器,允许本地优先的LLM代理通过自然语言提示创建、编辑和组织WordPress内容,适用于自动化内容管理、博客更新和网站维护。

  • by NemesisGuy
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 NemesisGuy/WordPress-MCP

使用说明

WordPress MCP服务器

将您的WordPress网站纳入任何模型上下文协议(MCP)工作流程。这个TypeScript服务器允许本地第一LLM代理通过自然语言提示创建、编辑和组织WordPress内容。

目录

  1. 概述
  2. 快速启动
  3. 配置
  4. 运行MCP服务器
  5. 刀具目录
  6. 使用模式
  7. 开发与测试
  8. 故障排除
  9. 安全
  10. 贡献和许可

概述

WordPress MCP服务器将精心策划的REST操作作为MCP工具公开,因此任何兼容的客户端(Claude Desktop、VS Code MCP插件、自定义shell)都可以通过语音或文本自动化来管理内容。使用它来起草帖子、更新登录页面或清理类别,而无需触摸wp-admin。

亮点

  • 对帖子、页面、类别和标签的完整CRUD覆盖
  • 由WordPress应用程序密码支持的安全身份验证
  • 跨客户端和服务器共享接口的类型安全实现
  • 通过stdio与任何MCP主机配合使用;无需暴露网络端口
  • 附带烟雾测试脚本和故障排除指南,以便您在连接客户端之前进行本地验证

快速启动

git clone https://github.com/<you>/WordPress-MCP.git
cd WordPress-MCP
npm install
cp .env.example .env   # or `copy` on Windows
  1. 填写 .env 使用下面列出的变量。
  2. 构建TypeScript源代码: npm run build.
  3. 运行快速健全性检查: node test-create-post.js。此脚本会删除一个草稿帖子,以便您知道身份验证和REST连接良好。
  4. 在stdio模式下启动MCP服务器: node build/index.js.
  5. 将MCP客户端指向可执行文件(请参阅 运行MCP服务器).

配置

环境变量

变量 描述 示例
WORDPRESS_URL WordPress网站的基本URL(必须包含协议)。 https://example.com
WORDPRESS_USERNAME 生成应用程序密码的WordPress用户。 editor_bot
WORDPRESS_APP_PASSWORD 从wp-admin(WordPress 5.6+)复制的应用程序密码。 xxxx xxxx xxxx xxxx xxxx xxxx

保持应用程序密码的空格分隔格式。如果删除空格,WordPress会拒绝令牌。

创建应用程序密码

  1. 使用目标用户登录wp-admin。
  2. 导航至 用户→ 个人资料.
  3. 滚动到 应用程序密码.
  4. 命名它(例如“MCP服务器”)并单击 新增.
  5. 立即复制该值——WordPress永远不会再显示它。
  6. 将其粘贴到 .env 在...之下 WORDPRESS_APP_PASSWORD.

运行MCP服务器

服务器通过stdio进行通信,因此您可以将其嵌入任何理解MCP的主机中。

直接命令行界面

npm run build
node build/index.js

当服务器登录时 Successfully connected to WordPress site!,它已准备好接受MCP请求。

克劳德桌面版

将配置添加到 claude_desktop_config.json 并重新启动克劳德桌面:

{
  "mcpServers": {
    "wordpress": {
      "command": "node",
      "args": ["C:\\Users\\YourUsername\\Projects\\WordPress-MCP\\build\\index.js"],
      "env": {
        "WORDPRESS_URL": "https://your-site.com",
        "WORDPRESS_USERNAME": "your-username",
        "WORDPRESS_APP_PASSWORD": "xxxx xxxx xxxx xxxx xxxx xxxx"
      }
    }
  }
}

IDE+MCP工具

VS代码(和其他支持MCP的IDE)可以直接引用存储库。看 IDE_SETUP.md 为该项目量身定制的完整演练,包括一个也连接到本地VibeType代理的工作示例。

刀具目录

工具 目的 必填字段 有用选项
wordpress_create_post 起草或发布帖子 title, content status, excerpt, categories, tags
wordpress_get_post 获取特定帖子 id —
wordpress_list_posts 列出带有筛选器的帖子 -- page, per_page, search, status, order, orderby
wordpress_update_post 更新现有帖子 id title, content, status, excerpt, categories, tags, slug

在MCP客户端注册服务器后,您可以说出或键入自然语言提示:

  • “创建一个名为“Hello World”的WordPress帖子草稿,内容为“这是我的第一篇帖子”。”
  • “更新WordPress帖子123并将其状态更改为发布。”
  • “更新WordPress帖子123,并将其slug设置为‘hello world post’。”
  • “上传一张PNG图像,并将其作为特色图像附加到帖子123。”
  • “列出最近的五篇WordPress帖子。”
  • “创建一个名为“关于我们”的新WordPress页面,总结我们的公司。”
  • “更新WordPress第42页,并将其标题设置为‘关于我们公司’。”
  • “列出所有WordPress类别和标签,以便我可以清理重复项。”

附带的脚本 test-create-post.js 这是另一个快速的理智检查。运行后 npm run build,执行 node test-create-post.js 创建一份题为“通过MCP服务器进行第二次测试”的草稿🤖”. 对于上传测试,请尝试 node test-upload-media.js path/to/image.png <postId> 上传并(可选)作为特色媒体附加到帖子中。

开发与测试

命令 描述
npm run build 编译TypeScript源代码 src/ 到 build/.
npm run watch 重新生成文件更改,以加快迭代速度。
node build/index.js 构建后启动MCP服务器。
node test-create-post.js 通过创建草稿柱来测试连接性。

项目布局:

src/                  # TypeScript sources and tool implementations
build/                # Compiled JS artifacts consumed by MCP hosts
docs/ (optional)      # Additional guides and blog content
IDE_SETUP.md          # IDE-specific MCP instructions
test-create-post.js   # Manual smoke test script

故障排除

“无法连接到WordPress网站”

  • 确认 WORDPRESS_URL 包含 https:// 并从您的机器上解析。
  • 验证REST API终结点 https://your-site.com/wp-json/wp/v2/ 回答。
  • 检查阻止应用程序密码请求的防火墙或插件。

“401未经授权”

  • 仔细检查用户名是否与应用程序密码颁发者匹配。
  • 重新生成应用程序密码并更新 .env.
  • 保留密码中的空格;WordPress期待他们。

MCP客户端内“找不到工具”

  • 编辑客户端配置后重新启动客户端。
  • 确保 npm run build 成功和 build/index.js 存在。
  • 确认文件路径在Windows上使用转义反斜杠。

安全

  • 不要承诺 .env;默认情况下会忽略它。
  • 如果设备丢失,请从wp-admin中撤消应用程序密码。
  • 所有远程WordPress实例都首选HTTPS,这样凭据就不会遍历明文。

贡献和许可

MIT许可证。欢迎问题和拉取请求,特别是在新的MCP工作流程、额外的测试覆盖率和文档改进方面。

在VS代码上测试配置

{
  "servers": {
    "wordpress": {
      "command": "node",
      "args": [
        "C:\\Users\\<YourUser>\\Projects\\WordPress-MCP\\build\\index.js"
      ],
      "cwd": "C:\\Users\\<YourUser>\\Projects\\WordPress-MCP"
    }
  },
  "inputs": []
}

替换 <YourUser> 使用Windows用户名,或者如果将存储库保留在其他位置,则调整整个路径。