Azure Resource Management

Azure Resource Management

🚀 Azure MCP(模型上下文协议)用于Claude Desktop

Azure MCP(模型上下文协议)是一个使Claude Desktop能够与Azure服务交互的实现。通过此集成,Claude可以通过自然语言对话直接查询和管理Azure资源,极大地提升了操作的便捷性。

🚀 快速开始

Azure MCP是一个允许与Azure服务进行交互的协议。借助本指南,您能够了解如何配置和使用Azure MCP来管理资源、订阅和租户。

✨ 主要特性

  • Azure资源管理:与Azure Resource Management客户端接口,可对Azure资源进行高效管理。
  • 订阅管理:能够列出和管理Azure订阅,方便用户对订阅进行操作。
  • 租户管理:支持列出并选择Azure租户,满足不同租户的使用需求。
  • 自动认证:利用DefaultAzureCredential实现灵活的认证方法,保障认证的便捷性和安全性。
  • 错误处理:针对瞬时故障设有重试机制,增强了系统的稳定性。
  • 干净的响应格式化:提供与Claude Desktop兼容的适当格式的响应,提升用户体验。

📦 安装指南

先决条件

  • Node.js(v18或更高版本)
  • Claude Desktop应用程序
  • 带有适当权限的Azure账户
  • Azure CLI(可选,用于基于CLI的身份验证)

手动安装

  1. 克隆仓库:
git clone https://github.com/Streen9/azure-mcp.git
cd azure-mcp
  1. 安装依赖项:
npm install
  1. 配置Claude Desktop:
    • 打开 claude_desktop_config.json
    • 添加以下MCP配置:
{
"mcpServers": {
"sequential-thinking": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-sequential-thinking"
]
},
"azure": {
"command": "tsx",
"args": [
"C:/Users/[YourUsername]/path/to/azure-mcp/src/launcher.ts"
]
}
}
}

💻 使用示例

基础用法

基本操作

  1. 若Claude Desktop正在运行,请先关闭它(可检查任务管理器)。
  2. 启动Claude Desktop。
  3. 在聊天中,您可以询问与Azure相关的问题,例如:
    • 获取所有可用的Azure账户和订阅:
      /azure/list_accounts
      
    • 列出特定订阅中的资源组:
      /azure/subscriptions/{subscription_id}/resource_groups
      
    • 显示虚拟机信息:
      /azure/vm/{subscription_id}/{resource_group}/{vm_name}
      

示例对话

你:/azure/list_accounts
Claude:正在获取你的 Azure 账户和订阅信息...
完成!以下是可用的订阅列表:
- 订阅 1: ID: sub-12345678, 名称: Production
- 订阅 2: ID: sub-abcdefgh, 名称: Development

你可以使用这些订阅 ID 继续执行其他操作。

高级用法

在聊天中,您还可以使用自然语言询问与Azure相关的问题,例如:

你:你能获取所有可用的Azure账户和订阅吗?
Claude:我可以帮助你列出所有可用的Azure租户和订阅。
[Claude将使用Azure MCP来获取并显示信息]

🔧 技术细节

认证

该服务器支持通过DefaultAzureCredential的多种身份验证方法:

  • 环境变量
  • 管理身份
  • Azure CLI
  • Visual Studio Code
  • 浏览器交互式

服务器将按顺序尝试这些方法,直到其中一个成功。

项目结构

azure-mcp/
├── src/
│   ├── launcher.ts       # 服务器入口点
│   ├── AzureServer.ts    # 主MCP服务器实现
│   └── LoggerService.ts  # 日志实用工具
├── package.json
└── README.md

关键组件

  • AzureMCPServer:主要的MCP服务器类
  • HandleCallTool:处理传入工具请求
  • ExecuteWithRetry:实现重试逻辑以增强操作弹性

🛠️ 故障排除

常见问题解答

  1. 身份验证问题
    • 确保通过Azure CLI登录(az login)。
    • 检查服务主体的环境变量。
    • 验证您的Azure账户具有必要的权限。
  2. 连接问题
    • 确保Claude Desktop配置正确。
    • 检查配置文件中的路径是否匹配安装位置。
    • 确保没有其他实例在运行。
  3. 常见错误
    • NO_TENANT:使用'选择租户'工具或 /azure/select_tenant {tenant_id} 命令选择一个租户。
    • NO_CLIENTS:确保初始化和身份验证正确。
    • CODE_EXECUTION_FAILED:检查Azure权限和连接。
    • UNAUTHORIZED:确保您使用的凭据具有足够的权限,检查是否启用了Azure Active Directory应用注册。
  4. 无法连接到Azure
    • 确保您的Azure账户已正确配置,并且网络连接正常。
    • 检查是否启用了正确的API和权限。

🤝 贡献

欢迎贡献!请随意提交Pull Request。

贡献者

🙏 致谢

感谢以下团队:

  • Claude Desktop团队为MCP实现提供支持。
  • Azure SDK团队提供了全面的SDK。
  • Model Context Protocol使AI服务集成成为可能。

⚠️ 安全注意事项

此实现遵循安全最佳实践:

  • 输入验证:确保所有用户提供的数据经过严格验证,防止未授权访问。
  • 最小权限:使用受限的凭据进行身份验证和授权。
  • 日志记录和监控:实施详细日志记录并持续监控,以便及时检测潜在问题。

📞 联系方式

如需联系,请访问项目主页或在GitHub上提交问题。


注意:此文档为示例,实际内容可能有所不同。请参考官方文档获取准确信息。

smithery徽章

  • 0 关注
  • 0 收藏,24 浏览
  • system 提出于 2025-10-06 01:45

相似服务问题

相关AI产品