Skip to main content
Glama

Azure CLI MCP 服务器

这是一个包装Azure CLI 的MCP 服务器,它添加了一个很好的提示来改善其工作方式,并将其公开。

铁匠徽章

演示

Claude Desktop 的 2 分钟简短演示

简短演示

使用 VS Code 完成 18 分钟演示

完整演示

Related MCP server: mcp-browser-use

它能做什么?

它可以访问完整的 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 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 Code

要从 VS Code 使用服务器:

  • 安装 GitHub Copilot

  • 使用命令面板安装此 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 中的服务器,请将其添加到claude_desktop_config.json文件中。AZURE_CREDENTIALS 环境变量应设置为服务主体创建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密钥,如下面 Docker 安装部分所述,该密钥将被发送到 Smithery.ai。

  • Smithery.ai 是第三方服务,您需要信任他们为您构建此 MCP 服务器(它使用与我们的 Docker 镜像相同的 Dockerfile,但不是由我们构建的)。

  • 这仍然是一个早期预览服务,因此我们无法保证它将如何发展。

使用 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 Code

  • 安装 GitHub Copilot

  • 使用命令面板安装此 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 中的服务器,请将其添加到claude_desktop_config.json文件中。请注意,您需要指向下载azure-cli-mcp.jar文件的位置。

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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jdubois/azure-cli-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server