返回市场
Azure-MCP

Azure-MCP

作者:kalivaraprasad-gonapa16 星标更新:2025-07-04

项目介绍

Azure MCP(模型上下文协议)用于Claude桌面

smithery徽章

<a href="https://glama.ai/mcp/servers/8lqipo67ap"> <img width="380" height="200" src="https://gips0.baidu.com/it/u=4241725380,1096446038&fm=3081&app=3081&f=PNG?w=760&h=400" /> </a>

这是一个实现Model Context Protocol (MCP),使Claude桌面能够与Azure服务交互的集成。此集成允许Claude通过自然语言对话直接查询和管理Azure资源。

功能

  • Azure资源管理:与Azure资源管理客户端接口
  • 订阅管理:列出并管理Azure订阅
  • 租户管理:列出并选择Azure租户
  • 自动认证:使用DefaultAzureCredential进行灵活的认证方法
  • 错误处理:针对瞬时故障的重试机制的健壮错误处理
  • 干净的响应格式化:与Claude桌面兼容的正确格式化的响应

预备条件

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

安装

手动安装

  1. 克隆仓库:
git clone https://github.com/Streen9/azure-mcp.git
cd azure-mcp
  1. 安装依赖项:
npm install
  1. 配置Claude桌面:
    • 打开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"
      ]
    }
  }
}

认证

该服务器支持通过DefaultAzureCredential进行多种认证方法:

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

服务器会按顺序尝试这些方法直到成功为止。

使用

  1. 如果正在运行,请关闭Claude桌面(检查任务管理器)
  2. 启动Claude桌面
  3. 在聊天中,现在可以询问Azure相关的问题,例如:
    • "你能获取所有可用的Azure帐户和订阅吗?"
    • "列出我订阅中的所有资源组"
    • "显示特定资源组中的所有虚拟机"

示例对话

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

开发

项目结构

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桌面配置
    • 确认配置文件中的路径与您的安装匹配
    • 确保没有其他实例在运行
  3. 常见错误

    • NO_TENANT:使用'select-tenant'工具选择租户
    • NO_CLIENTS:确保正确的初始化和认证
    • CODE_EXECUTION_FAILED:检查Azure权限和连接

贡献

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

贡献者

致谢

  • Claude桌面团队,用于MCP实现
  • Azure SDK团队,用于全面的SDK
  • Model Context Protocol,用于启用AI服务集成

安全说明

本实现遵循Azure安全最佳实践:

  • 不硬编码凭证
  • 实现安全的凭证链
  • 正确的错误处理和净化

对于安全问题或漏洞,请创建一个issue。