2
最近更新:3个月前

通过使用 Azure 凭证进行身份验证,并通过 Azure 管理 API 提交标准化的工作负载影响报告,使 AI 能够报告 Azure 基础设施问题。

MCP-Server-Azure-Impact-Reporting

概述

Azure Impact Reporting MCP(Model Context Protocol)服务器使大型语言模型(LLMs)能够向 Azure 资源报告影响。该工具允许 LLMs 自动解析用户请求,理解所需的参数,并在客户遇到 Azure 基础设施问题时向 Azure 提交报告。

功能

impact-reporter.py 脚本提供了一个 Model Context Protocol 服务器,可以:

  1. 提供一个工具以向 Azure 报告资源影响
  2. 使用 DefaultAzureCredential 自动进行 Azure 身份验证
  3. 通过 Azure Management API 创建工作负载影响报告
  4. 从自然语言请求中提取参数
  5. 如果请求缺少必要信息,可以要求提供更多详细信息

影响类别

该工具支持以下影响类别:

  • Resource.Connectivity - 针对 Azure 资源的连接问题
  • Resource.Performance - 针对性能下降问题
  • Resource.Availability - 针对可用性或停机问题
  • Resource.Unknown - 当具体问题类型未知时

要求

  • Python 3.8+
  • mcp[cli] - 带 CLI 支持的 Model Context Protocol 包
  • azure-identity - 用于 Azure 身份验证
  • httpx - 用于向 Azure API 发起 HTTP 请求

设置说明

1. 克隆仓库

bash 复制代码
git clone https://github.com/yourusername/MCP-Server-Azure-Impact-Reporting.git
cd MCP-Server-Azure-Impact-Reporting

2. 安装依赖

bash 复制代码
pip install -r requirements.txt

或者手动安装:

bash 复制代码
pip install mcp[cli] azure-identity httpx

3. Azure 身份验证设置

该工具使用 DefaultAzureCredential 进行身份验证。确保您已通过以下方法之一登录到 Azure:

  • Azure CLI (az login)
  • Visual Studio Code Azure Account 扩展
  • Azure PowerShell (Connect-AzAccount)
  • 用于服务主体身份验证的环境变量

4. 配置您的 MCP 客户端

将以下配置添加到您的 MCP 客户端配置文件中(例如,claude_desktop_config.json):

json 复制代码
"impactreporter": {
    "command": "uv",
    "args": [
        "--directory",
        "ABSOLUTE_PATH_TO_ROOT_FOLDER",
        "run",
        "impact-reporter.py"
    ]
}

ABSOLUTE_PATH_TO_ROOT_FOLDER 替换为您克隆此存储库的绝对路径。

例如:

json 复制代码
"impactreporter": {
    "command": "uv",
    "args": [
        "--directory",
        "C:\\Users\\username\\source\\repos\\MCP-Server-Azure-Impact-Reporting",
        "run",
        "impact-reporter.py"
    ]
}

5. 运行 MCP 服务器

如果您使用的是 Claude Desktop 或其他支持 MCP 的客户端,则服务器会在需要时自动启动。

使用示例

配置完成后,您的 LLM 可以通过自然语言请求报告影响,例如:

  1. “报告我的名为‘web-server’的虚拟机在资源组‘production-rg’中的连接问题”
  2. “让 Azure 知道我的 SQL 数据库‘customer-db’在‘data-rg’中遇到性能问题”
  3. “报告我的应用服务‘api-service’已宕机”

MCP 服务器会自动解析这些请求,并在提交报告给 Azure 之前询问任何缺失的参数。

示例对话:
alt text

当需要更多信息时:

  1. 请求更多详细信息
    alt text

  2. 推断详细信息并报告影响
    alt text

API 详情

影响报告工具使用 Azure Management API (2023-12-01-preview) 来创建工作负载影响报告。

故障排除

  • 身份验证问题:确保您已登录到 Azure 并拥有适当权限
  • 缺少参数:如果需要,该工具会要求提供更多信息
  • API 错误:检查 Azure 门户以确保您的订阅和资源存在

许可证

MIT 许可证