使用说明
项目简介
本项目实现了一个 MCP (Model Context Protocol) 服务器,它将 Azure 自助诊断 API 集成为一系列工具,使大型语言模型 (LLM) 驱动的智能体能够通过调用这些工具,自动化 Azure 资源的故障诊断和排除流程。您可以将其视为一个 AI 助手,它能够引导您逐步完成 Azure 故障排除。
主要功能点
- 集成 Azure 自助诊断 API: 将 Azure 官方提供的自助诊断工具以标准化的 MCP 协议形式暴露出来。
- 提供多种故障排除工具: 包括创建故障排除会话、获取当前步骤、继续会话、结束会话和重启会话等工具,覆盖 Azure 资源常见问题的诊断流程。
- 交互式故障排除: 允许 LLM 驱动的客户端与 Azure 自助诊断流程进行交互,根据诊断步骤和用户反馈,逐步引导完成故障排除。
- 标准 MCP 协议: 遵循 MCP 协议标准,可以与任何兼容 MCP 协议的客户端(如 Claude、Semantic Kernel 应用)集成。
- 使用 Stdio 传输: 通过标准输入/输出流 (stdio) 与 MCP 客户端进行通信,配置简单方便。
- Azure 身份验证: 利用 'DefaultAzureCredential' 进行 Azure 身份验证,支持多种身份验证方式,如 Azure CLI、环境变量、托管身份等。
安装步骤
- 安装 .NET 8 SDK: 请确保您的开发环境已安装 .NET 8 SDK。
- 安装 Azure CLI 并登录: 安装 Azure CLI 并使用 'az login' 命令登录您的 Azure 账户。
- 安装 NuGet 包: 在项目根目录下,使用 .NET CLI 安装以下 NuGet 包:
dotnet add package ModelContextProtocol --prerelease dotnet add package Microsoft.Extensions.Hosting dotnet add package Azure.ResourceManager.SelfHelp dotnet add package Azure.Identity
服务器配置
要将此 MCP 服务器与 MCP 客户端(例如 Claude)连接,您需要在客户端的配置文件中添加服务器配置信息。以下是一个示例 JSON 配置,您需要根据实际情况修改项目文件路径:
{ "mcpServers": { "azurehelpTroubleshooter": { "command": "dotnet", "args": [ "run", "--project", "/path/to/azurehelp-mcp-server.csproj", // 将 "/path/to/azurehelp-mcp-server.csproj" 替换为您的项目文件路径,例如 "C:/Projects/azurehelp-mcp-server/azurehelp-mcp-server.csproj" "--no-build" ] } } }
配置参数说明:
- 'server name': 'azurehelpTroubleshooter' (服务器名称,客户端用于标识和调用)
- 'command': 'dotnet' (启动服务器的命令,这里使用 dotnet CLI)
- 'args': 启动参数数组,包括:
- '"run"': dotnet run 命令,用于运行 .NET 项目
- '"--project"': 指定项目文件路径
- '"/path/to/azurehelp-mcp-server.csproj"': 请替换为您的 'azurehelp-mcp-server.csproj' 文件的实际绝对路径
- '"--no-build"': 可选参数,如果代码已编译,可以跳过构建步骤
基本使用方法
- 启动 MCP 服务器: 打开终端,导航到项目根目录(包含 'Program.cs' 和 'azurehelp-mcp-server.csproj' 文件的目录),运行以下命令启动 MCP 服务器:
服务器成功启动后,会监听来自 MCP 客户端的请求。dotnet run --no-build - 配置并启动 MCP 客户端: 根据您的 MCP 客户端(如 Claude)的文档,配置上述 "服务器配置" 中的 JSON 信息。确保将项目文件路径替换为正确的路径。配置完成后,启动或重启 MCP 客户端。
- 在 MCP 客户端中使用工具: 在 MCP 客户端中,您可以使用自然语言指令来调用 Azure 故障排除工具。例如,您可以向 Claude 提问:“我无法 SSH 登录我的 Azure VM”,客户端会将该请求发送到 MCP 服务器,服务器会调用相应的 Azure 自助诊断工具,并返回结果给客户端,引导您完成故障排除步骤。
信息
分类
开发者工具