MCP Server Azure Function
M

MCP Server Azure Function

该项目展示了如何使用Azure Functions创建MCP服务器,并通过GitHub Copilot Chat的代理模式进行交互。包含本地和远程MCP服务器的配置方法,以及通过Terraform部署Azure Function的指南。
2分
8.2K

安装

复制以下命令到你的Client进行配置
注意:您的密钥属于敏感信息,请勿与任何人分享。

🚀 Azure Functions ⚡️❤️ MCP 服务器

这个仓库是我在 YouTube 频道上一个视频的一部分,该视频展示了如何利用 Azure Functions 创建 MCP(模型上下文协议)服务器,并将其与 GitHub Copilot Chat 的代理模式结合使用。

✨ 主要特性

利用 Azure Functions 可创建 MCP(模型上下文协议)服务器,并能与 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 服务器,请按照以下步骤操作:
    1. 在您的项目根目录中创建或编辑 .vscode/settings.json 文件。
    2. 添加以下内容以配置 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 输出中找到函数名称和主密钥。

📚 详细文档

希望这个指南对您有所帮助!如果有任何问题,请随时与我联系。

替代品

C
Contracts Wizard
OpenZeppelin Contracts Wizard是一个交互式智能合约构建工具,允许用户通过选择合约类型、参数和功能来生成基于OpenZeppelin组件的合约代码。支持多种编程语言,并提供API和嵌入功能。
TypeScript
7.0K
4分
Z
Zen MCP Server
Zen MCP是一个多模型AI协作开发服务器,为Claude和Gemini CLI等AI编码助手提供增强的工作流工具和跨模型上下文管理。它支持多种AI模型的无缝协作,实现代码审查、调试、重构等开发任务,并能保持对话上下文在不同工作流间的延续。
Python
12.9K
5分
O
Opendia
OpenDia是一款开源浏览器扩展工具,允许AI模型直接控制用户浏览器,利用现有登录状态、书签等数据进行自动化操作,支持多种浏览器和AI模型,注重隐私保护。
JavaScript
9.5K
5分
C
Container Use
Container Use是一个开源工具,为编码代理提供容器化隔离环境,支持多代理并行开发且互不干扰。
Go
10.7K
5分
N
Notte Browser
已认证
Notte是一个开源的全栈网络AI代理框架,提供浏览器会话、自动化LLM驱动的代理、网页观察与操作、凭证管理等功能,旨在将互联网转化为代理友好的环境,并通过自然语言描述网站结构,降低LLM的认知负担。
19.5K
4.5分
S
Search1api
Search1API MCP Server是一个基于Model Context Protocol (MCP)的服务器,提供搜索和爬取功能,支持多种搜索服务和工具。
TypeScript
17.5K
4分
D
Duckduckgo MCP Server
已认证
DuckDuckGo搜索MCP服务器,为Claude等LLM提供网页搜索和内容抓取服务
Python
39.0K
4.3分
B
Bing Search MCP
一个用于集成微软Bing搜索API的MCP服务器,支持网页、新闻和图片搜索功能,为AI助手提供网络搜索能力。
Python
19.3K
4分
F
Figma Context MCP
Framelink Figma MCP Server是一个为AI编程工具(如Cursor)提供Figma设计数据访问的服务器,通过简化Figma API响应,帮助AI更准确地实现设计到代码的一键转换。
TypeScript
44.3K
4.5分
F
Firecrawl MCP Server
Firecrawl MCP Server是一个集成Firecrawl网页抓取能力的模型上下文协议服务器,提供丰富的网页抓取、搜索和内容提取功能。
TypeScript
64.7K
5分
D
Duckduckgo MCP Server
已认证
DuckDuckGo搜索MCP服务器,为Claude等LLM提供网页搜索和内容抓取服务
Python
39.0K
4.3分
E
Edgeone Pages MCP Server
EdgeOne Pages MCP是一个通过MCP协议快速部署HTML内容到EdgeOne Pages并获取公开URL的服务
TypeScript
20.7K
4.8分
B
Baidu Map
已认证
百度地图MCP Server是国内首个兼容MCP协议的地图服务,提供地理编码、路线规划等10个标准化API接口,支持Python和Typescript快速接入,赋能智能体实现地图相关功能。
Python
31.1K
4.5分
M
Minimax MCP Server
MiniMax Model Context Protocol (MCP) 是一个官方服务器,支持与强大的文本转语音、视频/图像生成API交互,适用于多种客户端工具如Claude Desktop、Cursor等。
Python
36.2K
4.8分
E
Exa Web Search
已认证
Exa MCP Server是一个为AI助手(如Claude)提供网络搜索功能的服务器,通过Exa AI搜索API实现实时、安全的网络信息获取。
TypeScript
31.7K
5分
C
Context7
Context7 MCP是一个为AI编程助手提供实时、版本特定文档和代码示例的服务,通过Model Context Protocol直接集成到提示中,解决LLM使用过时信息的问题。
TypeScript
47.6K
4.7分
AIbase
智启未来,您的人工智能解决方案智库