عن المشروع

سكانتول (Scantool) هي أداة تحليل بنية الأكواد مصممة لمساعدة وكلاء البرمجة بالذكاء الاصطناعي (Claude Code وCursor وVS Code Copilot وغيرها) على فهم قواعد الأكواد بكفاءة. بدلاً من قراءة ملفات كاملة للعثور على دالة أو فئة، يحصل الوكلاء على خريطة هيكلية — كل فئة ودالة ومستدعي وعنوان مع أرقام الأسطر — في استدعاء واحد. تعمل الأداة كخادم MCP (بروتوكول سياق النموذج) وكأمر شل (`sct`)، لذا يمكن للوكلاء استخدامها عبر أي من الواجهتين. تعمل الأداة عبر محللات tree-sitter لأكثر من 20 لغة ولا تتطلب أي فهرس أو مفاتيح API أو إعدادًا يتجاوز أمرًا واحدًا. تشمل القدرات الرئيسية: البحث عن البنى مع السياق المحيط وأدلة المستدعين؛ مسح دليل بحثًا عن نقاط الدخول والدوال النشطة والملفات المركزية؛ التركيز على دالة أو عنوان واحد مع الكود الحرفي ومخطط تفصيلي بمستوى واحد؛ حساب الفروق الهيكلية بين مراجع git؛ العثور على مواقع الاستدعاء الفعلية لدالة؛ اكتشاف تداخل الفروع وتعريفات الدمج؛ فحص تغييرات سطح واجهة API العامة؛ تحديد الدوال التي تنحرف عن أنماط الاستدعاء الشقيقة؛ وحل العناوين عبر مراجع git. إلى جانب الكود المصدري، يتعامل سكانتول مع المستندات — عناوين Markdown وجداول وطرق عرض SQL ومفاتيح YAML/TOML/JSON ومحددات CSS والمزيد — كبنية قابلة للعنونة مع نطاقات أسطر. تقوم الأداة بتحليل الملفات عند الطلب وتخزينها مؤقتًا حسب معرف blob في git، بحيث لا يتم تحليل نفس البايتات عند مرجع أو في stdin أو في العملية التالية مرتين. تُعرض الدوال كهياكل عظمية مكثفة مع الاحتفاظ بتدفق التحكم والاستدعاءات والإرجاعات مع طي العبارات التافهة. تتضمن كل إجابة سطر تغطية يحسب الملفات التي تمت رؤيتها والبنى المعروضة وما تم استبعاده. عند القياس على حلقات وكيل حقيقية، قلل سكانتول استهلاك الرموز المميزة بمقدار 25 ضعفًا للبحث الموجّه (378 رمزًا مقابل 9,370 مع grep) و75% للقراءات المركّزة (13,523 مقابل 54,337 رمزًا) مع تغطية حقائق دون تغيير. عبر 22 حلقة، حقق وكلاء سكانتول تغطية حقائق بنسبة 88% مقابل 73% للوكلاء المعتمدين على grep فقط. لا يزال grep يتفوق في عمليات البحث الحرفية البسيطة والنظرات العامة ذات المستوى الأعلى بعامل 1.4 و1.6 على التوالي. تشمل اللغات المدعومة: بايثون وجافاسكربت وتايبسكريبت وRust وGo وC وC++ وجافا وPHP وC# وRuby وZig وSwift وSQL وHTML وCSS وSCSS وYAML وMarkdown ودفاتر Jupyter والنص العادي وJSON وTOML والصور. الملفات التالفة تنحدر إلى استخراج التعبيرات النمطية. بالمقارنة مع خوادم MCP الأخرى لاستكشاف الأكواد: Repomix يحزم المستودع بأكمله في ملف واحد؛ Serena يستخدم خوادم اللغات رمزًا برمز ويمكنه تعديل الكود؛ claude-context يستخدم فهرس تضمين مع قاعدة بيانات متجهة ويتطلب مفاتيح API. نهج سكانتول — التحليل عند الطلب دون فهرس — يتجنب تلك التكاليف مع استخراج بنية المستندات التي لا تعالجها أي من الأدوات الأخرى. يتطلب التثبيت uv، ثم أمرًا واحدًا لتسجيل خادم MCP. الأداة مرخصة بموجب MIT ومبنية على FastMCP وtree-sitter وuv.