🤖
Azure App Service でリモート MCP サーバーをホストしてみた
はじめに
以下GitHubサンプルリポジトリをベースに、Azure App Service 上でリモート MCP サーバーをホストして動かしてみました。
前提
- 作業環境:Windows、VSCode
- MCPクライアント:GitHub Copilot
- 事前準備:
- Azure サブスクリプション登録
- Azure Developer CLI(azd)のインストール、ログイン
- .NET 9 SDK のインストール
※詳細はGithubリポジトリのREADMEファイルを参照。
デプロイ手順
リポジトリのクローン
まずは GitHub からサンプルリポジトリをクローンします。
git clone https://github.com/Azure-Samples/remote-mcp-webapp-dotnet.git
cd remote-mcp-webapp-dotnet
Azureへログイン
azd auth login
環境の作成
環境名(ここでは apptest)はリソース グループ名や App Service 名のプレフィックスに使われる。
azd env new apptest
アプリのデプロイ
以下コマンドの実行後に表示される指示に従い、Azure App Serviceのリージョン等を指定する。
azd up --environment apptest
ブラウザでトップページを確認
https://<your-webapp>.azurewebsites.net/
上記URLをブラウザで開いて以下の通り表示されればOK。
MCPクライアント(Github Copilot)の設定
デプロイしたMCPサーバーをVS Codeから利用するための設定手順です。
-
コマンドパレットを開く
- Ctrl + Shift + P
-
「MCP: Add Server」を実行
-
プロンプトに従って以下の情報を入力
- HTTP(サーバー送信イベント)を指定
- URL: デプロイしたSSEエンドポイント(例:
https://<your-webapp>.azurewebsites.net/sse
)
- サーバーIDの入力(任意のIDでOK)
- 設定先の指定(以下どちらでもOK)
- HTTP(サーバー送信イベント)を指定
-
MCPサーバ起動確認
上記手順3完了後、setting.jsonファイルにmcpの情報が設定さる。
動作確認
本サンプルコードは掛け算処理や温度変換等の処理が用意されているので、Github Copilotのエージェントモードで呼び出してみる。
おわりに
Azure App Serviceに簡単にMCPサーバーをデプロイできました。
カスタマイズして独自のツールを追加したい場合は、サンプルリポジトリのコードを参考にして拡張していくことも可能かと思います!
Discussion