MCP Server Azure Function
M

MCP Server Azure Function

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

安装

复制以下命令到你的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 输出中找到函数名称和主密钥。

📚 详细文档

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

替代品

K
Klavis
Klavis AI是一个开源项目,提供在Slack、Discord和Web平台上简单易用的MCP(模型上下文协议)服务,包括报告生成、YouTube工具、文档转换等多种功能,支持非技术用户和开发者使用AI工作流。
TypeScript
8.2K
5分
M
MCP
微软官方MCP服务器,为AI助手提供最新微软技术文档的搜索和获取功能
10.0K
5分
A
Aderyn
Aderyn是一个开源的Solidity智能合约静态分析工具,由Rust编写,帮助开发者和安全研究人员发现Solidity代码中的漏洞。它支持Foundry和Hardhat项目,可生成多种格式报告,并提供VSCode扩展。
Rust
5.9K
5分
D
Devtools Debugger MCP
Node.js调试器MCP服务器,提供基于Chrome DevTools协议的完整调试功能,包括断点设置、单步执行、变量检查和表达式评估等
TypeScript
6.4K
4分
S
Scrapling
Scrapling是一个自适应网页抓取库,能自动学习网站变化并重新定位元素,支持多种抓取方式和AI集成,提供高性能解析和开发者友好体验。
Python
7.9K
5分
M
Mcpjungle
MCPJungle是一个自托管的MCP网关,用于集中管理和代理多个MCP服务器,为AI代理提供统一的工具访问接口。
Go
0
4.5分
C
Cipher
Cipher是一个专为编程AI代理设计的开源记忆层框架,通过MCP协议与各种IDE和AI编码助手集成,提供自动记忆生成、团队记忆共享和双系统记忆管理等核心功能。
TypeScript
0
5分
N
Nexus
Nexus是一个AI工具聚合网关,支持连接多个MCP服务器和LLM提供商,通过统一端点提供工具搜索、执行和模型路由功能,支持安全认证和速率限制。
Rust
0
4分
D
Duckduckgo MCP Server
已认证
DuckDuckGo搜索MCP服务器,为Claude等LLM提供网页搜索和内容抓取服务
Python
57.0K
4.3分
F
Figma Context MCP
Framelink Figma MCP Server是一个为AI编程工具(如Cursor)提供Figma设计数据访问的服务器,通过简化Figma API响应,帮助AI更准确地实现设计到代码的一键转换。
TypeScript
55.9K
4.5分
F
Firecrawl MCP Server
Firecrawl MCP Server是一个集成Firecrawl网页抓取能力的模型上下文协议服务器,提供丰富的网页抓取、搜索和内容提取功能。
TypeScript
96.6K
5分
E
Exa Web Search
已认证
Exa MCP Server是一个为AI助手(如Claude)提供网络搜索功能的服务器,通过Exa AI搜索API实现实时、安全的网络信息获取。
TypeScript
40.2K
5分
B
Baidu Map
已认证
百度地图MCP Server是国内首个兼容MCP协议的地图服务,提供地理编码、路线规划等10个标准化API接口,支持Python和Typescript快速接入,赋能智能体实现地图相关功能。
Python
39.0K
4.5分
E
Edgeone Pages MCP Server
EdgeOne Pages MCP是一个通过MCP协议快速部署HTML内容到EdgeOne Pages并获取公开URL的服务
TypeScript
25.5K
4.8分
C
Context7
Context7 MCP是一个为AI编程助手提供实时、版本特定文档和代码示例的服务,通过Model Context Protocol直接集成到提示中,解决LLM使用过时信息的问题。
TypeScript
72.8K
4.7分
M
Minimax MCP Server
MiniMax Model Context Protocol (MCP) 是一个官方服务器,支持与强大的文本转语音、视频/图像生成API交互,适用于多种客户端工具如Claude Desktop、Cursor等。
Python
46.6K
4.8分
AIBase
智启未来,您的人工智能解决方案智库