🤖

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

alt text

アプリのデプロイ

以下コマンドの実行後に表示される指示に従い、Azure App Serviceのリージョン等を指定する。

azd up --environment apptest

alt text

ブラウザでトップページを確認

https://<your-webapp>.azurewebsites.net/

上記URLをブラウザで開いて以下の通り表示されればOK。
alt text

MCPクライアント(Github Copilot)の設定

デプロイしたMCPサーバーをVS Codeから利用するための設定手順です。

  1. コマンドパレットを開く

    • Ctrl + Shift + P
  2. 「MCP: Add Server」を実行
    alt text

  3. プロンプトに従って以下の情報を入力

    • HTTP(サーバー送信イベント)を指定
      alt text
    • URL: デプロイしたSSEエンドポイント(例: https://<your-webapp>.azurewebsites.net/sse
      alt text
    • サーバーIDの入力(任意のIDでOK)
      alt text
    • 設定先の指定(以下どちらでもOK)
      alt text
  4. MCPサーバ起動確認
    上記手順3完了後、setting.jsonファイルにmcpの情報が設定さる。
    alt text

動作確認

本サンプルコードは掛け算処理や温度変換等の処理が用意されているので、Github Copilotのエージェントモードで呼び出してみる。
alt text

おわりに

Azure App Serviceに簡単にMCPサーバーをデプロイできました。
カスタマイズして独自のツールを追加したい場合は、サンプルリポジトリのコードを参考にして拡張していくことも可能かと思います!

Discussion