项目简介
Azure云资源影响报告MCP服务器是一个基于Model Context Protocol (MCP) 构建的应用后端,旨在简化用户向Azure云平台报告资源问题的流程。通过集成自然语言处理能力,该服务器允许用户使用自然语言向LLM描述其遇到的Azure资源问题,并自动将这些描述转化为结构化的影响报告,提交给Azure平台。
主要功能点
- Azure资源影响报告: 提供工具(Tool)允许LLM客户端代表用户向Azure云平台提交资源影响报告。
- 自然语言解析: 能够解析LLM客户端发送的自然语言请求,从中提取出报告Azure资源影响所需的参数,如订阅ID、资源组、资源类型、资源名称和影响类别。
- Azure认证: 使用'DefaultAzureCredential'自动处理Azure身份验证,简化服务器的配置和部署。
- 参数补充: 当LLM提供的自然语言请求缺少必要参数时,服务器能够向LLM请求补充信息,确保报告的完整性。
- 多种影响类别: 支持报告多种类型的资源影响,包括连接性问题、性能问题、可用性问题和未知问题。
安装步骤
-
克隆仓库
git clone https://github.com/chand45/MCP-Server-Azure-Impact-Reporting.git cd MCP-Server-Azure-Impact-Reporting -
安装依赖 确保你的Python环境满足要求 (Python 3.8+),然后安装项目依赖:
pip install -r requirements.txt或者手动安装:
pip install mcp[cli] azure-identity httpx -
Azure 身份验证配置 该服务器使用 'DefaultAzureCredential' 进行 Azure 身份验证。你需要确保你的运行环境已配置Azure凭据。以下是一些常用的配置方式:
- Azure CLI: 如果本地安装了 Azure CLI,并已通过 'az login' 登录,服务器将自动使用你的 CLI 凭据。
- Visual Studio Code Azure 账户扩展: 如果使用 VS Code 并安装了 Azure Account 扩展并登录,服务器可以使用 VS Code 的凭据。
- Azure PowerShell: 如果安装了 Azure PowerShell 模块,并通过 'Connect-AzAccount' 登录,服务器可以使用 PowerShell 的凭据。
- 环境变量 (服务主体): 可以设置环境变量来使用服务主体进行身份验证。
选择适合你的环境的身份验证方式,确保服务器能够成功连接到 Azure 云平台。
服务器配置
为了让MCP客户端(如Claude)连接到此MCP服务器,你需要在客户端的配置文件中添加服务器配置信息。以下是一个示例配置,你需要根据实际情况修改 'ABSOLUTE_PATH_TO_ROOT_FOLDER' 为你克隆仓库的绝对路径。
"impactreporter": { // 服务器名称,客户端使用此名称引用 "command": "uv", // 启动服务器的命令,这里使用 uv (更快的 pip 替代品,如果未安装可替换为 python 或 python3) "args": [ // 启动命令的参数 "--directory", // 指定工作目录 "ABSOLUTE_PATH_TO_ROOT_FOLDER", // 替换为仓库的绝对路径,例如 "C:\\Users\\username\\MCP-Server-Azure-Impact-Reporting" 或 "/home/user/MCP-Server-Azure-Impact-Reporting" "run", // uv 或 python 的运行命令 "impact-reporter.py" // MCP服务器主程序文件名 ] }
注意:
- 请将 'ABSOLUTE_PATH_TO_ROOT_FOLDER' 替换为实际的仓库绝对路径。
- 如果你的环境中没有安装 'uv',可以将 '"command": "uv"' 和 '"run"' 参数替换为 '"command": "python"' (或 '"python3"'),并移除 '--directory' 参数。例如:
"impactreporter": { "command": "python", "args": [ "impact-reporter.py" ] }
- 服务器名称 '"impactreporter"' 可以自定义,客户端在调用工具时需要使用此名称。
基本使用方法
配置完成后,当你的LLM客户端需要报告Azure资源问题时,可以使用自然语言指令,例如:
- "Report connectivity issues with my VM named 'web-server' in resource group 'production-rg'"
- "Let Azure know my SQL database 'customer-db' in 'data-rg' is experiencing performance issues"
- "Report that my App Service 'api-service' is down"
LLM客户端会将这些自然语言请求发送给配置的MCP服务器。服务器解析请求,调用 'report_impact_to_azure' 工具,并根据请求内容与Azure Management API交互,最终完成资源影响报告的提交。
如果请求缺少必要信息,服务器会通过MCP协议向LLM客户端请求补充,例如询问订阅ID或资源组等信息,以确保报告能够成功提交。
信息
分类
商业系统