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 客户端配置。
- 提供两种 MCP 工具:
-
安装步骤(简要)
- 确保环境中安装了 Node.js(或 Bun)并具备对 OpenAI API 的访问能力(如需要进行一致性检查时)。
- 获取源码并安装依赖;构建 dist 产物(入口通常在 rcaptcha-skill/dist/index.js)。
- 直接运行 MCP 服务端技能入口(通过 Node/Bun 执行 dist/index.js),或按你的部署方式将其作为独立进程启动。
- MCP 客户端接入时需告知服务器启动命令与参数(见下方配置示例)。
-
服务器配置(MCP 客户端需要的最小配置信息) 说明:MCP 客户端需要知道如何启动并连接到该 MCP 服务器。以下为一个准确的配置示例(不作为代码块展示,便于理解): { "server": "rcaptcha", "command": "node", "args": ["/path/to/rcaptcha-skill/dist/index.js"] // 说明:启动 rcaptcha MCP 服务端技能的入口程序 }
-
基本使用方法
- 启动 MCP 服务端技能:在你的部署环境中以 node 或 bun 运行 dist/index.js,使其成为一个可被 MCP 客户端发现的工具服务端。
- 在 MCP 客户端(如 Claude Code、OpenClaw 等)中注册该服务器,发现工具列表(将显示 rcaptcha_get_challenge 与 rcaptcha_submit)。
- 使用 rcaptcha_get_challenge 工具,传入服务器地址等参数,获取一个挑战的描述信息。
- 根据返回的挑战信息构造答案并调用 rcaptcha_submit,将 challengeId 与答案提交。
- 若验证成功,将获得一个 token,后续对需要令牌的后端服务的请求即可携带该 token 进行访问控制。