mcpField
C
C# Lang MCP Server

C# Lang MCP Server

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

C# Lang MCP Server について

VS Code の拡張機能で、言語機能を利用するコードナビゲーションと分析のツールを MCP サーバーとして提供します。AI コーディングツールから VS Code の言語サービスを使いたい開発者向けです。

主な機能

  1. 01HTTP と SSE による MCP サーバー
  2. 02使用箇所の検索と定義へのジャンプ
  3. 03ホバー情報とドキュメントシンボル
  4. 04ワークスペース全体のシンボル検索
  5. 05リネーム位置とコードアクション

活用シーン

  1. 01AI アシスタントによるシンボルの使用箇所の特定
  2. 02大規模なコードベースでの名前によるシンボル検索
  3. 03AI アシスタントへの型情報と呼び出し関係の提供

MCP 対応

本プロジェクトは MCP サーバーであり、find_usages や go_to_definition などの VS Code 言語機能をツールとして MCP クライアントに公開します。デフォルトのエンドポイントは http://localhost:8008/sse です。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

Bifrost - VSCode 開発ツール MCP サーバー

VSCode 拡張機能のダウンロード数

この VS Code 拡張機能は、VSCode の強力な開発ツールと言語機能を AI ツールに公開する Model Context Protocol(MCP)サーバーを提供します。MCP プロトコルに対応した AI コーディングアシスタントを使用する際に、高度なコードナビゲーション、分析、操作機能を利用できます。

image

目次

機能

  • 言語サーバーとの連携:サポートされている任意の言語で、VSCode の言語サーバー機能を利用できます
  • コードナビゲーション:参照、定義、実装などを検索できます
  • シンボル検索:ワークスペース全体からシンボルを検索できます
  • コード分析:セマンティックトークン、ドキュメントシンボル、型情報を取得できます
  • スマート選択:セマンティック選択範囲を使って、インテリジェントにコードを選択できます
  • コードアクション:リファクタリングの提案やクイックフィックスを利用できます
  • HTTP/SSE サーバー:MCP 互換の HTTP サーバーを通じて言語機能を公開します
  • AI アシスタントとの連携:MCP プロトコルに対応した AI アシスタントとすぐに連携できます

使用方法

インストール
  1. VS Code マーケットプレイスから拡張機能をインストールします
  2. 開発に必要な言語固有の拡張機能をインストールします
  3. VS Code でプロジェクトを開きます
設定

拡張機能が有効になると、MCP サーバーが自動的に起動します。このサーバーを使用するよう AI アシスタントを設定するには、次の手順に従います。

  1. サーバーはデフォルトでポート 8008 で実行されます(bifrost.config.jsonで設定可能です)
  2. MCP 互換の AI アシスタントが次のエンドポイントに接続するよう設定します。
    • SSE エンドポイント:http://localhost:8008/sse
    • メッセージエンドポイント:http://localhost:8008/message
LLM ルール

より良い結果を得るために、.cursorrules ファイルで使用できるサンプルルールも用意しています。

Cursor ルールの例

MDC ルールの例

Cline のインストール
  • ステップ 1. Supergatewayをインストールします
  • ステップ 2. cline に設定を追加します
  • ステップ 3. 赤く表示されますが、問題なく動作するようです
Windows の設定
{
  "mcpServers": {
    "Bifrost": {
      "command": "cmd",
      "args": [
        "/c",
        "npx",
        "-y",
        "supergateway",
        "--sse",
        "http://localhost:8008/sse"
      ],
      "disabled": false,
      "autoApprove": [],
      "timeout": 600
    }
  }
}
Mac/Linux の設定
{
  "mcpServers": {
    "Bifrost": {
      "command": "npx",
      "args": [
        "-y",
        "supergateway",
        "--sse",
        "http://localhost:8008/sse"
      ],
      "disabled": false,
      "autoApprove": [],
      "timeout": 600
    }
  }
}
Roo Code のインストール
  • ステップ 1:SSE 設定をグローバルまたはプロジェクト単位の MCP 設定に追加します
{
  "mcpServers": {
    "Bifrost": {
      "url": "http://localhost:8008/sse"
    }
  }
}

Screenshot_78

Cursor でのインストールと使用方法は、この動画をご覧ください

CURSOR の新しいバージョンでは、次のコードを使用してください
{
  "mcpServers": {
    "Bifrost": {
      "url": "http://localhost:8008/sse"
    }
  }
}

複数プロジェクトのサポート

複数のプロジェクトを扱う場合、プロジェクトごとに専用の MCP サーバーエンドポイントとポートを設定できます。複数の VS Code ウィンドウを開いている場合や、言語サーバー機能を必要とする複数のプロジェクトを扱う場合に便利です。

プロジェクトの設定

プロジェクトのルートにbifrost.config.jsonファイルを作成します。

{
    "projectName": "MyProject",
    "description": "Description of your project",
    "path": "/my-project",
    "port": 5642
}

サーバーはこの設定を使用して、次の処理を行います。

  • プロジェクト固有のエンドポイントを作成します(例:http://localhost:5642/my-project/sse)
  • AI アシスタントにプロジェクト情報を提供します
  • プロジェクトごとに専用のポートを使用します
  • プロジェクトのサービスを、実行中の他のインスタンスから分離します
設定例
  1. バックエンド API プロジェクト:
{
    "projectName": "BackendAPI",
    "description": "Node.js REST API with TypeScript",
    "path": "/backend-api",
    "port": 5643
}
  1. フロントエンド Web アプリ:
{
    "projectName": "FrontendApp",
    "description": "React frontend application",
    "path": "/frontend-app",
    "port": 5644
}
ポートの設定

複数の VS Code インスタンスを実行しているときに競合しないよう、各プロジェクトで固有のポートを指定してください。

  • bifrost.config.json の port フィールドで、サーバーが使用するポートを指定します。
  • ポートを指定しない場合、後方互換性のため、デフォルトで 8008 が使用されます。
  • 複数のプロジェクトを同時に実行できるよう、プロジェクトごとに異なるポートを選んでください。
  • 設定されたポートがすでに使用中の場合、サーバーは起動に失敗します。その場合は、次のいずれかを行ってください。
    • ポートを解放する
    • 設定ファイルでポートを変更する
    • そのポートを使用している別の VS Code インスタンスを閉じる
プロジェクト固有のエンドポイントへの接続

AI アシスタントの設定を更新し、プロジェクト固有のエンドポイントとポートを使用してください。

{
  "mcpServers": {
    "BackendAPI": {
      "url": "http://localhost:5643/backend-api/sse"
    },
    "FrontendApp": {
      "url": "http://localhost:5644/frontend-app/sse"
    }
  }
}
後方互換性

bifrost.config.json が存在しない場合、サーバーはデフォルト設定を使用します。

  • ポート:8008
  • SSE エンドポイント:http://localhost:8008/sse
  • メッセージエンドポイント:http://localhost:8008/message

これにより、既存の設定やツールとの互換性が維持されます。

利用可能なツール

この拡張機能では、次のような VSCode の言語機能を多数利用できます。

  • find_usages:シンボルの参照箇所をすべて検索します。
  • go_to_definition:シンボルの定義にすぐ移動します。
  • find_implementations:インターフェースや抽象メソッドの実装を検索します。
  • get_hover_info:ホバー時に詳細なシンボル情報を表示します。
  • get_document_symbols:ファイル内のすべてのシンボルのアウトラインを表示します。
  • get_completions:コンテキストに応じたコード補完を提供します。
  • get_signature_help:関数のパラメーター候補やオーバーロードを表示します。
  • get_rename_locations:プロジェクト全体で名前を変更する箇所を安全に取得します。
  • rename:シンボルの名前を変更します。
  • get_code_actions:クイックフィックス、リファクタリング、改善を提供します。
  • get_semantic_tokens:強化されたハイライト情報を提供します。
  • get_call_hierarchy:呼び出し元と呼び出し先の関係を確認します。
  • get_type_hierarchy:クラスとインターフェースの継承関係を可視化します。
  • get_code_lens:インライン情報(参照、テストなど)を表示します。
  • get_selection_range:コードブロックの選択範囲をスマートに拡張します。
  • get_type_definition:基になる型定義に移動します。
  • get_declaration:シンボルの宣言に移動します。
  • get_document_highlights:シンボルの出現箇所をすべてハイライトします。
  • get_workspace_symbols:ワークスペース全体からシンボルを検索します。

要件

  • Visual Studio Code バージョン 1.93.0 以降
  • 使用する言語に対応した言語拡張機能(例:C# ファイルには C# 拡張機能)
利用可能なコマンド
  • Bifrost MCP: Start Server - MCP サーバーをポート 8008 で手動起動します
  • Bifrost MCP: Start Server on port - MCP サーバーを指定したポートで手動起動します
  • Bifrost MCP: Stop Server - 実行中の MCP サーバーを停止します
  • Bifrost MCP: Open Debug Panel - デバッグパネルを開いて、利用可能なツールをテストします

image

スター履歴

スター履歴グラフ

ツールの使用例

参照の検索
{
  "name": "find_usages",
  "arguments": {
    "textDocument": {
      "uri": "file:///path/to/your/file"
    },
    "position": {
      "line": 10,
      "character": 15
    },
    "context": {
      "includeDeclaration": true
    }
  }
}
ワークスペース内のシンボル検索
{
  "name": "get_workspace_symbols",
  "arguments": {
    "query": "MyClass"
  }
}

トラブルシューティング

問題が発生した場合は、次の点を確認してください。

  1. プロジェクトに適切な言語拡張機能がインストールされていることを確認します。
  2. プロジェクトが VSCode に正しく読み込まれていることを確認します。
  3. ポート 8008 がシステム上で利用可能であることを確認します。
  4. VSCode の出力パネルにエラーメッセージが表示されていないか確認します。

コントリビューション

追加機能を実装する場合は、こちらのVS Code のコマンドをご覧ください。まだ名前の変更など、いくつか必要だと思います。 GitHub リポジトリへのイシューやプルリクエストをお気軽にお寄せください。

vsce package

デバッグ

MCP: Open Debug Panel コマンドを使用してください。 画像

ライセンス

この拡張機能は APGL-3.0 License の下でライセンスされています。

コメント

MCP は初めてですか?

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

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