Scast について
SCAST は静的コード解析と可視化のツールで、コードを UML 図やフローチャートに変換します。コード構造を素早く把握したい開発者向けで、MCP サーバーとして AI クライアントに組み込むこともできます。
主な機能
- 01コードを AST に解析して静的解析を実行
- 02UML、AST ツリー、Mermaid フローチャートの生成
- 03C#、JavaScript、Python、TypeScript、C、C++ に対応
- 04TreeSitter による他言語への拡張
活用シーン
- 01不慣れなコードベースの構造を UML 図で把握する
- 02クラス、メソッド、フィールドの定義元コードを検索する
- 03解析結果を AI クライアントに渡して説明を得る
MCP 対応
本プロジェクトは MCP サーバーとして動作し、コードの解析と定義の検索を行う scast_analysis と scast_retriever のツールを MCP クライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
🔱SCAST
静的コード解析と可視化
2026/3/6 by DKZ

英語/中文
🔱SCAST は、コードを UML 図やフローチャートに変換するプログラム可能なツールです。
対応言語
- csharp
- javascript
- python
- typescript
- c
- cpp
- TreeSitter を使用すると、さらに多くの言語を見つけたり、独自の言語をカスタマイズしたりできます。
基本的な仕組みでは、パーサーを利用してコードを抽象構文木(AST)に解析し、静的解析を行った後、Mermaid と D3 を使用して可視化します。
オンラインで試すか、このリポジトリをダウンロードして SCAST.html をブラウザーで開いてください。
開発者は npm run server を使ってサーバーにデプロイできます。または、MCP サーバーとして使用し、AI クライアントに統合できます。
MCP
git clone https://github.com/davidkingzyb/SCAST.gitでソースコードをダウンロードします。npm install- クライアントで設定します
{
"mcpServers": {
"scast":{
"command":"node",
"args":[
"/YOUR_INSTALL_DIR/SCAST/mcp/index.js",
"/YOUR_WORKSPACE/",
"C:\\Users\\DKZ\\OTHER_ALLOWED_DIR\\",
]
}
}
}
ツール
scast_analysis:
SCAST は、可視化を通じてユーザーのコード分析と要約を支援するツールです。
コードがあるフォルダーのパスを指定するだけで、
SCAST はコードの静的解析を行い、AST ツリーを生成して、ユーザーがコード構造を理解し、その機能を把握できるようにします。
UML 図、AST ツリー図、Mermaid フローチャートなど、さまざまなビジュアルチャートを生成します。
最後に、すべてのクラス名とメソッド名、およびそれぞれの機能説明を含むキーワードリストを返し、ブラウザーでチャートの詳細を確認できるリンクも提供します。
scast_retriever
SCAST は、ユーザーのコード分析と要約を支援し、可視化を提供するツールです。 ソースコードフォルダーのファイルパスを指定してください。SCAST はフォルダー内のソースコードを静的解析し、AST ツリーを生成して、ユーザーがコード構造を理解し、その機能を把握できるようにします。 SCAST でコードディレクトリを分析した後は、AST ツリー内のキーワードを使って検索し、RAG 方式でユーザーの質問により適切に回答できます。 キーワードには、クラス名、メソッド名、フィールド名を指定できます。SCAST はその定義箇所にあるソースコードを検索し、返します。
Ollama AI
まず ollama をインストールしてください
詳細については ai.js を参照してください
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。