
Azure MCP Server

2025.04.29
0
PythonAzure 资源管理基础设施监控开发效率数据库
Azure MCP Server 是一个基于 Python 的 Model Context Protocol (MCP) 服务器实现,用于 Azure 资源的管理和探索。它提供了一个结构化的接口,通过 MCP 协议与 Azure 服务交互,使程序化管理和监控 Azure 基础设施变得更加容易。
View on GitHub
Overview
基本能力
产品定位
Azure MCP Server 是一个桥梁,连接 MCP 客户端和 Azure 服务,提供工具和端点来管理各种 Azure 资源,如资源组和存储账户。
核心功能
- 使用现代 Azure SDK 进行异步 Azure 操作
- 支持多种认证方法(默认、服务主体、托管身份)
- 使用 MCP 协议的结构化响应格式
- 全面的错误处理和日志记录
- 支持环境变量配置
适用场景
- Azure 资源管理和监控
- 程序化基础设施管理
- 开发环境中的 Azure 资源探索
工具列表
工具名称 | 描述 |
---|---|
list_resource_groups | 列出订阅中的所有资源组 |
list_storage_accounts | 列出订阅中的所有存储账户 |
list_storage_account_usage | 获取特定存储账户的存储容量使用情况 |
list_storage_account_usage_all | 获取订阅中所有存储账户的存储容量使用情况 |
常见问题解答
- 认证失败:确保正确配置了环境变量和认证类型
- 资源未找到:检查订阅 ID 和资源名称是否正确
- 容器运行问题:在容器中使用
auth_type=spn
并确保传递正确的环境变量
使用教程
使用依赖
- Python 3.13 或更高版本
- Azure 订阅
- Azure CLI(推荐用于本地开发)
安装教程
- 克隆仓库:
git clone <repository-url>
cd azure-mcp-server
- 安装 uv:
curl -LsSf https://astral.sh/uv/install.ps1 | powershell
- 创建虚拟环境并安装依赖:
uv venv
.\.venv\Scripts\Activate.ps1
uv pip sync pyproject.toml
- 配置环境变量:
创建
.env
文件并设置以下变量:
AZURE_SUBSCRIPTION_ID=your-subscription-id
AZURE_TENANT_ID=your-tenant-id
AZURE_CLIENT_ID=your-client-id
AZURE_CLIENT_SECRET=your-client-secret
调试方式
- 启动 MCP 服务器(Stdio 传输):
uv run server.py
- 启动 MCP 服务器(SSE 传输):
uv run main.py
- 测试 SSE 连接:
npx @modelcontextprotocol/inspector
- 容器运行:
docker build -t mcp-azure-server:latest .
docker run -d --name mcp-azure-srv -p 8000:8000 -e AZURE_TENANT_ID="YOUR_TENANT_ID" -e AZURE_CLIENT_ID="YOUR_CLIENT_ID" -e AZURE_CLIENT_SECRET="YOUR_SECRET" mcp-azure-server:latest