À propos du projet
Scantool est un serveur MCP (protocole de contexte de modèle) conçu pour améliorer les interactions des agents IA avec les bases de code en fournissant une analyse structurée plutôt que des dumps de fichiers bruts. Alimenté par Tree-sitter, il prend en charge plus de 20 langages de programmation, notamment Python, JavaScript, TypeScript, Rust, Go, C/C++, Java, PHP, C#, Ruby, Zig, Swift, SQL, HTML, CSS et Markdown. L'outil extrait les classes, les méthodes, les fonctions, les importations, les graphiques d'appel et les fonctions chaudes avec des numéros de ligne exacts, permettant aux agents de comprendre efficacement l'architecture du code.
Les fonctionnalités clés comprennent :
- **Zéro infrastructure** : Pas besoin d'indexation, de clés API, de bases de données vectorielles ou de téléchargements de modèles. Il analyse les répertoires à la demande.
- **Prise en charge multilingue** : Analyse à la fois le code et les documents (Markdown, HTML, CSS, SQL, config) à travers une optique unifiée.
- **Intégration CLI** : Installe automatiquement une commande shell `sct` avec le serveur MCP, permettant aux agents d'utiliser les mêmes outils d'analyse directement dans le terminal. Cela inclut des commandes pour l'analyse, la focalisation sur des nœuds spécifiques, la recherche, la différenciation et la résolution de références entre les branches git.
- **Outils d'analyse avancés** :
- `preview_directory` : Fournit des aperçus de haut niveau avec des points d'entrée, des graphiques d'importation et des fonctions chaudes.
- `scan_file` : Offre une analyse structurelle détaillée avec des signatures, des décorateurs et des docstrings. Prend en charge un paramètre `focus` pour lire des nœuds spécifiques textuellement.
- `scan_directory` : Génère des arbres de répertoire compacts avec des noms de classe/fonction en ligne.
- `search_structures` : Filtre le code par type, modèle de nom, décorateur ou complexité.
- `find_divergence` : Audite les répertoires pour les fonctions qui brisent les modèles d'appel attendus.
- **Formats de sortie** : Prend en charge les visualisations au format arborescent avec des caractères de dessin de boîte et JSON pour une utilisation programmatique. La sortie est optimisée pour la consommation LLM avec des améliorations efficaces de jetons mesurables par rapport aux approches traditionnelles basées sur grep.
- **Compatibilité** : Fonctionne de manière transparente avec Claude Code, Claude Desktop, Cursor, Windsurf, VS Code (mode agent Copilot) et Cline.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.