عن المشروع
Scantool هو خادم بروتوكول السياق النموذجي (MCP) مصمم لتحسين تفاعلات وكلاء الذكاء الاصطناعي مع قواعد الشفرة من خلال تقديم تحليل منظم بدلاً من تفريغ الملفات الخام. مدعوم بواسطة Tree-sitter، ويدعم أكثر من 20 لغة برمجة، بما في ذلك Python، JavaScript، TypeScript، Rust، Go، C/C++، Java، PHP، C#، Ruby، Zig، Swift، SQL، HTML، CSS، وMarkdown. يستخرج الأداة الفئات، الطرق، الدوال، الاستيرادات، مخططات الاتصال، والدوال الساخنة مع أرقام أسطر دقيقة، مما يتيح للوكلاء فهم هندسة الشفرة بكفاءة.
الميزات الأساسية تشمل:
- **صفر بنية تحتية**: لا حاجة للفهرسة، مفاتيح API، قواعد بيانات المتجهات، أو تنزيل النماذج. يقوم بالمسح على المجلدات حسب الطلب.
- **دعم متعدد اللغات**: يحلّل كلًا من الشفرة والوثائق (Markdown، HTML، CSS، SQL، التكوين) من خلال عدسة موحدة.
- **تكامل CLI**: يقوم تلقائيًا بتثبيت أمر shell `sct` إلى جانب خادم MCP، مما يتيح للوكلاء استخدام نفس أدوات التحليل مباشرة في الطرفية. يشمل ذلك أوامر للمسح، التركيز على عقدات محددة، البحث، المقارنة، وحل المراجع عبر فروع git.
- **أدوات تحليل متقدمة**:
- `preview_directory`: يوفر نظرة عامة عالية المستوى مع نقاط الدخول، مخططات الاستيراد، والدوال الساخنة.
- `scan_file`: يقدم تحليلًا هيكليًا مفصلًا مع التوقيعات، الزخارف، وأوتار الوثائق. يدعم معلمة `focus` لقراءة عقدات محددة حرفيًا.
- `scan_directory`: يولد أشجار مجلدات مضغوطة مع أسماء فئات/دوال مضمنة.
- `search_structures`: يفلتر الشفرة حسب النوع، نمط الاسم، الزخرف، أو التعقيد.
- `find_divergence`: يراجع المجلدات بحثًا عن دوال تنتهك أنماط الاتصال المتوقعة.
- **تنسيقات الإخراج**: يدعم تصورات بتنسيق الشجرة مع أحرف رسم المربعات وJSON للاستخدام البرمجي. تم تحسين الإخراج لاستهلاك LLM مع تحسينات قابلة للقياس في كفاءة الرموز مقارنة بالنهج التقليدي القائم على grep.
- **التوافق**: يعمل بسلاسة مع Claude Code، Claude Desktop، Cursor، Windsurf، VS Code (وضع وكيل Copilot)، وCline.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.