使用说明
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_CREDENTIALSkey,如下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"
]
}
}
}
