rcaptcha MCP 服务端技能(Two-Call Flow)

使用说明(Markdown 格式)

  • 项目简介

    • 这是一个 MCP(Model Context Protocol)服务端实现,旨在为 LLM 客户端提供可调用的外部功能。通过 rcaptcha_get_challenge 与 rcaptcha_submit 两个工具,实现一个两步验证流程,便于代理在与目标服务交互前进行自证。
    • 该实现属于“工具服务端”类型的 MCP 服务端,采用 OpenAI 相关的 MCP 生态的工具暴露方式,供 MCP 客户端发现并调用。
  • 主要功能点

    • 提供两种 MCP 工具:
      • rcaptcha_get_challenge:从 rCAPTCHA 服务端获取一个挑战的描述数据(包含需要使用的单词、字数等)。
      • rcaptcha_submit:提交对当前挑战的回答,并返回验证结果以及可能的访问令牌(用于后续请求验证)。
    • 通过 MCP SDK 提供 ListToolsRequestSchema 与 CallToolRequestSchema 的标准接口实现工具发现和调用。 节点间通过 MCP 的 JSON-RPC 风格通信,便于与各类 LLM 客户端集成。
    • 设计上兼容两步流:先获取挑战,再提交答案,完成后获得令牌以访问受保护的后端服务。
    • 运行时独立、可嵌入到现有的 MCP 客户端工作流中,支持标准的 MCP 客户端配置。
  • 安装步骤(简要)

    1. 确保环境中安装了 Node.js(或 Bun)并具备对 OpenAI API 的访问能力(如需要进行一致性检查时)。
    2. 获取源码并安装依赖;构建 dist 产物(入口通常在 rcaptcha-skill/dist/index.js)。
    3. 直接运行 MCP 服务端技能入口(通过 Node/Bun 执行 dist/index.js),或按你的部署方式将其作为独立进程启动。
    4. MCP 客户端接入时需告知服务器启动命令与参数(见下方配置示例)。
  • 服务器配置(MCP 客户端需要的最小配置信息) 说明:MCP 客户端需要知道如何启动并连接到该 MCP 服务器。以下为一个准确的配置示例(不作为代码块展示,便于理解): { "server": "rcaptcha", "command": "node", "args": ["/path/to/rcaptcha-skill/dist/index.js"] // 说明:启动 rcaptcha MCP 服务端技能的入口程序 }

  • 基本使用方法

    1. 启动 MCP 服务端技能:在你的部署环境中以 node 或 bun 运行 dist/index.js,使其成为一个可被 MCP 客户端发现的工具服务端。
    2. 在 MCP 客户端(如 Claude Code、OpenClaw 等)中注册该服务器,发现工具列表(将显示 rcaptcha_get_challenge 与 rcaptcha_submit)。
    3. 使用 rcaptcha_get_challenge 工具,传入服务器地址等参数,获取一个挑战的描述信息。
    4. 根据返回的挑战信息构造答案并调用 rcaptcha_submit,将 challengeId 与答案提交。
    5. 若验证成功,将获得一个 token,后续对需要令牌的后端服务的请求即可携带该 token 进行访问控制。

服务器信息