Azure资源管理协议

Azure MCP(模型上下文协议)实现,使Claude Desktop能够通过自然语言对话查询和管理Azure资源。

  • by kalivaraprasad-gonapa
  • TypeScript
  • 本地部署
  • 19 星标
  • 更新于
在 GitHub 查看 kalivaraprasad-gonapa/azure-mcp

使用说明

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

模型上下文协议(MCP)实现,使Claude Desktop能够与Azure服务交互。此集成允许Claude通过自然语言对话直接查询和管理Azure资源。

特性

  • Azure资源管理:与Azure资源管理客户端的接口
  • 订阅管理:列出和管理Azure订阅
  • 租户管理:列出并选择Azure租户
  • 自动身份验证:利用DefaultAzureCredential实现灵活的身份验证方法
  • 错误处理:强大的错误处理,可重试瞬态故障
  • 干净响应格式:格式正确的响应与Claude Desktop兼容

先决条件

  • 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"
      ]
    }
  }
}

认证

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

  • 环境变量
  • 管理身份
  • Azure命令行界面
  • Visual Studio Code
  • 交互式浏览器

服务器将自动按顺序尝试这些方法,直到成功为止。

用法

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

对话示例

You: Can you get all the available Azure accounts and subscriptions?
Claude: I'll help you list all available Azure tenants and subscriptions.
[Claude will then use the Azure MCP to fetch and display the information]

发展

项目结构

azure-mcp/
├── src/
│   ├── launcher.ts       # Server entry point
│   ├── AzureServer.ts    # Main MCP server implementation
│   └── LoggerService.ts  # Logging utility
├── package.json
└── README.md

关键组件

  • AzureMCP服务器:实现MCP协议的主服务器类
  • HandleCallTool:处理收到的工具请求
  • 执行WithRetry:为弹性操作实现重试逻辑

故障排除

  1. 身份验证问题:

    • 确保您已通过Azure CLI登录(az login)
    • 如果使用服务主体,请检查环境变量
    • 验证您的Azure帐户是否具有必要的权限
  2. 连接问题:

    • 验证克劳德桌面配置
    • 检查配置文件中的路径是否与您的安装相匹配
    • 确保没有其他实例正在运行
  3. 常见错误:

    • NO_TENANT:使用“选择租户”工具选择租户
    • NO_CLIENTS:确保正确的初始化和身份验证
    • CODE_EXECUTION_FAILED:检查Azure权限和连接

贡献

欢迎投稿!请随时提交拉取请求。

贡献者

致谢

  • Claude Desktop团队负责MCP的实施
  • Azure SDK团队提供全面的SDK
  • 用于实现AI服务集成的模型上下文协议

安全说明

此实施遵循Azure安全最佳实践:

  • 没有硬编码凭据
  • 安全凭证链实施
  • 正确的错误处理和消毒

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