mcpField
T
tsconfig-inheritance-flattener-mcp

tsconfig-inheritance-flattener-mcp

ローカル
github.com/vola-trebla開発ツール023 週間前に更新

tsconfig-inheritance-flattener-mcp について

tsconfig-inheritance-flattener-mcpは、TypeScriptプロジェクトの設定を調べるMCPサーバーです。継承されたtsconfigを解決し、有効なコンパイラーオプションやエイリアスの参照先、プロジェクト参照の問題を示します。

主な機能

  1. 01継承後のコンパイラーオプションを解決
  2. 02パスエイリアスからファイルを特定
  3. 03プロジェクト参照を検証
  4. 04継承チェーンとパターンを表示

活用シーン

  1. 01monorepoで有効なコンパイル設定を把握
  2. 02パスエイリアスの参照先を特定
  3. 03参照先パッケージの設定問題を確認

MCP 対応

TypeScript設定の継承解決、パスエイリアスの特定、プロジェクト参照の分析を行うツールをMCPクライアントに提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"vola-trebla-tsconfig-inheritance-flattener": {
"command": "npx",
"args": [
"-y",
"tsconfig-inheritance-flattener-mcp"
]
}
}
}
起動コマンドnpx -y tsconfig-inheritance-flattener-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmtsconfig-inheritance-flattener-mcp0.2.0

ツール

6

掲載時のツール一覧 · 3 週間前に更新

パラメーター型必須説明
configPathstringはい解決する tsconfig.json ファイルの絶対パス。例:/project/tsconfig.json
includeRawbooleanいいえtrue の場合、マージ前のファイルごとの生のオプションも返します。デフォルトは false です。

詳細

🔍 tsconfig-inheritance-flattener-mcp

npm CI License: MIT

AI エージェントは tsconfig.json を読み込みますが、実際に何を意味しているのかはまったく分かりません。

TypeScript の設定継承チェーン全体を解決し、実際に適用される有効なコンパイラーオプションを返す MCP サーバーです。拡張されたベース設定、モノレポのパッケージ、node_modules のプリセットから継承されるすべての設定も含まれます。


🤔 問題

エージェントが tsconfig.json を読み込むと、次のように表示されます。

{ "extends": "@tsconfig/strictest", "compilerOptions": { "paths": { "@/*": ["./src/*"] } } }

@tsconfig/strictest が strict: true、noUncheckedIndexedAccess: true、exactOptionalPropertyTypes: true を設定していることは分かりません。モノレポのベース設定で、2 階層上に baseUrl が定義されていることも分かりません。そのため、次のようなことが起きます。

  • noUncheckedIndexedAccess で失敗するコードを提案します
  • @/ がどこに解決されるのか分からなくなります
  • target が ES5 ではなく ES2022 であることを把握できません
  • モジュール解決について誤った回答をします

TypeScript コンパイラー API は、すでにこれらすべてを解決できます。この MCP は、その機能を公開するだけです。


🛠️ ツール

get_effective_compiler_options

extends チェーン全体を解決し、指定された tsconfig.json に実際に適用される、統合済みのコンパイラーオプションを返します。継承チェーン、統合されたすべてのオプション(マジックナンバーではなく、読みやすい文字列で列挙型を表示)、include/exclude パターンを表示します。

Effective TypeScript Configuration
  Config:            /project/apps/web/tsconfig.json
  Inheritance chain: /project/apps/web/tsconfig.json
                     → /project/tsconfig.base.json
                     → node_modules/@tsconfig/strictest/tsconfig.json

Compiler Options (merged):
  target: "ES2022"
  module: "NodeNext"
  moduleResolution: "NodeNext"
  strict: true
  noUncheckedIndexedAccess: true
  exactOptionalPropertyTypes: true
  baseUrl: "/project"
  paths: { "@/*": ["apps/web/src/*"] }
resolve_module_alias

解決済みの paths と baseUrl を tsconfig から使用し、TypeScript のパスエイリアス(例:@/hooks/useAuth)をディスク上の実ファイルの場所に対応付けます。拡張子を調べて、存在する候補をすべて返します。

Alias Resolution: @/hooks/useAuth
  Config:   /project/apps/web/tsconfig.json
  Base URL: /project

Resolved physical paths:
  /project/apps/web/src/hooks/useAuth.ts      ✓ exists
analyze_project_references

ルートの tsconfig.json にある references 配列を調べ、参照される各パッケージが composite: true を設定しているか検証します。TypeScript モノレポで、ビルドが何も通知せずに失敗する前に、パッケージ間の依存関係の問題を検出します。

Project References Analysis
  Config: /project/tsconfig.json
  References found: 2

  [✓] packages/shared → /project/packages/shared/tsconfig.json
  [✗ NOT FOUND] packages/deprecated → /project/packages/deprecated/tsconfig.json

Violations:
  ✗ packages/shared is referenced but does not have composite: true
    Fix: add "composite": true to packages/shared/tsconfig.json

🧪 実際の使用例

エージェントが TypeScript のエラーのデバッグを手伝っていて、次のように尋ねます。

「このプロジェクトで実際に有効なコンパイラーオプションは何ですか?」

この MCP がなければ、エージェントは tsconfig.json に表示される内容から推測します。この MCP があれば、次のようになります。

get_effective_compiler_options("/project/apps/web/tsconfig.json")
→ strict: true, noUncheckedIndexedAccess: true, target: "ES2022", module: "NodeNext"

これでエージェントは、arr[0] の型が単なる string ではなく、string | undefined である理由を正確に把握できます。誤った提案はもうありません。


⚡ セットアップ

{
  "mcpServers": {
    "tsconfig-flattener": {
      "command": "npx",
      "args": ["-y", "tsconfig-inheritance-flattener-mcp"]
    }
  }
}

🚀 使用方法

「/project/apps/web/tsconfig.json に実際に適用されるコンパイラーオプションは何ですか?モノレポのベース設定と @tsconfig/strictest を拡張しています。」

「@/components/Button はディスク上のどこに解決されますか?」

「ルートの tsconfig にあるプロジェクト参照は有効ですか?参照されるすべてのパッケージで composite: true が設定されていますか?」

次のツールと併用すると便利です。


📦 リンク

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。