jsc-typescript-ast-mcp について
jsc-typescript-ast-mcpは、ts-morphでTypeScriptコードを解析するMCPサーバーです。開発者が参照や依存関係を探し、ReactコンポーネントツリーをJSONで確認できます。
主な機能
- 01ts-morphによるTypeScript AST解析
- 02クラスメソッドの参照検索
- 03依存ライブラリを読み込むファイルの検索
- 04Reactコンポーネントツリーの解析
- 05ツリー構造のJSON出力
活用シーン
- 01コードベース内のメソッド使用箇所を検索
- 02ライブラリを読み込むファイルを特定
- 03Reactの階層構造とメタデータを確認
MCP 対応
find_reference、find_dependency、component_treeの3つのツールをMCPクライアントに公開します。PROJECT_TSCONFIG_PATHで指定したプロジェクトを解析します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
TypeScript AST MCP サーバー
TypeScript AST(抽象構文木)の分析機能を提供する Model Context Protocol(MCP)サーバーです。このサーバーでは、ts-morph ライブラリを使用して、クラスやメソッドの参照を検索したり、コンポーネントツリーを分析したり、TypeScript コードの依存関係を検索したりできます。React コンポーネントの JSON 構造を表現するのに最適です。
機能
- MCP サーバー:AI アシスタントと連携するための Model Context Protocol を実装しています
- TypeScript 分析:強力な TypeScript AST の解析と分析に ts-morph を使用します
- 参照の検索:コードベース内で、指定したクラスメソッドへのすべての参照を検索します
- 依存関係の検索:
find_dependencyツールを使用して、指定したライブラリをインポートしているすべてのファイルを一覧表示します。 - コンポーネントツリーの分析:
component_treeツールを使用して、コードベース内の React コンポーネント構造を分析します。 - ツールは MCP サーバーの一部であり、Claude Code やその他の MCP クライアントから呼び出せます。
前提条件
- Node.js(プロジェクトと互換性のあるバージョン)
- Yarn パッケージマネージャー
セットアップ
- プロジェクトの tsconfig のパスを指定して
.envを作成します:PROJECT_TSCONFIG_PATH=/path/to/your/project/tsconfig.json
実行方法
このパッケージを依存関係として追加し、実行します
yarn typescript-ast
これにより、MCP 互換クライアントから接続できる MCP サーバーが起動します。
Claude Code へのインストール
Claude Code でこの MCP サーバーを使用するには:
- Claude Code を設定する:
.mcp.jsonをコピーするか、既存のファイルに MCP 設定の内容を追加します:
{
"mcpServers": {
"typescript-ast": {
"type": "stdio",
"command": "yarn",
"args": [
"typescript-ast"
],
"env": {
"PROJECT_TSCONFIG_PATH": "PATH/TO/YOUR/TYPESCRIPT/PROJECT/tsconfig.json"
}
}
}
}
プロジェクトのパスには、Vite を使用している場合、代わりに tsconfig.app.json を使用するとよいでしょう。
.claude/settings.local.jsonを編集し、MCP セクションを追加します(すでに MCP を設定している場合は、必要な項目のみを追加します)
“enableAllProjectMcpServers”: true,
“enabledMcpjsonServers”: [
“typescript-ast”
]
- Claude Code を起動します
/mcpコマンドを入力し、MCP が接続されていることを確認します
ツールの説明
このサーバーは 3 つのツールを提供します:
1. find_reference
コードベース内で、指定したクラスメソッドへのすべての参照を検索します。
- 入力:
filePath:ファイルへのパスclassName:クラス名methodName:メソッド名
- 出力:メソッドが参照されている行番号を含むファイルパスの一覧
2. find_dependency
指定したライブラリをインポートしているすべてのファイルを一覧表示します。
- 入力:
dependencyName:検索する依存関係の名前
- 出力:指定した依存関係をインポートしているファイルパスの一覧
3. component_tree
コードベース内の React コンポーネント構造を分析します。
- 入力:
entryFilePath:エントリーファイルへのパスmaxDepth:コンポーネントツリーの最大深度(デフォルト:3)data-id(任意):TreeNode.dataIdに取り込む属性名(例:data-attribute-id)
- 出力:コンポーネントツリー構造を表す JSON。
props、dataId、onClickなどの任意の要素メタデータを含みます
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。