Aspire.MCP.Sample について
Aspire.MCP.Sample は、Aspire 上に構築されたサンプルプロジェクトで、MCP サーバーと Blazor のチャットクライアントを含みます。C# で MCP の通信や Azure へのデプロイを学びたい開発者に向けたものです。
主な機能
- 01Aspire によるサービスとコンテナのオーケストレーション
- 02クライアントとの通信を処理する MCP サーバー
- 03MCP サーバーに接続する Blazor チャットクライアント
- 04Azure AI Foundry、Ollama、GitHub Models から選べるモデル
- 05azd コマンドによる Azure へのデプロイ
活用シーン
- 01C# で MCP サーバーとクライアントを構築する方法を学ぶ
- 02ローカルの Ollama モデルで関数呼び出しを検証する
- 03azd を使って MCP サーバーを Azure にデプロイする
MCP 対応
本プロジェクトには MCP サーバーのサンプルと MCP クライアントが含まれます。クライアントはチャット画面からサーバーの関数を呼び出し、ツールの実行結果を表示します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Aspire.MCP.Sample
Aspire を使用した MCP サーバーと MCP クライアントのサンプルです。
概要
このサンプルでは、Aspire を使用した Model Context Protocol(MCP)サーバーとクライアントの構成を紹介します。構造化された Aspire 環境で C# を使用し、MCP 通信を確立および管理する方法を示します。
クイックデモ
プロジェクトの動作を紹介する 5 分間の動画をご覧ください。
ソリューションを Azure にデプロイする方法と、Visual Studio Code から Azure にデプロイされた MCP サーバーを利用する方法を紹介する 5 分間の動画をご覧ください。
機能
- Aspire との統合: コンテナー化されたオーケストレーションとサービス管理に Aspire を使用します。
- MCP サーバー: クライアントとの通信を管理する MCP サーバーを実装します。
- MCP クライアント: MCP サーバーへの接続と通信の方法を示す Blazor チャットクライアントのサンプルです。
- モデルの選択: チャットクライアントでは、Azure AI Foundry、Ollama、または GitHub Models の LLM を使用できます。MCP サーバーの関数を呼び出すには、選択したモデルが関数呼び出しに対応している必要があります。
- 関数呼び出し: 選択したモデルを使用して MCP サーバーの関数を呼び出す方法を示します。
- ツールの結果: 関数呼び出しの結果をチャットインターフェイスに表示します。
- Azure へのデプロイ:
azdコマンドを使用して、プロジェクトを簡単に Azure にデプロイできます。
はじめに
前提条件
- .NET SDK 9.0 以降
- Visual Studio 2022 または Visual Studio code
- 関数呼び出しに対応した LLM または SLM。
- クラウドでモデルを実行するには、Azure AI Foundry を使用します。例:gpt-4o-mini
- クラウドでモデルを実行するには、GitHub Models を使用します。例:gpt-4o-mini
- ローカルモデルの実行には Ollama を使用します。推奨:phi4-mini、llama3.2、または Qwq
ローカルで実行する
-
リポジトリをクローンします。
-
Aspire プロジェクトのディレクトリに移動します。
cd .\src\McpSample.AppHost\ -
プロジェクトを実行します。
dotnet run -
Aspire ダッシュボードで、Blazor チャットクライアントのプロジェクトに移動します。

-
チャット設定ページで、使用するモデルを指定します。Azure AI Foundry(推奨:gpt-4o-mini)、GitHub Models、または Ollama を使用したローカルモデル(推奨:llama3.2)を選択できます。

-
これでモデルとチャットできます。MCP サーバーの関数が呼び出されるたびに、
Tool Resultセクションがチャットに表示されます。
アーキテクチャ図

GitHub Codespaces
(作業中)
- Codespaces の構成は近日中に追加されます。
デプロイ
Codespaces またはローカル環境でプロジェクトを開いたら、Azure にデプロイできます。
ターミナルウィンドウから、このリポジトリをクローンしたフォルダーを開き、次のコマンドを実行します。
-
Azure にログインします。
azd auth login -
すべてのリソースをプロビジョニングしてデプロイします。
azd upazd環境名(「aspiremcp」など)の入力を求められます。Azure アカウントのサブスクリプションと場所を選択してください。 -
azdによるデプロイが完了すると、Azure に作成されたリソースの一覧と、コマンド出力に一連の URI が表示されます。 -
blazorchat の URI にアクセスすると、MCP Chat App が表示されます!🎉
注: デプロイファイルは ./src/McpSample.AppHost/infra/ フォルダーにあります。これらは Aspire AppHost プロジェクトによって生成されます。
コントリビュート
コントリビュートを歓迎します!お気軽に Issue やプルリクエストを送信してください。
ライセンス
このプロジェクトは MIT ライセンスのもとでライセンスされています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。

