Azure CLI MCP服务器

Azure CLI MCP服务器是一个封装Azure CLI的工具,通过添加友好的提示和改进功能,使其更易于使用。

  • by wang-qijia
  • 本地部署
  • 更新于
在 GitHub 查看 wang-qijia/azure-cli-mcp

使用说明

Azure CLI MCP服务器

这是一个 MCP服务器 这包裹了 Azure命令行界面,添加了一个很好的提示来改进它的工作方式,并公开了它。

德莫斯

使用Claude Desktop进行2分钟的简短演示

使用VS Code完成18分钟演示

它能做什么?

它可以访问完整的Azure CLI,因此可以执行Azure CLI可以执行的任何操作。以下是一些场景:

  • 列出您的资源并检查其配置。例如,您可以获取已部署模型的速率限制 Azure OpenAI。
  • 修复一些配置或安全问题。例如,您可以要求它保护Blob存储帐户。
  • 创造资源。例如,您可以要求它创建Azure容器应用程序实例、Azure容器注册表,并使用托管身份连接它们。

使用安全吗?

由于MCP服务器是由LLM驱动的,我们建议小心并验证它生成的命令。那么,如果 你使用的是像Claude 3.7或GPT-4o这样的好LLM,它具有 Azure上的优秀培训数据,我们的体验非常好。

请阅读我们的 许可证 声明“本软件按原样提供,不提供任何形式的保证”, 因此,使用此MCP服务器的风险由您自行承担。

它是否安全,我应该在远程服务器上运行它吗?

简短回答: 不.

此MCP服务器运行 az 命令,并且可能被攻击者黑客攻击以运行任何其他命令。电流 与目前大多数MCP服务器一样,实现仅适用于 stio 运输: 它应该使用您的Azure CLI凭据在您的计算机上本地运行,就像您自己做的那样。

未来,MCP服务器完全有可能支持 http 传输和Azure令牌 身份验证,以便不同的人可以远程使用。这是第二步,一旦 MCP规范和SDK更稳定。

我该如何安装它?

此服务器可以在Docker容器内运行,也可以作为Java可执行JAR文件运行。

对于这两个选项,只有 stio 交通是可用的。这 http 稍后将提供交通服务。

使用Docker安装和配置服务器

创建Azure服务主体并设置 AZURE_CREDENTIALS 环境变量。您可以通过运行 在终端中执行以下命令:

az ad sp create-for-rbac --name "azure-cli-mcp" --role contributor --scopes /subscriptions/<your-subscription-id>/resourceGroups/<your-resource-group> --json-auth

这将创建一个具有指定名称和角色的新服务主体,并以JSON格式输出凭据。

然后,您可以使用Docker使用以下命令运行服务器。要进行身份验证,请设置 AZURE_CREDENTIALS 随着 前一个命令的输出。

docker run --rm -p 6273:6273 -e AZURE_CREDENTIALS="{"clientId":"....","clientSecret":"....",...}" -i ghcr.io/jdubois/azure-cli-mcp:latest

使用VS代码

从VS Code使用服务器:

  • 安装GitHub副本
  • 使用命令面板安装此MCP服务器: MCP: Add Server...
    • 配置使用连接到服务器 stio 运输
    • 要运行的命令是 docker run -i --rm -e AZURE_CREDENTIALS ghcr.io/jdubois/azure-cli-mcp:latest你需要 设置 AZURE_CREDENTIALS 将环境变量转换为服务主体创建的JSON输出 引号已转义:请查看以下完整且安全的示例。
  • 配置GitHub Copilot以在其中运行 Agent 模式,点击聊天窗口底部的箭头
  • 在聊天窗口的顶部,您应该看到 azure-cli-mcp 服务器配置为工具

您可以确保 AZURE_CREDENTIALS 使用该方法的环境 描述 在文档中, 以下是一个完整的示例:

{
  "inputs": [
    {
      "type": "promptString",
      "id": "azure-credentials",
      "description": "Azure Credentials",
      "password": true
    }
  ],
  "servers": {
    "azure-cli": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "AZURE_CREDENTIALS",
        "ghcr.io/jdubois/azure-cli-mcp:latest"
      ],
      "env": {
        "AZURE_CREDENTIALS": "${input:azure-credentials}"
      }
    }
  }
}

使用克劳德桌面

要使用Claude Desktop的服务器,请将服务器添加到您的 claude_desktop_config.json 文件。 这 AZURE_CREDENTIALS 环境变量应设置为服务主体创建的JSON输出 引文脱口而出。

{
  "mcpServers": {
    "azure-cli": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "AZURE_CREDENTIALS",
        "ghcr.io/jdubois/azure-cli-mcp:latest"
      ],
      "env": {
        "AZURE_CREDENTIALS": "{\"clientId\":\"...\",\"clientSecret\":\"...\",..."
      }
    }
  }
}

使用Smithery.ai进行安装

您可以通过Smithery.ai安装MCP服务器:

这类似于我们上面的Docker容器安装,但运行在Smithery.ai的服务器上。在此安装过程中 最初是最简单的,请注意:

  • 你需要一个 AZURE_CREDENTIALS key,如下Docker安装部分所述,以及此key 将被发送到Smithery.ai。
  • Smithery.ai是第三方服务,您需要信任他们为您构建此MCP服务器(它使用相同的 Dockerfile是我们的Docker镜像,但不是我们构建的)。
  • 这仍然是一个早期预览服务,因此我们无法保证它将如何发展。

使用Java安装和配置服务器

此配置正在本地运行服务器。它比Docker更容易设置, 但它的安全性较低,因为它使用您计算机上配置的Azure CLI直接使用您的凭据。

  • 安装Azure CLI:您可以按照说明进行操作 这里.
  • 验证您的Azure帐户。你可以通过跑步来做到这一点 az login 在你的终端。
  • 请确保您安装了Java 17或更高版本。您可以通过运行以下命令来检查这一点 java -version 在你的终端。

二进制文件可在 GitHub发布页面,这就是你的方式 可以使用GitHub CLI下载最新版本:

  • 下载最新版本: gh release download --repo jdubois/azure-cli-mcp --pattern='azure-cli-mcp.jar'

使用VS代码

  • 安装GitHub副本
  • 使用命令面板安装此MCP服务器: MCP: Add Server...
    • 配置使用连接到服务器 stio 运输
    • 要运行的命令是 java -jar ~/Downloads/azure-cli-mcp.jar (你需要指出你所在的位置 已下载 azure-cli-mcp.jar 文件)
  • 配置GitHub Copilot以在其中运行 Agent 模式,点击聊天窗口底部的箭头
  • 在聊天窗口的顶部,您应该看到 azure-cli-mcp 服务器配置为工具

使用克劳德桌面

要使用Claude Desktop的服务器,请将服务器添加到您的 claude_desktop_config.json 文件。请注意,您 需要指向您下载的位置 azure-cli-mcp.jar 文件。

{
    "mcpServers": {
        "azure-cli": {
            "command": "java",
            "args": [
                "-jar",
              "~/Downloads/azure-cli-mcp.jar"
            ]
        }
    }
}