关于 MCP Client Configuration with Azure App Configuration
MCP Client Configuration with Azure App Configuration 是一个 C# 管理器,使用集中存储的设置让应用连接 MCP 服务。它支持按环境配置,并可自动刷新设置,无需重新部署。
主要功能
- 01在 Azure App Configuration 中存储服务配置
- 02按设定间隔自动刷新配置
- 03按环境区分设置
- 04通过 Microsoft Entra ID 验证 Azure 资源访问
- 05连接 stdio 和 SSE 类型的服务
适用场景
- 01无需重新部署应用即可更新 MCP 服务设置
- 02维护开发、测试和生产环境的独立配置
- 03为分阶段部署策略应用配置变更
MCP 相关
使用集中存储且可刷新的配置,管理应用到多个 MCP 服务的连接。支持 stdio 和 SSE 等服务类型。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
使用 Azure App Configuration 配置 MCP 客户端
弥合开发与生产之间的差距
如今,开发者主要使用 Claude Desktop 或 VSCode 等工具在本地使用 MCP 服务。虽然这些环境非常适合实验和开发,但将由 MCP 驱动的应用程序迁移到生产环境会面临诸多挑战:
- 配置管理:本地配置(例如 VSCode 的 mcp.json)无法顺利迁移到生产环境
- 可扩展性问题:在生产部署中,如果必须在每个服务实例中重复配置 MCP 设置,就会导致配置激增,增加维护负担并带来不一致的风险
- 安全要求:超出本地开发范围后,必须进行适当的身份验证和授权
- 运维灵活性:能够在不重新部署的情况下更新配置变得至关重要
ConfiguredMcpClientManager 解决方案
ConfiguredMcpClientManager 的实现通过以下方式应对这些挑战:
- 集中管理配置:将所有 MCP 服务配置存储在 Azure App Configuration 中
- 支持动态更新:无需重新部署应用程序即可更改 MCP 服务
- 支持特定于环境的设置:为开发、测试和生产环境分别维护配置
- 支持部署策略:支持蓝绿部署、金丝雀发布,以及对不同模型配置进行 A/B 测试
主要功能
- 配置抽象:只需编写一次应用程序,即可根据环境连接到不同的 MCP 服务
- 自动刷新机制 配置会按可配置的间隔自动更新
- 无缝身份验证:与 Microsoft Entra ID 集成,以安全访问 Azure 资源
- 部署灵活性:支持各种 MCP 服务类型(stdio、sse 等)及特定于环境的参数
设置 Azure App Configuration
- 在 Azure 门户中创建 Azure App Configuration 存储
- 将 MCP 服务配置添加为键值对:
示例:Azure MCP 服务(stdio 类型)
键:MCP:AzureMCPServer
值:
{
"name": "Azure MCP Server",
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@azure/mcp@latest",
"server",
"start"
]
}
示例:远程 SSE 服务
键:MCP:Fetch
值:
{
"name": "Fetch",
"type": "sse",
"url": "https://remote.mcpservers.org/fetch"
}
实施最佳实践
-
特定于环境的配置:
- 使用 Azure App Configuration 中的标签区分开发/测试/生产环境
- 示例:
MCP:AzureMCPServer;env=production与MCP:AzureMCPServer;env=development
-
监控和可观测性:
- 添加遥测数据以跟踪模型在生产环境中的性能
- 使用配置启用/禁用详细日志记录
-
回滚策略:
- 使用版本标签保留先前可用的配置
- 为生产问题实施快速回滚流程
-
配置验证:
- 在将新配置应用于生产环境之前进行验证
- 实施熔断器以防止故障级联
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。