Azure MCP服务器使用说明
项目简介
Azure MCP (Model Context Protocol) 服务器是一个后端应用,它实现了 Model Context Protocol,专门为 Claude Desktop 这类语言模型客户端提供与 Azure 云服务交互的能力。通过这个服务器,用户可以使用自然语言指示 Claude Desktop 查询和管理 Azure 资源,例如获取订阅信息、列出资源组、操作虚拟机等。
主要功能点
- Azure 资源管理: 允许 Claude Desktop 通过自然语言界面访问和管理 Azure 资源。
- 订阅和租户管理: 支持列出和选择 Azure 订阅及租户,方便用户在多账户环境下操作。
- 自动身份验证: 利用 Azure 的 DefaultAzureCredential 机制,自动尝试多种身份验证方式,简化配置过程。
- 工具化操作: 提供 "run-azure-code"、"list-tenants"、"select-tenant" 等工具,供 Claude Desktop 调用执行 Azure 相关操作。
- 完善的错误处理: 具备重试机制和详细的错误报告,增强服务器的稳定性和可用性。
- 兼容 Claude Desktop: 响应格式经过优化,确保与 Claude Desktop 客户端的良好兼容性。
安装步骤
- 克隆仓库
git clone https://github.com/Streen9/azure-mcp.git cd azure-mcp - 安装依赖
npm install
服务器配置
要将 Azure MCP 服务器配置到 MCP 客户端(例如 Claude Desktop),您需要编辑客户端的配置文件(通常是 'claude_desktop_config.json'),添加如下服务器配置信息。这里的 'command' 和 'args' 描述了如何启动 Azure MCP 服务器进程。
{ "mcpServers": { "azure": { "command": "tsx", "args": [ "C:/Users/[YourUsername]/path/to/azure-mcp/src/launcher.ts" ] } } }
配置参数说明:
- server name: 'azure' (服务器名称,客户端用此名称引用该服务器,可以自定义)
- command: 'tsx' (启动服务器的命令,这里假设您已全局安装 'tsx',如果使用 'node' 运行 'launcher.ts',请将 'tsx' 替换为 'node')
- args: 启动命令的参数,指向 'launcher.ts' 文件路径,请务必将 'C:/Users/[YourUsername]/path/to/azure-mcp' 替换为您实际的仓库路径
注意:
- 请确保您的系统已安装 Node.js (v18 或更高版本)。
- 您需要根据实际情况修改 'args' 中的路径,指向您本地 'azure-mcp' 仓库中 'src/launcher.ts' 文件的绝对路径。
- Claude Desktop 启动时会读取此配置,并根据配置信息尝试连接 Azure MCP 服务器。
基本使用方法
-
启动 Claude Desktop 客户端 (如果已运行,请先关闭再重新启动,确保配置生效)。
-
在 Claude Desktop 的聊天界面中,您可以使用自然语言提出关于 Azure 的问题,例如:
- "Can you get all the available Azure accounts and subscriptions?" (你能获取所有可用的 Azure 账户和订阅吗?)
- "List all resource groups in my subscription" (列出我订阅中的所有资源组)
- "Show me all virtual machines in a specific resource group" (展示特定资源组中的所有虚拟机)
Claude Desktop 会将这些问题通过 MCP 协议发送给 Azure MCP 服务器处理,服务器会调用 Azure SDK 获取信息,并将结果返回给 Claude Desktop 展示。
身份验证:
Azure MCP 服务器使用 'DefaultAzureCredential' 进行身份验证,它会自动尝试以下方式进行 Azure 身份验证:
- 环境变量
- 托管身份
- Azure CLI
- Visual Studio Code
- 交互式浏览器
通常情况下,如果您的 Azure CLI 已经登录,或者在 Azure VM 中运行,则可以自动完成身份验证,无需额外配置。如果遇到身份验证问题,请参考仓库的 Troubleshooting 部分或 Azure 官方文档进行排查。
信息
分类
开发者工具