Azure资源图MCP服务器
模型上下文协议(MCP)服务器,直接在VS Code和GitHub Copilot中提供Azure资源图查询功能。
特性
- 🔍 使用KQL(Kusto查询语言)查询Azure资源
- 🛡️ 以安全为重点的合规性和治理查询
- 🚀 与VS Code和GitHub Copilot直接集成
- 🔐 使用Azure DefaultAzureCredentials进行身份验证
一键安装
选项1:VS代码内部人员(推荐)
单击以下链接自动安装和配置MCP服务器:
⚠️ 重要提示: 替换 YOUR_SUBSCRIPTION_ID 安装后,在VS代码配置中使用您的实际Azure订阅ID。选项2:VS代码稳定(备选)
对于VS Code稳定版,请使用以下配置链接:
手动安装
如果您更喜欢手动安装,请将此配置添加到您的VS代码中 settings.json:
{
"mcp": {
"servers": {
"azure-rg-mcp": {
"command": "npx",
"args": ["-y", "@krnese/azure-resource-graph-mcp@latest"],
"env": {
"AZURE_SUBSCRIPTION_ID": "your-subscription-id-here"
}
}
}
}
}先决条件
- Node.js 18+ - 点击此处下载
- Azure命令行界面 - 在此处安装
- Azure身份验证 -快跑
az login鉴定 - 支持MCP的VS代码 -使用VS Code Insiders或带有MCP扩展的稳定版
配置
设置您的Azure订阅ID
安装后,您需要配置Azure订阅ID:
- 打开VS代码设置(Cmd/Ctrl+,)
- 搜索“mcp”
- 查找“azure rg mcp”服务器配置
- 替换
YOUR_SUBSCRIPTION_ID使用您的实际Azure订阅ID
或者,您可以编辑您的 settings.json 直接更新 AZURE_SUBSCRIPTION_ID 价值。
查找您的订阅ID
# List all subscriptions
az account list --output table
# Get current subscription
az account show --query id --output tsv使用示例
安装后,您可以在VS Code中使用自然语言查询:
- “显示我的Azure订阅中的所有虚拟机”
- “列出已启用公共访问的存储帐户”
- “查找没有标签的资源”
- “显示美国东部地区的所有资源”
- “列出仅禁用HTTPS的所有应用服务”
高级KQL查询
您还可以使用直接的KQL查询:
Resources
| where type =~ "microsoft.compute/virtualmachines"
| where properties.storageProfile.osDisk.managedDisk.storageAccountType !~ "Premium_LRS"
| project name, location, resourceGroup, vmSize=properties.hardwareProfile.vmSize安全查询
服务器包括内置的以安全为重点的查询:
- 具有公共端点的资源
- 未加密的存储帐户
- 没有托管磁盘的VM
- 资源缺少必需的标签
- 不符合要求的网络安全组
故障排除
身份验证问题
# Ensure you're logged in
az login
# Check current account
az account show权限问题
确保您的帐户至少有 Reader 您要查询的订阅上的角色。
MCP服务器未启动
- 检查VS代码开发人员控制台是否有错误
- 验证是否安装了Node.js:
node --version - 测试手册安装:
npx @krnese/azure-resource-graph-mcp@latest
发展
要贡献或修改服务器,请执行以下操作:
git clone https://github.com/krnese/AzResourceGraphMCP.git
cd AzResourceGraphMCP
npm install
npm start许可证
MIT许可证-请参阅 许可证 文件以获取详细信息。
