使用说明

项目简介

本项目实现了一个 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、环境变量、托管身份等。

安装步骤

  1. 安装 .NET 8 SDK: 请确保您的开发环境已安装 .NET 8 SDK
  2. 安装 Azure CLI 并登录: 安装 Azure CLI 并使用 'az login' 命令登录您的 Azure 账户。
  3. 安装 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"': 可选参数,如果代码已编译,可以跳过构建步骤

基本使用方法

  1. 启动 MCP 服务器: 打开终端,导航到项目根目录(包含 'Program.cs' 和 'azurehelp-mcp-server.csproj' 文件的目录),运行以下命令启动 MCP 服务器:
    dotnet run --no-build
    服务器成功启动后,会监听来自 MCP 客户端的请求。
  2. 配置并启动 MCP 客户端: 根据您的 MCP 客户端(如 Claude)的文档,配置上述 "服务器配置" 中的 JSON 信息。确保将项目文件路径替换为正确的路径。配置完成后,启动或重启 MCP 客户端。
  3. 在 MCP 客户端中使用工具: 在 MCP 客户端中,您可以使用自然语言指令来调用 Azure 故障排除工具。例如,您可以向 Claude 提问:“我无法 SSH 登录我的 Azure VM”,客户端会将该请求发送到 MCP 服务器,服务器会调用相应的 Azure 自助诊断工具,并返回结果给客户端,引导您完成故障排除步骤。

信息

分类

开发者工具