File Rank MCP Server

by admica
Verified

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Analyzes C/C++ source files to detect includes and differentiate between system and local headers for dependency tracking and importance ranking.

  • Processes JavaScript files using regex patterns to detect import/require statements for dependency tracking and importance ranking.

  • Supports running the MCP server from WSL Linux environments with compatible configuration files.

ファイルランクMCP(モデルコンテキストプロトコル)サーバー

コードベース内のファイルを重要度でランク付けし、依存関係の追跡の概要を提供する TypeScript ベースのツールです。

概要

このツールは、プロジェクト内のどのファイルが最も重要なのかを追跡し、0(最も重要度が低い)から10(最も重要度が高い)までの評価を与えるのに役立ちます。また、ファイルの依存関係を追跡し、概要を提供することで、コードベースの構造を理解するのに役立ちます。

特徴

  • ファイルを 0 から 10 までのスケールでランク付けします (10 が最も重要)
  • ファイルの依存関係(どのファイルがどのファイルをインポートするか)を追跡して視覚化します
  • 自動更新のためのリアルタイムファイルシステム監視
  • ファイルの概要を取得する(LLM 統合用のプレースホルダー付き)
  • 個々のファイル、ディレクトリ、またはコードベース全体のクエリランキング
  • 検出エンドポイントを備えた自己文書化API
  • シンプルなstdio JSONインターフェース

設定

  1. このリポジトリをクローンする
  2. ビルド スクリプトを実行可能にします。
    chmod +x build.sh
  3. ビルド スクリプトを実行します。
    ./build.sh
    これにより、次のようになります。
    • Node.jsのインストールを確認する
    • プロジェクトの依存関係をインストールする
    • TypeScriptコードをコンパイルする
    • MCP構成を生成する
    • /tmp/file-rank-mcp_*.logに詳細なログファイルを作成します。
  4. 生成されたmcp.jsonプロジェクトの.cursor/ディレクトリに移動して、Cursor AI で使用します。

使用法

このツールは、モデルコンテキストプロトコル(MCP)を使用して、stdio経由のJSONで通信します。プロジェクトディレクトリの変更を自動的に監視し、それに応じてファイルツリーを更新します。

サーバーの実行

node dist/mcp-server.js

サポートされている言語

サーバーは、次の言語の依存関係を自動的に検出します。

  • Python: importおよびfrom ... importステートメント
  • C/C++: #includeディレクティブ
  • Rust: usemod
  • Lua: require
  • JavaScript/TypeScript: import

仕組み

このツールは、コードベースのリアルタイムツリー構造をfile-tree.jsonに保存します。このファイルは、プロジェクトディレクトリに変更が検出されるたびに自動的に更新されます。

データ構造

ファイル ツリーは JSON 構造に保存されます。

{ "path": "/path/to/directory", "name": "directory_name", "isDirectory": true, "children": [ { "path": "/path/to/file.ts", "name": "file.ts", "isDirectory": false, "dependencies": ["/path/to/dependency.ts"], "importance": 8 } ] }

依存関係の検出

このツールはソースコードを分析して依存関係を検出します。

  • ファイルの内容をスキャンして言語固有のインポートパターンを探します
  • 相対インポートを絶対パスに解決します
  • インポートされたファイルが存在することを確認します
  • 依存関係の数に基づいて重要度を計算します

ファイルの重要度の計算

ファイルには、次の基準に基づいて重要度スコア (0 ~ 10) が割り当てられます。

  • 依存関係の数(このファイルをインポートするファイル)
  • 依存関係ツリー内の位置
  • ファイルの種類と場所

技術スタック

  • TypeScript/Node.js
  • モデルコンテキストプロトコルSDK(v1.7.0)
  • ファイルシステム監視用の Chokidar
  • CommonJSモジュールを使用したES2020ターゲット

発達

プロジェクトを変更または拡張するには:

  1. srcディレクトリ内のTypeScriptファイルに変更を加える
  2. ビルド スクリプトを実行して構成をコンパイルおよび更新します。
    ./build.sh
  3. サーバーを実行します。
    node dist/mcp-server.js

ビルド スクリプトは次の処理を実行します。

  • 新しい依存関係をインストールする
  • TypeScriptコードをコンパイルする
  • 更新されたMCP構成を生成する
  • トラブルシューティングのための詳細なログファイルを作成する

LLMとの統合

現在の実装には、LLM統合用のプレースホルダが含まれています。本番環境では、サーバーを以下のように拡張できます。

  • LLM を使用してファイルの概要を生成する
  • コードの複雑さと保守性を分析する
  • ファイル整理のためのインテリジェントな提案を提供する
  • コード構造に基づいてドキュメントを生成する

ライセンス

このプロジェクトは、GNU General Public License v3 (GPL-3.0) に基づいてライセンスされています。ライセンスの全文については、 LICENSEファイルをご覧ください。

-
security - not tested
A
license - permissive license
-
quality - not tested

コードベース ファイルを重要度 (1 ~ 10 スケール) でランク付けし、ファイルの依存関係を追跡し、概要を提供するツールです。これらはすべて、シンプルな JSON ベースのインターフェースからアクセスできます。

  1. Overview
    1. Features
      1. Setup
        1. Usage
          1. Running the Server
          2. Supported Languages
        2. How It Works
          1. Data Structure
          2. Dependency Detection
          3. File Importance Calculation
        3. Technical Stack
          1. Development
            1. Integration with LLMs
              1. License
                ID: ngno1fuoup