ruflo-captcha-solver-mcp-tool
Ruflo에 CAPTCHA 솔버 도구를 추가하는 방법
실행 가능한 픽스처 우선 stdio MCP 보조 도구로, 복구 시도 1회, 제한된 폴링, 구조화된 검증, 인간 인계를 제공합니다.
English · 简体中文 · 日本語 · Español · Português · 한국어
소개
승인된 Ruflo 워크플로에 CAPTCHA로 인한 중단이 발생하면, 검증된 결과를 반환하거나 인간 검토를 위해 중지하는 제한된 복구 도구가 필요합니다. 이 보조 MCP 서버는 Ruflo 작업이 명시적 승인과 지원되는 챌린지 신호가 있을 때만 CapSolver를 호출할 수 있는 방법을 보여줍니다. Ruflo를 수정하지 않으며 공식 파트너십을 주장하지 않습니다. API 작업 객체는 호출자 검토를 거치므로 이 예제는 제품 필드를 임의로 만들지 않습니다.
Related MCP server: M365 Copilot Web Bridge
기능
MCP 도구 1개:
captcha_solver_recover_once명시적 승인 및 챌린지 게이트
멱등성을 위한 안정적인 복구 ID
생성 호출 1회 및 결과 폴링 최대 5회
타임아웃, 구조화된 오류, 인간 인계
오프라인 픽스처; 실제 키나 대상 불필요
작동 방식
Ruflo는 승인된 작업을 로컬 stdio 서버로 라우팅합니다. 이 도구는 공식 작업 생성 계약을 사용하기 전에 승인, 챌린지 상태, 컨텍스트, 예산을 검증합니다. 준비된 솔루션만 수락하며, 그렇지 않으면 설정된 예산 내에서 폴링하다가 안전하게 중지합니다.
아키텍처
Ruflo → MCP tools/call → policy gates → CapSolver client → result validator → resume or human handoff
빠른 시작
npm test
npm run smoke
CAPSOLVER_API_KEY=replace_me npm startRuflo의 Web UI에서 MCP (n) → Add Server를 열고, stdio 서버를 선택한 다음, 로컬 명령으로 node src/server.js를 사용하세요. Ruflo는 HTTP 및 SSE 엔드포인트도 문서화하지만, 이 저장소는 의도적으로 stdio만 구현합니다.
사용 방법
examples/tool-call.json을 픽스처 형태로 사용하세요. task는 공식 createTask 요청 계약에 따라 검토된 작업 객체로만 교체하세요. 결과 폴링은 공식 getTaskResult 수명 주기를 따릅니다.
예제 출력
{"ok":true,"status":"ready","recoveryId":"qa-run-0001","polls":1,"solution":{"fixtureResult":"ok"}}지원되는 시나리오
소유한 테스트 픽스처, 명시적으로 승인된 QA, 승인된 대상에 대한 비례적 자동화를 지원합니다. 지원되지 않는 상태는 인간 검토를 위해 중지됩니다.
프로젝트 구조
src/server.js— stdio JSON-RPC 라우터src/tool.js— MCP 도구 정의 및 안전한 오류 매핑src/recovery.js— 제한된 복구 계약tests/— 오프라인 단위 테스트examples/— 픽스처 전용 도구 호출
테스트
npm test
npm run smoke테스트는 주입된 클라이언트를 사용하며 실제 API를 호출하지 않습니다.
문제 해결
AUTHORIZATION_REQUIRED, NO_SUPPORTED_CHALLENGE, DUPLICATE_RECOVERY, TIMEOUT, BUDGET_EXHAUSTED는 중지 신호입니다. 작업을 검토하고 무한히 재시도하는 대신 인간에게 넘기세요.
책임 있는 사용
공개 데이터, 소유한 시스템, 또는 명시적 서면 승인을 받은 대상만 사용하세요. 접근 정책, 약관, 속도 제한, 보존 제한, 인간의 중지 결정을 존중하세요. 이 예제를 개인 데이터, 자격 증명, 민감한 개인 정보, 무제한 수집, 또는 무단 접근에 사용하지 마세요.
기여
변경 사항은 픽스처 우선, 제한적, 실패 시 폐쇄 방식으로 유지하세요. 풀 리퀘스트 전에 두 검사를 모두 실행하세요.
보안
키, 쿠키, 브라우저 프로필, 비공개 대상 URL, 프로덕션 응답을 절대 커밋하지 마세요. SECURITY.md를 참조하세요.
결론
이 보조 도구는 라우팅, 예산, 검증, 인간 통제를 명시적으로 유지하면서 Ruflo에 작고 감사 가능한 복구 경계를 제공합니다. 승인된 프로덕션 어댑터의 경우, 사용 전에 CapSolver 문서와 모든 작업 필드를 대조 확인하세요.
메인테이너 메모
CapSolver 통합 예제를 공유하는 개발자입니다.
라이선스
MIT
Available Tools
1 toolcaptcha_solver_recover_onceC
Perform one bounded CAPTCHA recovery for an explicitly authorized Ruflo task.
| Name | Required | Description | Default |
|---|---|---|---|
| task | Yes | ||
| budget | No | ||
| context | Yes | ||
| authorization | Yes | ||
| challengeDetected | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral disclosure burden. It mentions 'bounded' (implying a polling limit) and 'recovery' (implying a state change), but fails to disclose side effects, failure modes, whether the operation is destructive, or what happens if authorization is insufficient. An agent is left guessing about the tool's actual impact.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A tightly written single sentence that front-loads the action and scope. Every word earns its place, avoiding filler or redundant phrasing. It is appropriately concise for the action described, though it sacrifices explanatory depth for brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (5 parameters, nested objects, no output schema, no annotations), the description is grossly insufficient. It does not explain what 'CAPTCHA recovery' entails, how the polling budget works, what constitutes a valid 'task', or what the response will be. An agent cannot reliably construct a correct invocation from this description alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the description provides no parameter-level explanation. The terms 'authorization', 'challengeDetected', 'task', 'context', and 'budget' appear in the schema, but the description gives no hints about their meanings, relationships, or expected values. The agent must infer everything from the schema alone, which the description should supplement.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Perform') and a clear resource ('CAPTCHA recovery'), with a scope constraint ('one bounded') and a precondition ('explicitly authorized Ruflo task'). It clearly communicates the core action, though 'Ruflo' is undefined jargon that may confuse an agent outside that domain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies it should be used only when a CAPTCHA is detected and authorization is explicit, as reflected in the schema constants. However, it gives no explicit when-not-to-use guidance, no mention of alternatives (though no siblings exist), and no context about when recovery would fail or should be retried.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
v1.0.0- First observed
captcha_solver_recover_once
TDQS
Scored across 1 tool
Only one tool exists, so there is no possibility of confusion between tools. The tool's purpose is specific (recover once) even if the underlying 'Ruflo task' is opaque.
With a single tool, naming consistency is trivially maintained. The name 'captcha_solver_recover_once' follows a clear verb_noun_adverb pattern without conflicting conventions.
A single tool is far too few for a CAPTCHA solver domain. Typical workflows require multiple operations (solve, verify, status), so this feels like a deliberately minimal or unfinished server.
The sole tool covers a narrow 'recover once' action, but lacks standard CAPTCHA operations like solving, verification, or result retrieval. The surface is severely incomplete for the stated purpose.
Maintenance
Related MCP Connectors
Browser MCP for logged-in tasks. Uses your Chrome — credentials stay local. Zero-token replay.
Remote MCP for C2PA intake verifier MCP, structured receipts, audit logs, and reviewer-ready evidenc
A paid remote MCP for CLI tool MCP, built to return verdicts, receipts, usage logs, and audit-ready
Verified component catalog over remote MCP: agents pick component ids and get a stamped project repo that builds. Connect at https://www.botkelp.com/mcp. Auth: MCP OAuth 2.1, or a Bearer bk_live_ API key; initialize and tools/list are open.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables AI agents to manage secrets and credentials from a secure vault via MCP tools over stdio.7MIT
- AlicenseNot gradedqualityDmaintenanceExposes a user-authenticated Microsoft 365 Copilot Chat browser session as a stdio MCP server, enabling AI-powered chat interactions via MCP tools like copilot_chat and copilot_status.2MIT
- AlicenseCqualityAmaintenanceMCP stdio bridge for the Delx Protocol: continuity, witness, recovery, ontology and passport tools.10037 npmMIT
- AlicenseBqualityDmaintenanceA local, evidence-driven MCP runtime and control plane for open-source maintainers that provides workspace-bounded tools including controlled file operations, command execution, validation primitives, durable execution records, and human review workflows via stdio and Streamable HTTP transports.33MIT