حل الكابتشا
لوكلاء MCP
الوكيل الذي يصادف تحديًا لا يملك في مجموعة أدواته ما يجيب عنه، فيتوقف أو يلتف عليه بالهلوسة. زوّده بأداة حل، فيصبح العائق مجرد استدعاء آخر.
# Claude Code
claude mcp add captchano -e CAPTCHANO_API_KEY=cn-YOUR_API_KEY -- npx -y captchano-mcp
# Claude Desktop / Cursor / VS Code (mcpServers config)
{
"mcpServers": {
"captchano": {
"command": "npx",
"args": ["-y", "captchano-mcp"],
"env": {
"CAPTCHANO_API_KEY": "cn-YOUR_API_KEY",
"CAPTCHANO_MAX_SPEND_USD": "1"
}
}
}
}
# Tools: solve_captcha · get_task · get_balance · list_captcha_types
# Source (MIT): https://github.com/DishantSinghDev2/captchano-mcpلماذا يحتاج الوكلاء إلى هذا تحديدًا
أداة الـ scraping التي تصطدم بتحدٍّ تفشل بشكل واضح فتصلحها. أما الوكيل فيفشل بصمت: يستنتج حول الصفحة المحجوبة، ويختلق خطوة تالية معقولة، ويبلّغ عن تقدم لم يحققه قط. والفشل هنا أسوأ لأنه صامت. أداة حل محددة النوع تحوّل الطريق المسدود الغامض إلى نتيجة حتمية يستطيع الوكيل بناء قراراته عليها.
ما الذي تعيده الأداة
- رمز token أو ملف cookie — بحسب نوع التحدي. الأنظمة التي تقيّم الجلسة تعيد ملف cookie مع مجموعة الترويسات (headers) المستخدمة للحصول عليه.
- وكيل المستخدم المستخدَم، كي يعيد الوكيل استخدامه عند الإرسال.
- تكلفة عملية الحل، كي يتمكن الوكيل العامل ضمن ميزانية من احتسابها بدلًا من الإنفاق دون رؤية.
إبقاء الحلقة محدودة
امنح الوكيل ميزانية حل لكل تشغيل. تبلّغ كل استجابة عن تكلفتها، لذا يمكن لجهة الإشراف قطع الحلقة عندما يتجاوز الإنفاق حدًا معينًا بدلًا من اكتشاف ذلك في الفاتورة. بسعر $0.00598 لكل عملية حل، تكلف عملية تشغيل الوكيل المعتادة بضعة سنتات أو أقل، لكن حلقة إعادة المحاولة غير المحدودة تبقى حلقة غير محدودة.
اجعل استدعاء الأداة متزامنًا (blocking)
تستدعي الأمثلة ?wait=60، فتعيد الأداة رمز token جاهزًا في خطوة واحدة. وهذا أهم للوكلاء منه للسكربتات: الأداة التي تعيد "ما زال الحل جاريًا" تجبر النموذج على التفكير في الاستطلاع الدوري (polling)، وهو ما يجيده بشكل سيئ. إذا احتجت إلى سقف أطول، فارفع wait حتى 120 ثانية. أشكال الطلبات لكل أنواع التحديات موجودة في مرجع API.
كيف تندمج عملية الحل في MCP
captchano-mcp هو خادم MCP مفتوح المصدر الخاص بنا: يعرض الحل كأدوات يستطيع أي عميل MCP استدعاءها، فيتجاوز الوكيل الكابتشا باستدعاء أداة واحد ويحصل على رمز token.
- 01أضف الخادم
في Claude Code: claude mcp add captchano -e CAPTCHANO_API_KEY=cn-… -- npx -y captchano-mcp. تستخدم العملاء الأخرى أمر npx نفسه في إعدادات MCP الخاصة بها.
- 02حدّد ميزانية
اضبط اختياريًا CAPTCHANO_MAX_SPEND_USD كي يرفض الخادم أي عمليات حل إضافية بمجرد أن تبلغ الجلسة ذلك المبلغ.
- 03دع النموذج يستدعيها
عندما يرى الوكيل تحديًا، يستدعي solve_captcha مع type وsitekey وعنوان URL؛ وتخبره list_captcha_types بالحقول التي يحتاجها كل نوع.
- 04استخدم الرمز token
يمرر الوكيل الرمز token إلى أداة المتصفح الخاصة به لإدراجه وإرساله. أما عمليات الحل الطويلة فتُعيد معرّف مهمة يُتحقق منه عبر get_task.
إدخال الرمز token في الصفحة
يتلقى العميل الرمز token كنتيجة للأداة ويسلّمه إلى أداة المتصفح التي تملأ الصفحة.
أين تخطئ عمليات التكامل عادةً
احتفظ بمفتاح API في متغيرات بيئة الخادم، لا في وسائط الأداة أبدًا، كي لا يراه النموذج.
أبقِ wait=60 كي تعيد الأداة رمز token جاهزًا بدلًا من مطالبة النموذج بالاستطلاع الدوري.
الأسئلة الشائعة حول الكابتشا في MCP
هل توجد حزمة MCP رسمية لـ CaptchaNo؟
نعم. captchano-mcp هو خادمنا مفتوح المصدر (MIT) على npm وفي MCP Registry الرسمي. شغّله باستخدام npx -y captchano-mcp مع مفتاحك في CAPTCHANO_API_KEY؛ يبقى المفتاح على جهازك ولا يكون أبدًا وسيطًا للأداة.
ما عملاء MCP الذين يعمل معهم؟
أي عميل يدعم أدوات MCP عبر stdio أو HTTP، لأن الخادم لا يعرض إلا أداة قياسية.
كيف يعثر الوكيل على sitekey؟
من خلال أداة المتصفح الخاصة به: يقرأ السمة data-sitekey أو عنوان URL لصفحة التحدي ويمررهما إلى أداة الحل.
هل يمكنني تحديد ما ينفقه الوكيل؟
نعم. تتضمن كل نتيجة التكلفة، لذا يستطيع الخادم الاحتفاظ بمجموع تراكمي ورفض أي عمليات حل إضافية بعد تجاوز الميزانية.
أدلة مفيدة
هل أنت مستعد للبناء؟
ابدأ بفترة تجريبية مجانية لمدة 3 أيام، ثم ادفع مقابل كل عملية حل ناجحة مع نمو حركة المرور لديك. لا حاجة إلى بطاقة للفترة التجريبية.