wordpress-nodeflow-mcp
使用说明(Markdown 格式)
-
项目简介
- 该仓库实现了一个 MCP(Model Context Protocol)服务器端,用于向 LLM 客户端提供 WordPress 相关的上下文和功能。核心能力包括托管和管理资源(WordPress 站点连接、API Key)、注册与执行 Tool(如 wp_get_posts、wp_create_post 等 WordPress 操作),以及通过 MCP 协议定义与渲染 Prompts。服务器通过 JSON-RPC 2.0 与客户端通信,支持多租户模式和多种传输场景(HTTP + Cloudflare Worker 环境)。
-
主要功能点
- MCP 服务器实现:支持 initialize、tools/list、tools/call 等 MCP 请求与响应,遵循 JSON-RPC 2.0 规范。
- Tool 管理:内置 24 种 WordPress 相关工具(Posts、Pages、Media、Categories、Tags、Comments、Storage),按类别组织,具备输入 schema,便于 LLM 调用。
- 多租户支持:通过 HTTP 头部(例如 x-wordpress-url、x-wordpress-username、x-wordpress-password)实现多站点对接,或在单租户模式下通过环境变量配置。
- 安全与鉴权:通过 MCP 客户端传来的 API Key 或 JWT 进行鉴权,并在调用时进行权限和速率限制检查。
- WordPress 集成:使用 WordPress REST API 进行实际数据操作,包含对媒体文件上传、分类、标签、评论等操作的封装。
- Cloudflare Workers 部署:设计为无状态、可扩展的服务,适配 Cloudflare Workers 的环境约束和 D1 数据库使用。
-
安装步骤(简化说明)
- 克隆仓库并安装依赖。
- 按 README 提供的本地开发指引配置 WordPress 站点、应用密码等。
- 在本地运行开发服务器(通常是 npm run dev),本地 MCP 路径为 http://localhost:8787/mcp。
- 如需生产部署,使用 Cloudflare Wrangler 将 Worker 部署到 Cloudflare 的边缘网络。
-
服务器配置(MCP 客户端需提供的配置信息) 说明:MCP 客户端需要的配置是用于连接和启动 MCP 服务器的参数,客户端不需要直接依赖内容代码。本示例以“服务器名称”为 wordpress 的配置为参考。
JSON 配置示例(server name、command、args 等,便于 MCP 客户端了解如何启动并连接该 MCP 服务器;请按实际环境替换参数): { "server": "wordpress", "description": "Cloudflare Workers 上运行的 WordPress MCP 服务端,支持多站点接入与 WordPress 操作工具", "command": "npm", "args": ["run", "dev"], "notes": "本地开发服务器监听 http://localhost:8787/mcp;生产环境请使用 Cloudflare Workers 部署后的地址,例如 https://wordpress-mcp.nodeflow.workers.dev/mcp", "mcp_endpoint": "/mcp", "example_connection": { "name": "My WordPress Site", "wp_url": "https://your-wordpress-site.com", "wp_username": "your_username", "wp_password": "your_app_password_without_spaces" } }
-
基本使用方法
- 启动:
- 在本地:执行 npm run dev,确保 MCP 服务器可在 http://localhost:8787/mcp 访问。
- 在生产环境:将 Cloudflare Worker 部署到边缘节点,生产地址即为产生的 https://<你的域名>/mcp。
- 客户端接入:
- 使用 MCP 客户端建立连接时,提供服务器名称、命令及参数(如上 JSON 配置所示),MCP 客户端将通过该信息启动并连接 MCP 服务器。
- 使用流程示例(简化描述):
- 初始化会话:向 MCP 服务器发送 initialize 请求,获取协议版本和能力。
- 获取工具列表:调用 tools/list 来获得可用工具清单。
- 调用工具:通过 tools/call 指定工具名称(如 wp_get_posts)以及参数,MCP 服务器将使用 WordPress REST API 调用对应功能并返回结果。
- 多租户调用:在请求中通过头信息传递目标 WordPress 网站的 url、用户名、应用密码,服务器据此进行连接与请求执行。
- 安全最佳实践:
- 使用多租户模式时,确保 x-wordpress-url、x-wordpress-username、x-wordpress-password 的正确性,并遵循 WordPress 应用密码管理规范(移除密码中的空格)。
- 对敏感信息进行适当的环境变量管理与日志控制,避免在日志中暴露凭据。
- 启动:
-
基本注意事项
- MCP 服务器地址与端口会随部署方式不同而改变,生产环境优先使用经过认证的边缘网络地址。
- 客户端在首次连接时应通过工具列表确认支持的工具集,避免调用不存在的工具。
-
相关链接与资料
- MCP 协议与实现参考:MCP Protocol 相关文档
- WordPress REST API 官方文档
- Cloudflare Workers 与 D1 数据库相关文档