Skip to main content
Glama
jscoobyced

TypeScript AST MCP Server

by jscoobyced

TypeScript AST MCP Server

TypeScript AST(抽象構文木)解析機能を提供するModel Context Protocol(MCP)サーバーです。このサーバーは、ts-morphライブラリを使用して、クラスやメソッドの参照の検索、コンポーネントツリーの解析、TypeScriptコードの依存関係の検出を行うことができます。

機能

  • MCPサーバー: AIアシスタントとの統合のためのModel Context Protocolを実装

  • TypeScript解析: ts-morphを使用した強力なTypeScript ASTの解析と分析

  • 参照検索: コードベース内の指定されたクラスメソッドへのすべての参照を検索

  • 依存関係の検出: find_dependencyツールを使用して、指定されたライブラリをインポートするすべてのファイルを一覧表示

  • コンポーネントツリー解析: component_treeツールを使用して、コードベース内のReactコンポーネント構造を解析

  • これらのツールはMCPサーバーの一部であり、Claude Codeやその他のMCPクライアントから呼び出すことができます。

Related MCP server: agent-workspace-mcp

前提条件

  • Node.js(プロジェクトと互換性のあるバージョン)

  • Yarnパッケージマネージャー

セットアップ

  1. リポジトリをクローンします

  2. 依存関係をインストールします:

    yarn install
  3. サンプル設定ファイルをコピーします:

    cp .env.example .env
  4. プロジェクトのtsconfigパスを.envに更新します:

    PROJECT_TSCONFIG_PATH=/path/to/your/project/tsconfig.json

実行方法

プロジェクトをビルド:

yarn build

MCPサーバーをテスト:

yarn test:mcp

これにより、MCP互換クライアントが接続できるMCPサーバーが起動します。

Claude Codeへのインストール

Claude CodeでこのMCPサーバーを使用するには:

  1. サーバーをビルド:

    yarn build
  2. Claude Codeを設定:

  • .mcp.example.jsonを.mcp.jsonにコピーします(または、既存の.mcp.jsonをMCP設定の内容で更新します)

  • .claude/settings.local.jsonを編集し、MCPセクションを追加します(すでに一部のMCPが設定されている場合は、必要なサブセットのみ)

  “enableAllProjectMcpServers”: true,
  “enabledMcpjsonServers”: [
    “typescript-ast”
  ]
  • Claude Codeを起動します

  • /mcpコマンドを入力し、MCPが接続されていることを確認します

開発

コードの更新:

  1. src/内のTypeScriptソースファイルに変更を加えます

  2. プロジェクトをビルド:

    yarn build
  3. 変更をテスト:

    yarn test:mcp

環境変数

サーバーは以下の環境変数を使用します:

  • PROJECT_TSCONFIG_PATH: プロジェクト解析に使用するtsconfig.jsonファイルへのパス(デフォルトは'tsconfig.json')

設定ファイルの例

  • .env.example: 環境変数のサンプルファイル

  • .mcp.example.json: 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

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    A TypeScript-aware MCP server that provides coding agents with repository discovery, code intelligence, and web project context for local codebases. It enables deep symbol navigation, diagnostic reporting, and structural analysis of monorepos without requiring full IDE integration.
    7
    15 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    AST-aware TypeScript/JavaScript codebase exploration for AI agents, providing high-precision symbol resolution, reference finding, and structural analysis via MCP tools.
    228 npm
    MIT