mcpField
E
Eclipse Legacy Recon MCP

Eclipse Legacy Recon MCP

ローカル
eclipsebazaar.com開発ツール0今日更新

Eclipse Legacy Recon MCP について

Eclipse Legacy Recon MCPは、レガシーソフトウェアを評価するエージェントやチーム向けの、ローカルで読み取り専用のコードベーススキャナーです。範囲を限定した構成図と根拠付きの依存関係・サポート終了リスクを示し、モダナイゼーション関連の出力は費用や工数の見積もりではなく評価用の入力です。

主な機能

  1. 01範囲を限定した構成図の作成
  2. 02宣言・観測・推定した依存関係の個別表示
  3. 03対象ルール内のサポート終了版と未固定依存関係の提示
  4. 04モダナイゼーション評価用シグナルの報告
  5. 05検出項目の根拠を明示

活用シーン

  1. 01モダナイゼーション前のレガシーコードベース調査
  2. 02依存関係とランタイムのサポート終了リスク確認
  3. 03評価に向けたコード規模と結合度の情報収集

MCP 対応

recon_scan、architecture_map、dependency_risk_list、modernization_inputsの4つのツールをMCPクライアントに公開します。ローカルパスを読み取り専用でスキャンし、対象コードの実行やネットワーク通信は行いません。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Eclipse Legacy Recon MCP

Cyan Eclipse Technologies が提供 — https://cetech.ai

エージェントにコードベースを指定すると、対象を絞ったアーキテクチャマップ、依存関係/EOL リスク一覧、モダナイゼーション見積もりの入力情報を得られます。

ステータス — 正直なラベル付け

v0.1.0、ローカル、読み取り専用です。stdio 経由の MCP で、Python 標準ライブラリのみを使用します。認証済みとの主張はしていません。最新のベンチカード(-10、2026-10-26)は、従来の JS/TS 全般に関する主張のもとで 22/25 件が不合格でした。オーナーの判断は、製品を恒久的に不合格とすることでも、4 回目の修正を行うことでもなく、CLAIM-SCOPE.md に記載された観測済みの範囲に主張を絞ることです。認証に関する主張を行う前に、範囲を限定した再ベンチが引き続き必要です。カタログエントリー:legacy-recon-mcp(仕様スケッチ:mcp-product-slate-20261023.md §5)。無料です。CETech のレガシーモダナイゼーション事業につなげる、サービス主導のアセスメントファネルです。

主張の範囲 — 観測された内容に限定

CLAIM-SCOPE.md の範囲内で、報告される項目には、根拠とするファイルパスとマニフェストの行、構造上の事実、または推論の根拠が記載されます。エンジンが実装する継続的な UNKNOWN カテゴリには理由が付され、推測によるスタックは提示されません。OBSERVED は、網羅的な一覧ではなく、範囲を限定した肯定的なインベントリです。

正規のスコープノートで名称を挙げて取り下げた内容:分割後の閉じスラッシュがない範囲に続く、JS/TS の複数行ブロックコメントの継続(W1);閉じスラッシュがない JS/TS 範囲の連鎖(W2);B-LR-14 の無効行における識別子後続形(W3);網羅的な OBSERVED の再現率(W4);動的インポートの観測、または専用の動的インポート UNKNOWN(W5);.mts/.cts の OBSERVED 抽出(W6);権限拒否されたサブツリーを含む完全性(W7);自己参照するシンボリックリンクループを報告してスキップする処理(W8);ホスト型/認証付き/マルチテナント運用(W9)。

新しい仕組み — 範囲を限定した、証拠に基づく再調査

対象範囲を絞った依存関係インベントリでは、以下を、決して混在させない別々のリストで区別します。

  • DECLARED — マニフェストから解析し、証拠としてマニフェストの行を示します。
  • OBSERVED — CLAIM-SCOPE.md の範囲内でコード中に見つかった肯定的なインポート報告で、証拠としてファイルと行を示します(内部インポートには internal のフラグを付けます)。網羅的なインベントリではありません。
  • INFERRED — 根拠を明記した推論です(例:組み込みマッピングテーブルにより、インポートルート PIL からディストリビューション Pillow を推定する、対応する DECLARED 項目がないインポートから宣言漏れの依存関係を推定する)。

ツール

recon_scan(範囲を絞った統合レポート) · architecture_map · dependency_risk_list · modernization_inputs

すべてのツールは path(必須の文字列)と、任意の max_files(整数、1~50000、既定値 5000。共通の coerce_int_param ガードパターンを使用)を受け取ります。

モダナイゼーションの出力は見積もりではなく、入力情報です。 言語別 LOC、テストファイルの有無/テスト LOC 比率、マニフェストのファイルシステム更新日時に基づくシグナル(明示的にコミット経過時間ではありません — v0.1 では git 履歴は UNKNOWN)、ファンインに基づく結合ホットスポットを示します。工数、費用、期間の数値は出力しません。

対応するマニフェストと EOL ルール

マニフェストパーサー:requirements.txt、Pipfile、pyproject.toml、setup.py/setup.cfg(python_requires)、package.json、composer.json、Gemfile、pom.xml、go.mod、Cargo.toml。ランタイムのピン留め値は .python-version、.nvmrc、.ruby-version、runtime.txt、engines.node、requires-python、pom の java.version から取得します。

EOL リスクの判定には、小規模で明示的な、コード内にバージョン管理されたルールテーブル(recon_engine.py 内の EOL_RULES_VERSION = 2026-10-25.1)のみを使用します。対象は Python 2.7/3.6/3.7/3.8、Node 12/14/16/18、PHP 7.4/8.0、Ruby 2.7/3.0、Django 2.2/3.2/4.0/4.1、AngularJS 1.x、Rails 5.2/6.0、Flask 1.0 です。EOL に関するすべての主張には rule_id を記載します。ルールに一致しない場合、主張は行いません(ルールがないことは、サポートされているという主張にはなりません)。ピン留めされていない宣言済みバージョンは UNPINNED_VERSION として表示されます。

安全性

  • 対象コードが実行、インポート、シェル経由で実行されることはありません。ネットワーク呼び出しも行われません。
  • シンボリックリンクをたどることはありません。通常の解決可能なシンボリックリンクは報告され、対象ツリーの外を指すものには escape: true のフラグが付けられます。CLAIM-SCOPE.md W8 に記載された例外は、自己参照するシンボリックリンクのループです。この場合、報告してスキップする代わりに、TARGET_PATH_INVALID でスキャンを拒否することがあります。
  • バイナリファイルはスキップして件数を記録し、テキストとして解析することはありません。1 MB を超えるファイルもテキスト解析されません。
  • 上限に達した場合は明示されます。max_files に達すると truncated: true と MAX_FILES_REACHED が設定され、スキャンが完了したように表示されることはありません。
  • 名前付きのフェイルクローズ拒否:TARGET_NOT_FOUND、TARGET_NOT_DIRECTORY、TARGET_EMPTY、TARGET_PATH_INVALID、MAX_FILES_INVALID、ARGUMENTS_INVALID。不正なワイヤー引数は、引数名を示す -32602 となり、未加工の -32603 にはなりません。
  • VCS/キャッシュ/ベンダーディレクトリ(.git、__pycache__、node_modules、vendor、…)はスキップされ、一覧に記載されます。

実行方法

python3 server.py                      # stdio
python3 -m unittest discover -s tests  # acceptance + schema fuzz
python3 smoke.py                       # subprocess stdio smoke

フィクスチャ:fixtures/legacy-tree/ — Python と JS が混在する合成のレガシーツリーです。Django 3.2、Python 3.8、Node 16、AngularJS の EOL バージョン固定、バージョンが固定されていない requests、バイナリブロブ、シンボリックリンクによる脱出の試行(escape_link → /etc。存在しない場合はテスト/スモークテストで再作成)を含みます。

制限事項(v0.1)

CLAIM-SCOPE.md が、主張の範囲を定める基準となります。特に、次の制限があります。

  • ロックファイルの解析は行いません。Gradle の依存関係抽出にも対応しません。git 履歴も対象外です(マニフェストの経過時間は mtime のみ)。DB/CI/デプロイは常に UNKNOWN カテゴリーであり、EOL テーブルは意図的に小さく、そこに記載されたルールのみを対象とします。
  • インポートのスキャンは正規表現ベースであり、AST ベースではありません。OBSERVED 抽出は対象範囲を限定した肯定的なレポートで、物理行ごとに正規表現の一致を最大 1 件取得します。CLAIM-SCOPE.md に記載されたベンチマーク由来の OBSERVED 精度の対象範囲は Python と JS/TS です。Go/Ruby/Java/PHP のインポートパターンについては、ベンチマークで観測された精度の主張は個別に行っていません。
  • JS/TS の再現率では、分割された require(/import 形式、1 行内の 2 つ目のインポート、CLAIM-SCOPE.md W4 に記載されたテンプレートによる過剰マスキングのパターンの後にあるインポートを検出できない場合があります。Python の再現率では、1 行内のセミコロンや後続の文を伴うインポート、カンマ区切りリストの 2 つ目のモジュール、バックスラッシュによる継続、相対 from-import を検出できない場合があります。
  • 動的インポートを推測して OBSERVED に含めることはなく、動的インポート専用の UNKNOWN エントリーもありません(W5)。
  • .mts および .cts ファイルは OBSERVED 抽出の対象になりません(W6)。
  • アクセス許可が拒否されたサブディレクトリが、切り詰めフラグなしで除外されることがあります。そのため、このようなツリーについて完全性は主張しません(W7)。

Cyan Eclipse Technologies の製品です。「Powered by Cyan Eclipse Technologies」の表示は、この製品とともに引き継がれます。

コメント

MCP は初めてですか?

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

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