इस प्रोजेक्ट के बारे में
Scantool एक कोड संरचना विश्लेषण उपकरण है जिसे AI कोडिंग एजेंटों (Claude Code, Cursor, VS Code Copilot, और अन्य) को कुशलतापूर्वक कोडबेस समझने में मदद करने के लिए डिज़ाइन किया गया है। किसी फ़ंक्शन या क्लास को खोजने के लिए पूरी फ़ाइलें पढ़ने के बजाय, एजेंटों को एक संरचनात्मक नक्शा मिलता है—हर क्लास, फ़ंक्शन, कॉलर, और शीर्षक लाइन नंबरों के साथ—एक ही कॉल में।
यह MCP (मॉडल कॉन्टेक्स्ट प्रोटोकॉल) सर्वर और शेल कमांड (`sct`) दोनों के रूप में काम करता है, इसलिए एजेंट इसे किसी भी इंटरफ़ेस के माध्यम से उपयोग कर सकते हैं। यह टूल 20+ भाषाओं के लिए tree-sitter पार्सर द्वारा संचालित है और इसे कोई इंडेक्स, कोई API कुंजी, या एक कमांड से अधिक सेटअप की आवश्यकता नहीं है।
मुख्य क्षमताओं में शामिल हैं: संलग्न संदर्भ और कॉलर लीड के साथ संरचनाओं की खोज; एंट्री पॉइंट्स, हॉट फ़ंक्शंस, और केंद्रीय फ़ाइलों के लिए निर्देशिका स्कैन करना; एकल फ़ंक्शन या शीर्षक पर उसके शब्दशः कोड और एक-स्तरीय रूपरेखा के साथ ध्यान केंद्रित करना; git refs के बीच संरचनात्मक अंतर की गणना; फ़ंक्शन के वास्तविक कॉल साइट्स ढूंढना; शाखा ओवरलैप और मर्ज संघर्षों का पता लगाना; सार्वजनिक API सतह परिवर्तनों की जाँच करना; उन फ़ंक्शंस की पहचान करना जो सहोदर कॉल पैटर्न से विचलित होते हैं; और git refs में पते हल करना।
स्रोत कोड के अलावा, Scantool दस्तावेज़ों को संभालता है—Markdown शीर्षक, SQL टेबल और व्यू, YAML/TOML/JSON कुंजियाँ, CSS चयनकर्ता, और अधिक—लाइन रेंज के साथ पता योग्य संरचना के रूप में।
यह टूल मांग पर फ़ाइलों को पार्स करता है और git ब्लॉब ID द्वारा कैश करता है, इसलिए एक ref पर, stdin पर, या अगली प्रक्रिया में समान बाइट्स दो बार पार्स नहीं होते। फ़ंक्शंस को संघनित स्केलेटन के रूप में दिखाया जाता है जिसमें नियंत्रण प्रवाह, कॉल, और रिटर्न रखे जाते हैं जबकि तुच्छ कथन मोड़ दिए जाते हैं। हर उत्तर में एक कवरेज लाइन शामिल होती है जो देखी गई फ़ाइलों, दिखाई गई संरचनाओं, और क्या बाहर रखा गया था, की गिनती करती है।
वास्तविक एजेंट एपिसोड पर मापा गया, Scantool ने लक्षित खोजों के लिए टोकन उपयोग 25x घटाया (378 टोकन बनाम grep के लिए 9,370) और केंद्रित पढ़ने के लिए 75% (13,523 बनाम 54,337 टोकन) अपरिवर्तित तथ्य कवरेज पर। 22 एपिसोड में, Scantool एजेंटों ने 88% तथ्य कवरेज प्राप्त किया बनाम grep-केवल एजेंटों के लिए 73%। Grep अभी भी सादे शाब्दिक लुकअप और शीर्ष-स्तरीय अवलोकन में क्रमशः 1.4x और 1.6x से जीतता है।
समर्थित भाषाओं में Python, JavaScript, TypeScript, Rust, Go, C, C++, Java, PHP, C#, Ruby, Zig, Swift, SQL, HTML, CSS, SCSS, YAML, Markdown, Jupyter नोटबुक, सादा पाठ, JSON, TOML, और छवियाँ शामिल हैं। टूटी फ़ाइलें regex निष्कर्षण पर वापस आ जाती हैं।
अन्य कोड-अन्वेषण MCP सर्वरों की तुलना में: Repomix पूरे रिपो को एक फ़ाइल में पैक करता है; Serena भाषा सर्वर का प्रतीक-दर-प्रतीक उपयोग करता है और कोड संपादित कर सकता है; claude-context एक वेक्टर डेटाबेस के साथ एम्बेडिंग इंडेक्स का उपयोग करता है और API कुंजियों की आवश्यकता होती है। Scantool का दृष्टिकोण—बिना इंडेक्स के मांग पर पार्सिंग—उन लागतों से बचता है जबकि दस्तावेज़ संरचना भी निकालता है जिसे कोई अन्य संबोधित नहीं करता।
स्थापना के लिए uv की आवश्यकता होती है, फिर MCP सर्वर पंजीकृत करने के लिए एक कमांड। यह टूल MIT लाइसेंस प्राप्त है और FastMCP, tree-sitter, और uv पर बनाया गया है।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.