
Anh Tuan
Data Science Expert

Tích hợp giải pháp MCP Cloudflare Turnstile cung cấp cho khách hàng AI một ranh giới công cụ được kiểm soát để xử lý một thử thách trong quy trình được xác thực. CapSolver tài liệu capsolver-mcp như một tùy chọn cho các khách hàng tương thích với MCP, trong khi hướng dẫn AI-agent tách biệt phát hiện cục bộ và điền lại từ nhận dạng được thực hiện bởi dịch vụ.
Mục tiêu thiết kế hữu ích là phục hồi, không phải duyệt web không giới hạn. Agent của bạn phát hiện bước bị chặn, kiểm tra phạm vi, tổng hợp các tham số được tài liệu, gọi một công cụ, xác minh kết quả trả về, và tiếp tục hoặc dừng để xem xét.
Trước khi kết nối công cụ, xác định các miền được phê duyệt, hành động được phép, số lần thử tối đa, quy tắc ghi nhật ký và điều kiện xem xét của con người. Client cũng cần môi trường chạy MCP được hỗ trợ bởi hệ thống của nó và một chứng chỉ CapSolver được lưu trữ trong kho lưu trữ bí mật; không bao giờ đặt chứng chỉ thực tế trong lời nhắc hoặc kiểm soát nguồn.
Cloudflare giải thích rằng một widget Turnstile tạo ra một token mà trang xác minh phía máy chủ, do đó token riêng lẻ không phải là bằng chứng rằng hành động kinh doanh đã thành công. Xem hướng dẫn luồng triển khai Turnstile và tổng quan Turnstile của Cloudflare để biết mô hình phía người bảo vệ.
Sử dụng gói và cấu hình hiện tại được hiển thị trong tài liệu CapSolver Core SDK chính thức. Lệnh cài đặt chính xác không được lặp lại có chủ ý ở đây vì vị trí gói và khách hàng được hỗ trợ có thể thay đổi. Sau khi cài đặt, xác nhận rằng client liệt kê các công cụ CapSolver mong muốn, sau đó ngắt kết nối một cách sạch sẽ trước khi đặt cấu hình vào môi trường chia sẻ.
Bài viết này không thực hiện cuộc gọi xác thực có chứng chỉ. Bài kiểm tra này vẫn là một yêu cầu bắt buộc được công khai; không có đầu ra công cụ nào được trình bày như bằng chứng trực tiếp.
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 tài khoản CapSolver của bạn để nhận thêm 5% thưởng cho mỗi lần nạp — không giới hạn.
Nhận mã thưởng ngay bây giờ trong Bảng điều khiển CapSolver
Giữ hợp đồng phía mô hình hẹp. Đầu vào nên xác định trang được phê duyệt và tham số thử thách; đầu ra nên hiển thị trạng thái và kết quả không rõ ràng mà không lặp lại thông tin xác thực. Agent không bao giờ tạo ra khóa trang, loại nhiệm vụ hoặc phản hồi thành công.
Một vòng lặp vững chắc có năm trạng thái: detected, authorized, submitted, verified, và stopped. Chuyển sang verified chỉ sau khi trình duyệt quan sát thấy trạng thái trang mong muốn. Nếu nhiệm vụ vẫn đang xử lý, kiểm tra trong một ngân sách cố định dựa trên chu kỳ cuộc sống nhiệm vụ của CapSolver. Dừng lại khi có lỗi lặp lại thay vì tạo ra vòng lặp thử lại không giới hạn.
Tách lỗi cấu hình khỏi thất bại thử thách. Tham số thiếu nên thất bại trước bất kỳ cuộc gọi API nào. Lỗi dịch vụ nên giữ lại một định danh liên kết nhưng che đi thông tin xác thực và token trả về. Lỗi trình duyệt không khớp nên giữ lại hình ảnh chụp màn hình hoặc xác nhận DOM chỉ khi bằng chứng đó không chứa dữ liệu nhạy cảm.
Đối với bối cảnh giao thức, giới thiệu MCP chính thức mô tả ranh giới client-server. Ranh giới này hữu ích cho việc thực thi chính sách vì agent có thể bị từ chối truy cập công cụ trừ khi yêu cầu đáp ứng danh sách cho phép của bạn.
Dịch vụ MCP của CapSolver được xây dựng trên cùng SDK lõi được sử dụng bởi tích hợp Python trực tiếp. Cài đặt gói hỗ trợ trình duyệt chỉ trong môi trường cô lập, sau đó xuất công cụ thông qua cấu hình của client MCP của bạn. Gói chính thức hiện được cài đặt từ GitHub thay vì PyPI:
python -m venv .venv
source .venv/bin/activate
pip install "capsolver-core[playwright] @ git+https://github.com/capsolver-ai/capsolver-core.git"
playwright install chromium
Lưu CAPSOLVER_API_KEY trong kho lưu trữ bí mật của hệ thống. Không đặt giá trị đó trong JSON MCP, bài viết, kho lưu trữ nguồn hoặc tham số có thể nhìn thấy bởi mô hình. Công cụ nên chấp nhận tham chiếu trang hoặc thông tin thử thách được cấu trúc, trong khi hệ thống chèn thông tin xác thực bên ngoài ngữ cảnh mô hình.
Một host MCP có thể đánh giá đối tượng chính sách trước khi phân phối. Cấu hình sau đây là chính sách ứng dụng minh họa, không phải tải trọng API của CapSolver:
{
"allowedDomains": ["staging.example.com"],
"allowedCaptchaTypes": ["cloudflare"],
"maxAttempts": 2,
"timeoutSeconds": 120,
"requireHumanReviewForStateChange": true,
"logToken": false
}
Xác minh tệp này với trình tải cấu hình tại khởi động. Từ chối các trường không biết để một lỗi gõ không thể vô tình vô hiệu hóa một kiểm soát.
Khi ứng dụng của bạn đã biết URL trang và khóa trang, CapSolver tài liệu AntiTurnstileTaskProxyLess. Các trường nhiệm vụ bắt buộc là type, websiteURL, và websiteKey; metadata.action và metadata.cdata là tùy chọn khi các giá trị đó tồn tại trên widget.
import os
import time
import requests
API = "https://api.capsolver.com"
def solve_turnstile(website_url: str, website_key: str) -> str:
client_key = os.environ["CAPSOLVER_API_KEY"]
create = requests.post(
f"{API}/createTask",
json={
"clientKey": client_key,
"task": {
"type": "AntiTurnstileTaskProxyLess",
"websiteURL": website_url,
"websiteKey": website_key,
},
},
timeout=30,
).json()
if create.get("errorId"):
raise RuntimeError(create.get("errorDescription", "createTask failed"))
task_id = create["taskId"]
deadline = time.monotonic() + 120
while time.monotonic() < deadline:
result = requests.post(
f"{API}/getTaskResult",
json={"clientKey": client_key, "taskId": task_id},
timeout=30,
).json()
if result.get("errorId"):
raise RuntimeError(result.get("errorDescription", "getTaskResult failed"))
if result.get("status") == "ready":
return result["solution"]["token"]
time.sleep(3)
raise TimeoutError("Turnstile task exceeded the polling budget")
Mã này được kiểm tra cú pháp nhưng không được chạy chứng chỉ trong bài viết này. Áp dụng token trả về chỉ bên trong cùng quy trình được xác thực, sau đó xác minh trạng thái trang kết quả.
Đường đi phục hồi tốt nhất của MCP nhỏ enough để kiểm toán: một miền được phê duyệt, một loại nhiệm vụ được tài liệu, một ngân sách thử lại và một khẳng định trang. Mở rộng phạm vi chỉ sau khi nhật ký cho thấy lý do thất bại. Xem FAQ của CapSolver và các bài viết tự động hóa liên quan khi lập kế hoạch hỗ trợ vận hành.
Đối với quy trình được xác thực của agent, CapSolver có thể là thành phần nhận dạng, trong khi ứng dụng của bạn vẫn chịu trách nhiệm về quyền truy cập, xử lý phiên, xác minh và dừng an toàn.
Câu hỏi: MCP có tự giải quyết Cloudflare Turnstile không?
Không. MCP định nghĩa một mẫu kết nối công cụ; dịch vụ CapSolver được cấu hình thực hiện nhận dạng trong khi client kiểm soát phát hiện, tham số và sử dụng kết quả.
Câu hỏi: Agent có thể gọi công cụ trên bất kỳ trang web nào không?
Không. Giới hạn các cuộc gọi đến các trang và hành động bạn được phép tự động hóa, và dừng lại khi quyền truy cập không rõ ràng.
Câu hỏi: Điều gì chứng minh quy trình đã thành công?
Trình duyệt phải quan sát thấy trạng thái trang sau xác minh mong muốn; token trả về riêng lẻ là không đủ.
Câu hỏi: Tokens có xuất hiện trong nhật ký không?
Không. Xem các thông tin xác thực và token trả về là bí mật và chỉ ghi lại dữ liệu vận hành được che đi.
Xây dựng một công cụ giải Cloudflare Turnstile cho Scrapy với chuyển tiếp phiên của CapSolver, middleware tải xuống, hạn mức thử lại và xác minh nội dung.

Hướng dẫn sửa chữa theo hướng theo dấu cho các đại diện Cursor gặp phải Cloudflare, tập trung vào tham số Turnstile, xác minh lưu lượng, cookies, các tín hiệu 403/429 và quy tắc dừng kế hoạch.
