
Anh Tuan
Data Science Expert
Đã xuất bản Sep 23, 2026
Đã cập nhật Sep 23, 2026 · đọc tối thiểu

solve_captcha. rtrvr tài liệu một hành động trình duyệt tích hợp với tên này, trong khi máy chủ MCP bên ngoài nhập một công cụ có định dạng riêng như capsolver.solve_captcha.rtrvr kết hợp mở rộng Chrome, trình duyệt đám mây, API, MCP, CLI và SDK để thực hiện công việc trình duyệt dựa trên trợ lý. Lớp gọi công cụ của nó cũng có thể kết nối máy chủ MCP bên ngoài và gọi các công cụ của chúng từ trò chuyện hoặc các chương trình con JavaScript tái sử dụng. CapSolver phù hợp với kiến trúc này như một dịch vụ xử lý thử thách riêng biệt cho các trang web và môi trường kiểm thử bạn sở hữu hoặc được phép tự động hóa.
Hướng dẫn này trình bày tích hợp hẹp mà hai giao diện được tài liệu thực sự hỗ trợ. rtrvr giữ quyền kiểm soát tab trình duyệt đang hoạt động. CapSolver MCP cung cấp một công cụ chế độ token có kiểu. Một chương trình con rtrvr nhỏ xác minh yêu cầu, gọi công cụ MCP có định dạng, và trả về kết quả cấu trúc cho quy trình. Cập nhật trang cuối cùng vẫn là bước của ứng dụng cụ thể vì mã CAPTCHA được gắn với bối cảnh thử thách và không phải là kết quả nhấp chung.
Hướng dẫn này không giả định một liên minh chính thức giữa các sản phẩm. Nó cũng không tuyên bố rằng CapSolver MCP có thể gắn với đối tượng trình duyệt nội bộ của rtrvr. Thay vào đó, nó sử dụng hợp đồng công cụ bên ngoài đã công bố của rtrvr và lược đồ công cụ MCP đã công bố của CapSolver.
Tài liệu Gọi công cụ của rtrvr nói rằng người dùng có thể kết nối máy chủ MCP bằng URL, kích hoạt các công cụ được nhập, gọi chúng trực tiếp với @toolname, và kết hợp chúng bên trong một công cụ tùy chỉnh với rtrvr.callTool(name, params). Các công cụ MCP được nhập được lưu với tiền tố máy chủ, điều này quan trọng khi hai hệ thống công bố cùng tên công cụ.
Tài liệu Dịch vụ MCP của CapSolver tiết lộ năm công cụ:
| Công cụ | Yêu cầu trình duyệt trong quy trình MCP? | Phù hợp nhất trong tích hợp này |
|---|---|---|
solve_captcha |
Không | Trả về một mã token từ các tham số thử thách cụ thể |
get_supported_captchas |
Không | Xác minh phát hiện công cụ và xử lý được hỗ trợ |
get_balance |
Không | Xác minh xác thực trước khi kiểm tra |
detect_captchas |
Có | Kiểm tra URL trong trình duyệt Playwright riêng |
solve_on_page |
Có | Mở, kiểm tra và điền vào trang Playwright riêng |
Đối với tab rtrvr đã đăng nhập, solve_captcha là điểm bắt đầu thực tế. Các công cụ MCP dựa trên trình duyệt bắt đầu phiên Playwright riêng của chúng. Chúng không nhận tab hiện tại, cookie, kho lưu trữ cục bộ hoặc trạng thái trang của rtrvr. Điều này khiến solve_on_page hữu ích cho kiểm tra trang độc lập, được ủy quyền, nhưng không phải là tiếp nối trong suốt phiên rtrvr hiện tại.
Cũng có một xung đột tên để xử lý một cách có chủ ý. rtrvr tài liệu solve_captcha là một trong những công cụ pageAction tích hợp của nó. CapSolver MCP công bố một công cụ với tên ngắn giống nhau. Sau khi kết nối máy chủ bên ngoài, kiểm tra danh sách công cụ và gọi tên đầy đủ được nhập, thường là capsolver.solve_captcha. Đừng để người lập kế hoạch đoán xem bạn muốn cái nào.
Giữ tích hợp trong bốn lớp:
| Lớp | Trách nhiệm | Bằng chứng cần lưu giữ |
|---|---|---|
| Trình duyệt rtrvr | Điều hướng, duy trì phiên đã ủy quyền, phân loại trang và xác minh trạng thái cuối cùng | ID tab, URL, trạng thái trang, phản hồi ứng dụng cuối cùng |
| Chương trình con rtrvr | Xác minh đầu vào, chọn công cụ có định dạng, thiết lập giới hạn và trả về kết quả có kiểu | tên công cụ đã chọn, ID yêu cầu, trạng thái, mã lỗi |
| CapSolver MCP | Xác minh lược đồ nhiệm vụ, gọi dịch vụ CapSolver và trả về giải pháp cấu trúc hoặc lỗi | cờ thành công, loại thử thách, trường lỗi được tài liệu |
| Ứng dụng đích | Chấp nhận hoặc từ chối mã token theo đường tích hợp hỗ trợ của riêng nó | chấp nhận phía máy chủ, thay đổi đường dẫn, kết quả miền mong muốn |
Sự phân tách này ngăn ba sai lầm phổ biến. Thứ nhất, mô hình không tạo ra các trường nhiệm vụ. Thứ hai, phản hồi mã token không được ghi nhận là hành động kinh doanh đã hoàn thành. Thứ ba, từ chối truy cập, tường đăng nhập, yêu cầu MFA hoặc thử thách không được hỗ trợ không được gửi lặp lại đến người giải quyết.
Sử dụng mẫu này chỉ trên các hệ thống bạn sở hữu hoặc có quyền kiểm tra hoặc tự động hóa. Giữ các quy trình nhạy cảm như thanh toán, xác minh danh tính, tạo tài khoản, truy cập dữ liệu riêng và các quy trình khác phía sau sự phê duyệt của con người và các quy tắc dịch vụ liên quan.
rtrvr kết nối máy chủ MCP bên ngoài bằng URL, trong khi CapSolver MCP mặc định sử dụng stdio. Bắt đầu cùng máy chủ với HTTP có thể truyền tải để phần mở rộng rtrvr có thể truy cập được.
python -m venv .venv
source .venv/bin/activate
pip install capsolver-core
pip install capsolver-mcp
export CAPSOLVER_API_KEY="YOUR_CAPSOLVER_API_KEY"
capsolver-mcp --transport streamable-http --host 127.0.0.1 --port 8000
SDK Python MCP chính thức sử dụng /mcp như đường dẫn HTTP có thể truyền tải mặc định, do đó điểm cuối cục bộ là:
http://127.0.0.1:8000/mcp
Gắn với 127.0.0.1 giữ dịch vụ cục bộ. Tùy chọn --api-key hoặc biến môi trường CAPSOLVER_API_KEY xác thực máy chủ với CapSolver; nó không phải là lớp xác thực khách cho bất kỳ ai có thể truy cập cổng MCP. Không gắn lệnh này trực tiếp với giao diện công khai. Nếu môi trường rtrvr từ xa phải truy cập, triển khai nó phía sau HTTPS được xác thực, giới hạn mạng được phép, bảo vệ khóa API trong kho bí mật và xem xét cài đặt nguồn gốc và giao thức của máy chủ MCP.
Các công cụ chế độ token không yêu cầu Playwright. Cài đặt phần mở rộng trình duyệt chỉ khi bạn có sử dụng được ủy quyền riêng cho detect_captchas hoặc solve_on_page:
pip install "capsolver-mcp[browser]"
playwright install chromium
Mở phần Công cụ của rtrvr, thêm URL MCP cục bộ và chỉ kích hoạt các công cụ mà quy trình cần. rtrvr tài liệu hỗ trợ máy chủ MCP HTTP có thể truyền tải, SSE và được bảo vệ bằng OAuth. Đối với cài đặt cục bộ này, sử dụng URL HTTP có thể truyền tải từ bước trước.
Bắt đầu với hai lời gọi không dùng trình duyệt:
@capsolver.get_supported_captchas
@capsolver.get_balance
Tiền tố chính xác được gán bởi rtrvr khi máy chủ được kết nối. Nếu khác, sử dụng tên được hiển thị trong bảng Công cụ. Một chương trình con tùy chỉnh cũng có thể gọi await rtrvr.listTools() và kiểm tra tên, mô tả, lược đồ tham số và nguồn của mọi công cụ có sẵn.
Các kiểm tra này trả lời các câu hỏi khác nhau. get_supported_captchas chứng minh rằng rtrvr phát hiện được công cụ bên ngoài. get_balance chứng minh rằng quy trình MCP nhận được thông tin xác thực hoạt động. Không kiểm tra nào chứng minh rằng một thử thách thực sự có thể được hoàn thành, nhưng cả hai đều tách biệt các lỗi cấu hình khỏi lỗi nhiệm vụ trước khi bạn dành thời gian gỡ lỗi luồng trình duyệt.
Không đặt khóa API thực tế trong lời nhắc rtrvr, ghi hình trang, ảnh chụp màn hình hoặc kho lưu trữ. Giữ nó trong môi trường quy trình MCP. Nếu quy trình ghi lại tham số công cụ, che đi mã, khóa, URL chứa tham số truy vấn nhạy cảm và bất kỳ định danh nào cụ thể của mục tiêu trước khi lưu giữ nhật ký.
Nhận mã thưởng CapSolver của bạn
Tăng ngân sách tự động hóa của bạn ngay lập tức!
Sử dụng mã thưởng CAP26 khi nạp tiền cho tài khoản CapSolver để nhận thêm 5% thưởng cho mỗi lần nạp tiền — không giới hạn.
Nhận mã ngay hôm nay trong Bảng điều khiển CapSolver
Các công cụ JavaScript tùy chỉnh của rtrvr có thể gọi các công cụ MCP được kết nối thông qua rtrvr.callTool. Chương trình con sau thực hiện bốn việc trước khi trả về mã token: xác minh URL, cho phép các loại thử thách được hỗ trợ, phát hiện công cụ bên ngoài có định dạng và chuẩn hóa các trạng thái thất bại.
const allowedTypes = new Set(["reCaptchaV2", "reCaptchaV3", "cloudflare"]);
function fail(state, message, details = {}) {
return { ok: false, state, message, ...details };
}
if (!allowedTypes.has(captchaType)) {
return fail("unsupported_challenge", `Unsupported type: ${captchaType}`);
}
const parsed = new URL(websiteUrl);
if (parsed.protocol !== "https:") {
return fail("policy_block", "Only approved HTTPS targets are allowed");
}
const tools = await rtrvr.listTools();
const solver = tools.find((tool) =>
tool.source === "mcp" &&
(tool.name === "capsolver.solve_captcha" || tool.name.endsWith(".solve_captcha"))
);
if (!solver) {
return fail("configuration_error", "CapSolver MCP solve_captcha was not found");
}
const result = await rtrvr.callTool(solver.name, {
captcha_type: captchaType,
website_url: websiteUrl,
website_key: websiteKey,
version: version || null,
page_action: pageAction || null,
min_score: minScore || null,
invisible: invisible ?? null,
enterprise: enterprise ?? null,
cdata: cdata || null,
timeout: 90,
polling_interval: 5,
});
if (!result?.success || !result?.solution?.token) {
return fail("solve_failed", result?.error || "No token returned", {
errorCode: result?.error_code || null,
httpStatus: result?.http_status || null,
});
}
return {
ok: true,
state: "token_ready",
captchaType: result.solution.captcha_type,
token: result.solution.token,
expiresAt: result.solution.expire_time || null,
};
Định nghĩa captchaType, websiteUrl, websiteKey và các trường tùy chọn như tham số công cụ trong rtrvr. Ví dụ không cố ý quét khóa trang từ các trang bất kỳ hoặc chèn mã token vào ứng dụng không xác định. Đối với ứng dụng kiểm thử bạn kiểm soát, thêm bộ chuyển đổi riêng đọc chính xác tham số thử thách từ hợp đồng ứng dụng của bạn và gửi kết quả thông qua hình thức hoặc điểm cuối máy chủ được hỗ trợ.
Bộ kiểm tra cục bộ được bao gồm bao phủ logic nhánh điều phối với môi trường mô phỏng rtrvr. Một giao tiếp thực tế vẫn yêu cầu tài khoản rtrvr, thiết bị trình duyệt hoạt động hoặc bối cảnh đám mây, khóa API CapSolver và trang kiểm tra được ủy quyền.
Giải pháp CAPTCHA phụ thuộc vào bối cảnh. Loại thử thách, khóa trang công khai, URL trang, tên hành động, trạng thái phiên, và đôi khi dữ liệu proxy hoặc người dùng có thể ảnh hưởng đến việc ứng dụng đích chấp nhận kết quả. Do đó, luồng trình duyệt phải duy trì tab ban đầu và gửi mã token đã trả về theo cách mà ứng dụng kỳ vọng.
Sử dụng trạng thái quy trình có kiểu thay vì vòng lặp thử lại chung:
page_ready: trang mong muốn đã tải và xác minh danh tính của nó.challenge_detected: thử thách được hỗ trợ hiện diện và tham số đến từ bằng chứng trang đáng tin cậy.solve_requested: một lần gọi MCP được tạo cho trường hợp thử thách này.token_ready: dịch vụ trả về mã token, nhưng chưa có tuyên bố về thành công của ứng dụng.submitted: bộ chuyển đổi ứng dụng cụ thể đã gửi mã token trong cùng phiên được ủy quyền.accepted: đường dẫn, phản hồi API hoặc trạng thái trang mong muốn xác nhận thành công.review hoặc stopped: trạng thái mơ hồ, không được hỗ trợ, nhạy cảm hoặc vượt quá ngân sách.Không gọi solve_on_page như cách nhanh để tiếp tục luồng này. Phiên bản hiện tại của CapSolver MCP mở một trang Chromium không đầu trong công cụ này, thực hiện phát hiện và điền ở đó, sau đó đóng trình duyệt. Đó là một thao tác độc lập hợp lệ, nhưng là phiên khác với mở rộng hoặc trình duyệt đám mây của rtrvr. Chỉ sử dụng nó khi phiên riêng biệt là chấp nhận được và được ủy quyền rõ ràng.
Một phản hồi MCP thành công có nghĩa là công cụ trả về đối tượng giải pháp. Nó không có nghĩa là đăng nhập, gửi biểu mẫu, công việc trích xuất hoặc nhiệm vụ trình duyệt đã hoàn thành. Xác minh nên xảy ra trong rtrvr trên tab ban đầu.
Sử dụng ít nhất ba kiểm tra:
Nếu trang hiển thị cùng thử thách lần nữa, dừng lại sau số lần thử được cấu hình. Các vòng lặp thử thách lặp lại có thể chỉ ra mã token đã hết hạn, tham số không khớp, không nhất quán của proxy hoặc người dùng, biến thể thử thách không được hỗ trợ hoặc quyết định chính sách truy cập rộng hơn. Nhiều cuộc gọi hơn không chứng minh tiến triển.
Ghi lại trạng thái và mã lỗi, không phải bí mật. Một sự kiện hữu ích chứa ID liên kết, thời gian, tên công cụ, loại thử thách, máy chủ đích, số lần thử, chuyển đổi trạng thái, độ trễ và kết quả ứng dụng cuối cùng. Không lưu giữ mã giải pháp hoặc khóa API trong nhật ký thông thường.
| Triệu chứng | Nguyên nhân có thể | Kiểm tra |
|---|---|---|
| Máy chủ MCP không xuất hiện | URL sai, quy trình dừng hoặc xung đột giao thức | Xác minh http://127.0.0.1:8000/mcp và chế độ HTTP có thể truyền tải |
capsolver.solve_captcha bị thiếu |
Công cụ được nhập bị vô hiệu hóa hoặc tiền tố máy chủ khác | Mở bảng Công cụ hoặc kiểm tra rtrvr.listTools() |
Một solve_captcha khác chạy |
Xung đột tên ngắn với hành động trang tích hợp của rtrvr | Gọi tên công cụ MCP có định dạng đầy đủ |
| Kiểm tra số dư thất bại | Khóa API thiếu hoặc không hợp lệ trong quy trình MCP | Kiểm tra biến môi trường và khởi động lại máy chủ |
| Công cụ trả về loại không được hỗ trợ | captcha_type không khớp với danh sách được công bố |
Sử dụng get_supported_captchas và danh sách cho phép |
| Mã token được trả về nhưng trang không tiếp tục | Tham số thử thách sai, bối cảnh hết hạn hoặc thiếu nộp ứng dụng cụ thể | Đọc lại bằng chứng trang đáng tin cậy và xác minh phản hồi đích |
solve_on_page thành công ở nơi khác nhưng tab rtrvr không thay đổi |
Công cụ khởi động phiên trình duyệt riêng | Sử dụng chế độ token cho phiên rtrvr và nộp thông qua bộ chuyển đổi được phê duyệt |
| Kết nối từ xa bị từ chối | Gắn kết chỉ Localhost, bảo vệ chống tái liên kết DNS, hoặc thiếu proxy xác thực | Sử dụng triển khai HTTPS được phê duyệt với cấu hình mạng và nguồn rõ ràng |
Trước khi chuyển sang trang thử nghiệm, xác nhận tất cả các điều sau:
Danh sách này quan trọng hơn việc thêm một lời nhắc kế hoạch mới. Hầu hết các lỗi tích hợp xảy ra ở ranh giới giữa trạng thái trình duyệt, đầu vào công cụ, đầu ra dịch vụ và việc chấp nhận ứng dụng. Đó là các hợp đồng chạy thời gian, không phải vấn đề suy luận mô hình ngôn ngữ.
rtrvr cung cấp bề mặt công cụ bên ngoài cần thiết để gọi CapSolver MCP, nhưng tích hợp đáng tin cậy hẹp hơn việc chỉ bật một công cụ. Bắt đầu CapSolver MCP qua HTTP có thể truyền tải, kết nối điểm cuối trong rtrvr, xác minh phát hiện bằng công cụ không phải trình duyệt, và gọi nhà giải toán bên ngoài bằng tên đã được kiểm tra. Đối với phiên rtrvr hoạt động, sử dụng chế độ token và giữ việc gửi trang và xác minh kết quả bên trong quy trình trình duyệt gốc. Xem các công cụ trình duyệt riêng biệt là các phiên riêng biệt, giữ bằng chứng đã nhập, và dừng lại ở các trạng thái không hỗ trợ hoặc không rõ ràng. Trong các quy trình trình duyệt người dùng được ủy quyền, CapSolver cung cấp công cụ thử thách đã được tài liệu hóa trong khi rtrvr vẫn chịu trách nhiệm về ngữ cảnh trình duyệt và thành công ứng dụng cuối cùng.
Xem 5 công cụ đã công bố trong tài liệu MCP của CapSolver, sau đó kết nối điểm cuối cục bộ hoặc được bảo vệ đúng cách từ bảng công cụ của rtrvr. Sử dụng Bảng điều khiển CapSolver để kiểm tra một quy trình được phê duyệt trước khi mở rộng tích hợp.
Câu hỏi: rtrvr có tích hợp CapSolver bản địa không?
Tài liệu đã được xem không tuyên bố có hợp tác bản địa hoặc nhà cung cấp CapSolver tích hợp sẵn. Tích hợp trong hướng dẫn này sử dụng kết nối công cụ MCP chung của rtrvr và máy chủ MCP công khai của CapSolver.
Câu hỏi: Tại sao không gọi tên ngắn solve_captcha?
rtrvr tài liệu có hành động trình duyệt tích hợp sẵn với tên này, và CapSolver MCP công bố tên ngắn giống nhau. Sử dụng tên đã nhập có định danh được hiển thị trong bảng công cụ, chẳng hạn như capsolver.solve_captcha, để tránh mơ hồ.
Câu hỏi: CapSolver MCP có thể sử dụng tab trình duyệt đã mở trong rtrvr không?
Không qua các công cụ MCP được tài liệu hóa. Chế độ token cần tham số thử thách rõ ràng và trả về token, trong khi các công cụ chế độ trình duyệt khởi chạy trình duyệt Playwright riêng.
Câu hỏi: Tôi có nên mở cổng MCP cục bộ cho internet không?
Không. Giữ nó trên localhost cho mục đích cục bộ. Một triển khai chia sẻ cần HTTPS xác thực, giới hạn mạng, quản lý bí mật, kiểm soát nguồn và đánh giá bảo mật rõ ràng.
Câu hỏi: Làm thế nào để biết nhiệm vụ trình duyệt thành công?
Xác minh kết quả trong tab rtrvr gốc bằng cách sử dụng tuyến đường mong đợi, trạng thái DOM, phản hồi API và kết quả kinh doanh. Chỉ một token được trả về không phải là bằng chứng thành công.

Anh Tuan
Data Science Expert
Turning task outcomes into actionable insights.
GIỚI THIỆU TÁC GIẢ
Xử lý các CAPTCHA chưa giải quyết trong luồng công việc của AI với giới hạn thử lại rõ ràng, chuyển giao cho con người hiệu quả, sở hữu trình duyệt được kiểm soát và tiếp tục công việc được xác minh.

Hãy học cách các tác nhân AI phát hiện CAPTCHAs bằng SDK Core CapSolver, chạy một ví dụ Python đã được kiểm tra và tách biệt việc phát hiện khỏi việc giải quyết và hoàn thành quy trình.
