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" } }

  • 基本使用方法

    1. 启动:
      • 在本地:执行 npm run dev,确保 MCP 服务器可在 http://localhost:8787/mcp 访问。
      • 在生产环境:将 Cloudflare Worker 部署到边缘节点,生产地址即为产生的 https://<你的域名>/mcp。
    2. 客户端接入:
      • 使用 MCP 客户端建立连接时,提供服务器名称、命令及参数(如上 JSON 配置所示),MCP 客户端将通过该信息启动并连接 MCP 服务器。
    3. 使用流程示例(简化描述):
      • 初始化会话:向 MCP 服务器发送 initialize 请求,获取协议版本和能力。
      • 获取工具列表:调用 tools/list 来获得可用工具清单。
      • 调用工具:通过 tools/call 指定工具名称(如 wp_get_posts)以及参数,MCP 服务器将使用 WordPress REST API 调用对应功能并返回结果。
      • 多租户调用:在请求中通过头信息传递目标 WordPress 网站的 url、用户名、应用密码,服务器据此进行连接与请求执行。
    4. 安全最佳实践:
      • 使用多租户模式时,确保 x-wordpress-url、x-wordpress-username、x-wordpress-password 的正确性,并遵循 WordPress 应用密码管理规范(移除密码中的空格)。
      • 对敏感信息进行适当的环境变量管理与日志控制,避免在日志中暴露凭据。
  • 基本注意事项

    • MCP 服务器地址与端口会随部署方式不同而改变,生产环境优先使用经过认证的边缘网络地址。
    • 客户端在首次连接时应通过工具列表确认支持的工具集,避免调用不存在的工具。
  • 相关链接与资料

    • MCP 协议与实现参考:MCP Protocol 相关文档
    • WordPress REST API 官方文档
    • Cloudflare Workers 与 D1 数据库相关文档

服务器信息