Azure资源MCP服务器
此MCP服务器提供直接从任何MCP客户端列出和查询Azure资源的工具,使您能够高效地浏览Azure基础架构并分析成本,而无需离开工作流程。
以下是一个如何查询Azure资源的示例:
这是一个如何查询Azure成本的示例:
特性
- 📊 资源发现 -列出Azure订阅中的所有资源
- 🔍 过滤 -按资源组名称筛选资源
- 💰 成本分析 -检索Azure订阅的成本信息
- 🔐 安全 -使用您的Azure服务主体凭据
- 🏷️ 详细视图 -查看所有资源的位置、类型和标签
工具
- list_azure_资源
- 使用服务主体身份验证列出Azure资源组和资源 - 输入: - subscription_id (字符串,可选):要查询的特定订阅ID。如果未提供,则使用环境变量的默认订阅。 - resource_group_filter (字符串,可选):按名称筛选资源组(不区分大小写包含匹配项)。 - 返回:资源组及其资源的格式化标记列表,包含位置、类型和标签等详细信息。
- get_azure_costs_rest
- 使用REST API获取Azure订阅的成本分析数据 - 输入: - subscription_id (字符串,可选):要查询的特定订阅ID。如果未提供,则使用环境变量的默认订阅。 - timeframe (字符串,可选):成本分析的时间段。默认值为“MonthToDate”。 - 回报:包含成本分析数据的格式化降价,包括每日成本和总计。
配置
设置Azure
- 创建用于身份验证的Azure服务主体:
az ad sp create-for-rbac --name {service principal name}- 为服务主体分配适当的读取器权限
- 记下您的Azure订阅ID、租户ID、客户端ID和客户端密钥
- 设置所需的环境变量
环境变量
此服务器需要以下环境变量:
# Required Azure authentication
AZURE_TENANT_ID=your-tenant-id
AZURE_CLIENT_ID=your-client-id
AZURE_CLIENT_SECRET=your-client-secret
AZURE_SUBSCRIPTION_ID=your-subscription-id安装
先决条件
- Python 3.10+
- 具有适当权限的Azure订阅
- 具有读者访问资源权限的服务负责人
设置
如果你更喜欢使用紫外线:
# Setup environment with uv
uv venv
.venv\Scripts\activate # On Windows
source .venv/bin/activate # On macOS/Linux
# Install dependencies
uv add mcp[cli] azure-identity python-dotenv azure-mgmt-resource aiohttp
# Run server
uv run -m azure_resource_mcp_server使用Claude Desktop
要与Claude Desktop一起使用,请将以下内容添加到配置文件中:
{
"mcpServers": {
"azure-resource": {
"command": "uv",
"args": [
"--directory",
"/ABSOLUTE/PATH/TO/PARENT/FOLDER",
"run",
"-m",
"azure_resource_mcp_server"
],
"env": {
"AZURE_TENANT_ID": "your-tenant-id",
"AZURE_CLIENT_ID": "your-client-id",
"AZURE_CLIENT_SECRET": "your-client-secret",
"AZURE_SUBSCRIPTION_ID": "your-subscription-id"
}
}
}
}