🚀 Azure Functions ⚡️❤️ MCP サーバー
このリポジトリは、YouTube チャンネルの動画の一部です。この動画では、Azure Functions を使って MCP(モデルコンテキストプロトコル)サーバーを作成し、GitHub Copilot Chat の代理モードと組み合わせて使用する方法を紹介しています。
🚀 クイックスタート
このセクションでは、Azure Functions を使用して MCP サーバーをすばやくセットアップする手順を説明します。
✨ 主な機能
- Azure Functions を利用した MCP サーバーの作成
- GitHub Copilot Chat との連携
📦 インストール
MCP サーバー作成用の NuGet パッケージ
Azure Functions で MCP サーバーを作成するには、以下のライブラリを利用できます。
dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Mcp --version 1.0.0-preview.2
この NuGet パッケージの詳細情報については、こちらを参照してください。
💻 使用例
サンプルコードのテスト
このサンプルコードをテストするには、プロジェクトをローカルで実行する必要があります。
func start
MCP チェックツールの使用
MCP チェックツールを使用して、以下のコマンドを実行できます。
npx @modelcontextprotocol/inspector http://localhost:7071/runtime/webhooks/mcp/sse
GitHub Copilot Chat とのやり取り
GitHub Copilot Chat でこの MCP サーバーとやり取りするには、.vscode/mcp.json
ファイルを作成するか、.vscode/settings.json
に以下の部分を含めます。
{
"inputs": [
{
"type": "promptString",
"id": "mcp-azure-function-key",
"description": "Azure 関数にアクセスするためのキー",
"password": true
},
{
"type": "promptString",
"id": "mcp-azure-function-name",
"description": "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 追加
コマンドラインから MCP を追加することもできます。
code --add-mcp '{"name": "local-mcp", "type": "sse", "url": "http://localhost:7071/runtime/webhooks/mcp/sse"}'
📚 ドキュメント
インストール手順
NuGet パッケージのインストール
プロジェクトに以下の NuGet パッケージをインストールします。
dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Mcp --version 1.0.0-preview.2
プロジェクトの実行
Azure Functions プロジェクトを起動します。
func start
システムから関数名とマスターキーの入力を求められたら、Azure ポータルで見つけた該当の情報を提供します。
MCP サーバーのテスト
以下のコマンドを使用して、MCP サーバーが正常に動作していることをテストします。
npx @modelcontextprotocol/inspector http://localhost:7071/runtime/webhooks/mcp/sse
GitHub Copilot Chat の設定
GitHub Copilot Chat で MCP サーバーを設定するには、以下の手順に従います。
- プロジェクトのルートディレクトリに
.vscode/settings.json
ファイルを作成または編集します。 - MCP サーバーを設定するために以下の内容を追加します。
{
"inputs": [
{
"type": "promptString",
"id": "mcp-azure-function-key",
"description": "Azure 関数にアクセスするためのキー",
"password": true
},
{
"type": "promptString",
"id": "mcp-azure-function-name",
"description": "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}"
// }
// }
}
}
Terraform を使用したデプロイ
Terraform を使用して Azure リソースをデプロイする場合は、outputs.tf
ファイルに以下の内容を含めてください。
output "function_name" {
value = azure_function.name
}
output "function_master_key" {
value = azure_function.master_key
}
デプロイ後、Terraform の出力から関数名とマスターキーを見つけることができます。
👋🏻 まとめ
このガイドがお役に立てば幸いです!何か質問があれば、いつでもご連絡ください。







