Azure Functions ⚡️❤️ MCP Servers について
Azure FunctionsでMCPサーバーを作成し、GitHub Copilot Chatのエージェントモードで利用する方法を示すサンプルリポジトリです。ローカル実行、接続設定、TerraformによるAzure Function作成例を扱います。
主な機能
- 01Azure FunctionsでのMCPサーバー作成
- 02サンプルのローカル起動
- 03GitHub Copilot Chatの接続設定
- 04TerraformによるAzure Function基盤の作成
活用シーン
- 01Azure FunctionsでのMCPサーバー実装の学習
- 02MCP Inspectorを使ったローカルサーバーのテスト
- 03GitHub Copilot Chatからローカルまたはリモートサーバーへの接続
- 04TerraformによるAzure Function基盤の構築
MCP 対応
Azure FunctionsのMCP拡張でサーバーを作成し、MCP InspectorとGitHub Copilot ChatからSSEで接続する方法を示します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Azure Functions ⚡️❤️ MCP サーバー
こんにちは、開発者の皆さん 👋🏻!このリポジトリは、Azure Functions を使って MCP(Model Context Protocol)サーバーを作成し、GitHub Copilot Chat のエージェントモードで使用する方法を紹介する、私の YouTube チャンネルの動画の一部です。
MCP サーバーを作成するための NuGet パッケージ 📦
Azure Functions を使って MCP サーバーを作成するには、次のライブラリを使用できます。
dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Mcp --version 1.0.0-preview.2
この NuGet パッケージの詳細については、こちらをご覧ください:https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.Mcp
このサンプルコードを試すには、プロジェクトをローカルで実行する必要があります。
func start
MCP Inspector も使用できます。
npx @modelcontextprotocol/inspector http://localhost:7071/runtime/webhooks/mcp/sse
GitHub Copilot Chat を使って、この MCP サーバーとやり取りすることもできます。そのためには、.vscode/mcp.json ファイルを作成するか、このセクションを .vscode/settings.json ファイル内に追加するだけです。
{
"inputs": [
{
"type": "promptString",
"id": "mcp-azure-function-key",
"description": "Azure Function Key to access the MCP server on Azure",
"password": true
},
{
"type": "promptString",
"id": "mcp-azure-function-name",
"description": "Azure Function name to access the MCP server on Azure"
}
],
"servers": {
"local-mcp-azure-function": {
"type": "sse",
"url": "http://localhost:7071/runtime/webhooks/mcp/sse",
},
// "remote-mcp-azure-function": {
// "type": "sse",
// "url": "https://${input:mcp-azure-function-name}.azurewebsites.net/runtime/webhooks/mcp/sse",
// "headers": {
// "x-functions-key": "${input:mcp-azure-function-key}"
// }
// }
}
}
コマンドラインから MCP を追加することもできます。
code --add-mcp '{"name": "local-mcp", "type": "sse", "url": "http://localhost:7071/runtime/webhooks/mcp/sse"}'
MCP サーバーを使用するための GitHub Copilot Chat の設定 🛠️
この設定は、主に次の 2 つの部分で構成されています。
inputs:機密性の高い情報をハードコードせずに済むようにしますservers:GitHub Copilot Chat で有効にできる、ローカルおよびリモートのすべてのサーバーを指定します。
この例では、開発環境で実行している Azure Function と、Microsoft Azure にデプロイ済みの Azure Function の 2 つのサーバーを設定しています。2 つ目の設定では、最初のセクションで定義した inputs を使って、作成した Azure Function の名前と、それに関連付けられたキーを指定し、アクセスできるようにしています。
Azure で Azure Function を作成する ⚡️
Azure で Azure Function を作成するには、infra ディレクトリにある Terraform コードを使用できます。ただし、その前に次の情報を含む terraform.tfvars ファイルを作成する必要があります。
# ID de la suscripción de Azure
subscription_id = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
# API Key para YouTube, la cual podrías crear aquí: https://console.cloud.google.com/apis/credentials
youtube_api_key = "XXXXXXXXXXXX"
作成したら、Azure CLI でサインインします。
az login
その後、次のコマンドを実行して Azure Function を作成できます。
terraform init
terraform apply
これにより Azure に Azure Function が作成され、このリポジトリのコードを使用するように設定されます。ローカルマシンで Azure の認証情報を設定しておく必要があることを忘れないでください。
メモ
インフラストラクチャを用意したら、Azure Function のコードをデプロイする必要があります。Visual Studio Code のプラグインを使えば、簡単にデプロイできます。
準備ができたら、MCP サーバーを起動しようとしたときに、Azure で使用する関数の名前とマスターキーの入力を求められます。これらは Azure ポータルで確認できます。
それではまた 👋🏻!
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。
