MCP Server Azure Function
該項目展示瞭如何使用Azure Functions創建MCP服務器,並通過GitHub Copilot Chat的代理模式進行交互。包含本地和遠程MCP服務器的配置方法,以及通過Terraform部署Azure Function的指南。
評分 : 2分
下載量 : 8
🚀 Azure Functions ⚡️❤️ MCP 服務器
本項目展示瞭如何利用 Azure Functions 創建 MCP(模型上下文協議)服務器,並將其與 GitHub Copilot Chat 的代理模式結合使用,為開發者提供便捷的開發體驗。
🚀 快速開始
本項目旨在利用 Azure Functions 創建 MCP 服務器,並與 GitHub Copilot Chat 的代理模式結合使用。以下是快速開始的步驟:
- 安裝用於創建 MCP 服務器的 NuGet 包。
- 運行項目。
- 測試 MCP 服務器。
- 配置 GitHub Copilot Chat。
- 若使用 Terraform 部署,需進行相應配置。
✨ 主要特性
- 利用 Azure Functions:藉助 Azure Functions 的強大功能創建 MCP 服務器。
- 與 GitHub Copilot Chat 集成:可與 GitHub Copilot Chat 的代理模式結合使用。
- 支持多種測試和配置方式:提供多種測試命令和配置文件示例。
📦 安裝指南
為了使用 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 檢查工具:
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 函數的密鑰",
"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:
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 輸出中找到函數名稱和主密鑰。
結語 👋🏻
希望這個指南對您有所幫助!如果有任何問題,請隨時與我聯繫。
精選MCP服務推薦

Markdownify MCP
Markdownify是一個多功能文件轉換服務,支持將PDF、圖片、音頻等多種格式及網頁內容轉換為Markdown格式。
TypeScript
1.7K
5分

Baidu Map
已認證
百度地圖MCP Server是國內首個兼容MCP協議的地圖服務,提供地理編碼、路線規劃等10個標準化API接口,支持Python和Typescript快速接入,賦能智能體實現地圖相關功能。
Python
702
4.5分

Firecrawl MCP Server
Firecrawl MCP Server是一個集成Firecrawl網頁抓取能力的模型上下文協議服務器,提供豐富的網頁抓取、搜索和內容提取功能。
TypeScript
3.8K
5分

Sequential Thinking MCP Server
一個基於MCP協議的結構化思維服務器,通過定義思考階段幫助分解複雜問題並生成總結
Python
257
4.5分

Edgeone Pages MCP Server
EdgeOne Pages MCP是一個通過MCP協議快速部署HTML內容到EdgeOne Pages並獲取公開URL的服務
TypeScript
249
4.8分

Notion Api MCP
已認證
一個基於Python的MCP服務器,通過Notion API提供高級待辦事項管理和內容組織功能,實現AI模型與Notion的無縫集成。
Python
119
4.5分

Magic MCP
Magic Component Platform (MCP) 是一個AI驅動的UI組件生成工具,通過自然語言描述幫助開發者快速創建現代化UI組件,支持多種IDE集成。
JavaScript
1.7K
5分

Context7
Context7 MCP是一個為AI編程助手提供即時、版本特定文檔和代碼示例的服務,通過Model Context Protocol直接集成到提示中,解決LLM使用過時信息的問題。
TypeScript
5.2K
4.7分