mcpField
R
RR MCP Server for .NET Analysis

RR MCP Server for .NET Analysis

ローカル
github.com/RaRdq開発ツール177 週間前に更新

RR MCP Server for .NET Analysis について

PowerShell スクリプトで .NET ソリューションからインターフェース、OpenAPI、データモデルの構造を抽出する MCP サーバーです。ソース内容を公開せずに AI エージェントへプロジェクトの概要を渡し、解析結果をキャッシュします。

主な機能

  1. 01インターフェースと OpenAPI 情報の抽出
  2. 02モデル、エンティティ、列挙型の抽出
  3. 03プロジェクト単位の結果キャッシュ
  4. 04相対・絶対パスのソリューションに対応
  5. 05PowerShell 7 によるクロスプラットフォーム実行

活用シーン

  1. 01コーディングエージェントへの .NET 構造の提供
  2. 02ソリューション内のインターフェースとデータ型の確認
  3. 03再解析時のキャッシュ結果の再利用

MCP 対応

`GetInterfaces` や `GetData` などのツールを MCP クライアントに公開します。クライアントは `.sln` のパスを渡して、インターフェースやデータ構造の情報を取得します。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

.NET 分析用 RR MCP サーバー

PowerShell スクリプトを使用して、あらゆる .NET ソリューションから .NET のインターフェース、OpenAPI、データ(モデル/エンティティ/列挙型)に関する情報を抽出する、汎用 MCP サーバーです。 内容を公開せずに、AI に大規模プロジェクトの構造と抽象化情報を提供することを目的としています。

.NET ソリューションの AI 管理と自動化に向けて、今後さらに多くのツールを追加する予定です。

依存関係

機能

  • あらゆる .NET ソリューションからモデル、エンティティ、列挙型、インターフェースを抽出します
  • AI エージェントにプロジェクトの構造とコンテキストをすべて提供し、重複した生成を防ぎます
  • Cursor、Copilot、Claude、または MCP 互換ツールですぐに使用できます
  • キャッシュにより高速に動作し、クリーンな出力(stdout に余計な出力なし)と、ファイルへの完全なログ記録を実現します
  • スクリプトを自動検出し、相対/絶対パスの .sln に対応します
  • クロスプラットフォーム(Windows、macOS、Linux)で動作し、PowerShell 7 以降が必要です

出力形式の例

データツール(GetData)
  • モデル/エンティティ:
    {
      "n": "UserModel",
      "b": "BaseModel",
      "p": { "Id": "string", "Name": "string", "Age": "int" },
      "prj": "My.Project.Namespace"
    }
    
    • *Entity サフィックスが付いたクラスは、基底クラスの要件なしでエンティティとして含まれます。
  • 列挙型:
    {
      "n": "StatusType",
      "m": { "Unknown": 0, "Active": 1, "Inactive": 2 },
      "prj": "My.Project.Namespace"
    }
    
インターフェースツール(GetInterfaces)
  • インターフェース:
    {
      "n": "IMyService",
      "b": "IBaseService",
      "d": "Service for handling user operations.",
      "m": [
        "Task DoWork(string arg);",
        { "s": "Task<int> GetCount();", "d": "Gets the count." }
      ],
      "prj": "My.Project"
    }
    
    • n:インターフェース名
    • b:基底インターフェース(任意)
    • d:インターフェースのドキュメント(任意)
    • m:メソッド(シグネチャ文字列、またはドキュメントを含むオブジェクト)
    • prj:プロジェクト名
命名規則
  • モデル:*Model
  • エンティティ:*Entity
  • 列挙型:*Type
  • インターフェース:I*Service、I*Repository など

スクリプトの手動実行(キャッシュのウォームアップまたはデバッグ用)

PowerShell スクリプトを直接実行して、事前にキャッシュをウォームアップしたり、出力をデバッグしたりできます。リポジトリのルート、または RR.MCP ディレクトリから実行してください。

インターフェースの場合:

pwsh -File RR.MCP/GetInterfacesPwsh.ps1 -SolutionFile MySolution.sln

データ(モデル/エンティティ/型)の場合:

pwsh -File RR.MCP/GetDataPwsh.ps1 -SolutionFile MySolution.sln
  • Windows、macOS、Linux では、pwsh(PowerShell 7 以降)が PATH に設定されていることを確認してください。
  • 必要に応じて、別のソリューションファイルを指定できます。
  • 出力は .cache/ に、ログは mcp_debug.log/mcp_data_debug.log に書き込まれます。

要件

  • .NET 9.0 SDK 以降
  • PowerShell 7.0 以降(システム環境変数 PATH に pwsh が設定されている必要があります)

セットアップ

  1. クローンしてビルドする

    git clone
    cd RR.MCP
    dotnet build
    
  2. MCP クライアントを設定する stdio MCP サーバーのエントリを追加します。例:

    {
      "mcpServers": {
        "rr-mcp": {
          "command": "dotnet",
          "args": ["run", "--project", "<absolute-path-to>/RR.MCP/RR.MCP.csproj"]
        }
      }
    }
    
    • サーバーは、利用可能なすべてのツール(インターフェース、データなど)を自動登録します。
  3. 使用方法 エージェントがツールを呼び出すためのルールを追加します。

    • GetInterfaces ツールを呼び出して、インターフェース/OpenAPI 情報を抽出します。
    • GetData ツールを呼び出して、構造を含むすべてのモデル、エンティティ、型(列挙型)を抽出します。
    • .sln ファイルのパスを solutionFile パラメーターに渡します(絶対パス、またはサーバーの作業ディレクトリからの相対パス)。

ログ記録とデバッグ

  • すべての C# エラーは mcp_errors.log(出力ディレクトリ内)に記録されます。
  • PowerShell スクリプトのすべての動作とエラーは、スクリプトと同じ場所にある mcp_debug.log(インターフェース)および mcp_data_debug.log(データ)に記録されます。
  • PowerShell 7 未満で実行すると、PowerShell スクリプトはログを記録し、エラーを返します。

PowerShell スクリプト

  • スクリプトは常に出力ディレクトリにコピーされ、pwsh -File ... で実行されます。
  • 重要な手順、パラメーター、エラーをすべて記録します。
  • ソリューションファイルが見つからない場合やデータが検出されない場合は、適切にエラーを処理してログに記録します。
  • キャッシュはプロジェクトごとに作成され、ハッシュベースで繰り返しの実行を高速化します。(大規模プロジェクトでは初回の実行に時間がかかるため、スクリプトを手動で実行してください)

カスタマイズ

  • ほかのコード分析に対応させるには、GetInterfacesPwsh.ps1 または GetDataPwsh.ps1 を編集します。
  • ツールを追加するには、C# ツールファイルに新しい [McpServerTool] メソッドを追加します。

あらゆる AI IDE との統合

  • この MCP サーバーは完全に汎用的であり、MCP stdio トランスポートに対応するあらゆる AI IDE またはツールと統合できます。
  • ツールは自動検出され、簡単に利用できるよう OpenAPI を通じて説明されます。
  • IDE 固有のロジックはなく、すべての出力がプロトコルに準拠しています。

Cursor との連携例

Cursor を使用している場合は、以下を .cursor/mcp.json に追加してください。

{
  "mcpServers": {
    "rr-mcp": {
      "command": "dotnet",
      "args": ["run", "--project", "<absolute-path-to>/RR.MCP/RR.MCP.csproj"]
    }
  }
}

貢献

  • プルリクエストとイシューを歓迎します!
  • すべての出力がプロトコルに準拠し、ログがすべてファイルにのみ出力されるようにしてください。

ライセンス

MIT

コメント

MCP は初めてですか?

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

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