.NET OpenAI MCP Agent について
.NET OpenAI MCP Agent は、.NET と OpenAI のモデルで AI エージェントを構築し、Azure Container Apps 上で動作する MCP サーバーに接続するサンプルプロジェクトです。.NET と Azure を組み合わせた実装を参照したい開発者に向いています。
主な機能
- 01Blazor による .NET 製 MCP ホストとクライアント
- 02TypeScript 製の ToDo MCP サーバーへの接続
- 03Azure Container Apps へのクライアントとサーバーのデプロイ
- 04azd コマンドによるデプロイ
活用シーン
- 01.NET で MCP クライアントのエージェントを構築する方法の学習
- 02リモート MCP サーバーの Azure Container Apps へのデプロイ
- 03Azure OpenAI と MCP を組み合わせる構成の確認
MCP 対応
本プロジェクトは MCP クライアントと MCP サーバーの両方を含みます。Blazor アプリがクライアントとして TypeScript 製の ToDo MCP サーバーに接続し、エージェントから機能を利用します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
name: .NET OpenAI MCP Agent description: これは、Azure OpenAI を使用し、TypeScript で記述されたリモート MCP サーバーを備えた、.NET で記述された MCP エージェントアプリです。 languages:
- csharp
- bicep
- azdeveloper products:
- azure-openai
- azure-container-apps
- azure page_type: sample urlFragment: openai-mcp-agent-dotnet
.NET OpenAI MCP Agent
これは、Azure OpenAI を使用し、TypeScript で記述されたリモート MCP サーバーを備えた、.NET で記述された MCP エージェントアプリです。
機能
このアプリには、次のような機能があります。
- MCP ホストと MCP クライアントアプリは .NET Blazor で記述されています。
- MCP クライアントアプリは、TypeScript で記述された To Do MCP サーバーに接続します。
- MCP クライアントアプリとサーバーアプリは、どちらも Azure Container Apps (ACA) 上で実行されます。
- MCP クライアントアプリは、ACA に組み込まれている認証で保護されています。
- MCP サーバーアプリには、MCP クライアントアプリからのみアクセスできます。

前提条件
- .NET 9 SDK
- Visual Studio Code + C# Dev Kit
- node.js LTS
- Docker Desktop または Podman Desktop
- Azure サブスクリプション
はじめに
GitHub Codespaces を使って、このサンプルアプリを実行できるようになりました(起動には数分かかります)!👉 。
Azure AI Foundry または GitHub Models を用意する
- このアプリを実行するには、Azure AI Foundry インスタンスが必要です。
- Azure AI Foundry を使用する場合は、GPT-5-mini モデルがデプロイされていることを確認してください。
- デフォルトでは、デプロイされるモデル名は
gpt-5-miniです。
AI エージェントアプリを取得する
-
アプリ用のディレクトリを作成します。
# zsh/bash mkdir -p openai-mcp-agent-dotnet# PowerShell New-Item -ItemType Directory -Path openai-mcp-agent-dotnet -Force -
azdを初期化します。cd openai-mcp-agent-dotnet azd init -t openai-mcp-agent-dotnetNOTE: Azure リソースグループの名前となる環境名の入力を求められます。たとえば、環境名は
openai-mcp-agentのようになります。
Azure で実行する
-
必要なアクセス許可があることを確認します。
- Azure アカウントには、サブスクリプションレベルで
Microsoft.Authorization/roleAssignments/writeアクセス許可が必要です。たとえば、ロールベースのアクセス制御管理者、ユーザー アクセス管理者、または所有者が該当します。 - Azure アカウントには、サブスクリプションレベルで
Microsoft.Resources/deployments/writeアクセス許可も必要です。
- Azure アカウントには、サブスクリプションレベルで
-
Azure にログインします。
azd auth login -
アプリを Azure にデプロイします。MCP サーバーアプリが自動的に検出され、同時にデプロイされます。
azd upNOTE:
-
既定では、MCP クライアントアプリは ACA 組み込みの認証機能によって保護されています。
azd upを実行する前に、次の設定を行うことでこの機能を無効にできます。azd env set USE_LOGIN false -
既定では、エージェントは
gpt-5-miniを使用します。次の設定を行うことで、別のモデルに変更できます。azd env set GPT_MODEL_NAME <azure-openai-model-name> -
既定では、エージェントは Azure OpenAI 認証にキーを使用しない方法を使用します。次の設定を行うことで、Azure OpenAI API キーを使用するように変更できます。
azd env set AOAI_USE_API_KEY true -
既定では、エージェントは本番モードです。次の設定を行うことで、より詳細なログを表示する開発モードの
BothまたはClientに変更できます。azd env set ENABLE_DEVELOPMENT_MODE Both -
既定では、MCP サーバーアプリは本番モードです。次の設定を行うことで、より詳細なログを表示する開発モードの
BothまたはServerに変更できます。azd env set ENABLE_DEVELOPMENT_MODE Both -
デプロイ中に、
- Azure サブスクリプションと 2 つの場所の入力を求められます。1 つは Azure AI Foundry 用、もう 1 つはその他のリソース用です。
-
-
ターミナルで、デプロイされたクライアントアプリの URL を取得します。次のような形式です。
https://mcptodo-clientapp.{{some-random-string}}.{{location}}.azurecontainerapps.io/ -
クライアントアプリの URL にアクセスし、アプリにログインして、次のようなプロンプトを入力します。
To Do の一覧を表示してください。 「午後 1 時に会議」を設定してください。 To Do の一覧を表示してください。 #1 を完了としてマークしてください。 To Do リストから #1 を削除してください。NOTE:
USE_LOGINの値をfalseに設定している場合、ログインを求められないことがあります。 -
デプロイしたすべてのリソースをクリーンアップします。
azd down --force --prune
リソース
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。