このプロジェクトについて
Scantool は、生のファイルダンプではなく構造化された分析をコードベースに提供することで、AI エージェントの相互作用を強化するために設計された MCP(Model Context Protocol)サーバーです。Tree-sitter をベースに、Python、JavaScript、TypeScript、Rust、Go、C/C++、Java、PHP、C#、Ruby、Zig、Swift、SQL、HTML、CSS、Markdown を含む 20 以上のプログラミング言語をサポートしています。このツールは、クラス、メソッド、関数、インポート、コールグラフ、ホット関数を正確な行番号で抽出し、エージェントがコードアーキテクチャを効率的に理解できるようにします。
主な機能は以下の通りです:
- **ゼロインフラストラクチャ**:インデックス作成、API キー、ベクトルデータベース、モデルダウンロードは不要です。ディレクトリをオンデマンドでスキャンします。
- **多言語サポート**:コードとドキュメント(Markdown、HTML、CSS、SQL、設定)を統一された視点で分析します。
- **CLI 統合**:MCP サーバーと並行して `sct` シェルコマンドを自動的にインストールし、エージェントが同じ分析ツールをターミナルで直接使用できるようにします。これには、スキャン、特定のノードへのフォーカス、検索、差分、git ブランチ間での参照解決のコマンドが含まれます。
- **高度な分析ツール**:
- `preview_directory`:エントリーポイント、インポートグラフ、ホット関数を含む高レベルの概要を提供します。
- `scan_file`:シグネチャ、デコレータ、ドキュメント文字列を含む詳細な構造分析を提供します。`focus` パラメータを使用して、特定のノードをそのまま読み取ることができます。
- `scan_directory`:クラス/関数名をインラインで表示したコンパクトなディレクトリツリーを生成します。
- `search_structures`:タイプ、名前パターン、デコレータ、または複雑さに基づいてコードをフィルタリングします。
- `find_divergence`:期待されるコールパターンを破る関数がないか、ディレクトリを監査します。
- **出力形式**:ボックス描画文字を使用したツリー形式の視覚化と、プログラムでの使用のための JSON をサポートします。出力は、従来の grep ベースのアプローチと比較して、測定可能なトークン効率の改善で LLM 消費用に最適化されています。
- **互換性**:Claude Code、Claude Desktop、Cursor、Windsurf、VS Code(Copilot エージェントモード)、Cline とシームレスに連携します。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.