Py Az Mcp

Py Az Mcp

🚀 Azure MCP 服务器

Azure MCP 服务器是一个模型上下文协议 (MCP) 服务器实现,借助 Azure CLI 命令,为用户提供对 Azure 云资源的程序化访问能力。该服务器能与 Azure 服务实现无缝集成,支持广泛的 Azure 操作,极大提升了用户对 Azure 资源的管理效率。

✨ 主要特性

身份验证

  • 支持服务主体身份验证,确保安全可靠的访问。
  • 具备自动令牌管理功能,减少人工操作。
  • 可通过环境变量进行配置,灵活方便。

支持的 Azure 操作

计算

  • 虚拟机:支持列出、显示、启动、停止、删除、重启等操作。
  • 虚拟机扩展集:支持列出、缩放、更新操作。
  • Azure Kubernetes 服务:支持列出群集。

存储

  • 存储帐户:支持列出、显示、创建、删除操作。
  • 存储容器:支持列出、创建、删除操作。

应用服务

  • 网站应用:支持列出、显示、创建、删除、启动、停止、重启操作。
  • 函数应用:支持列出、显示、删除、启动、停止、重启操作。
  • 支持部署管理。

网络

  • 虚拟网络:支持列出操作。
  • 网络安全组:支持列出操作。
  • 代理:支持列出操作。

数据库

  • Azure SQL 数据库:支持列出、显示、创建、删除操作。
  • MariaDB 服务器:支持列出、显示、创建、删除操作。

安全

  • 可获取所有资源的完整列表。

📦 安装指南

使用 pip 安装 MCP CLI 和其他依赖项

打开终端并运行以下命令:

pip install mcp[cli] python-dotenv asyncio azure-cli

配置环境变量

创建一个名为 .env 的文件,并添加以下内容:

AZURE_TENANT_ID=your_tenant_id_here
AZURE_CLIENT_ID=your_client_id_here
AZURE_CLIENT_SECRET=your_client_secret_here
MCP_SERVER_ADDRESS=http://localhost:8080

启动 MCP 服务器

运行以下命令启动 MCP 服务器:

python -m mcp.server --config-path ./config.json

📚 详细文档

配置说明

创建服务主体

  1. 登录到 Azure 门户
  2. 点击右上角的“更多服务” > “Azure Active Directory”
  3. 在左侧菜单中选择“企业应用注册”
  4. 点击“新建注册”,填写应用程序信息并创建
  5. 创建完成后,在“证书和密钥”部分生成新的客户端密钥

示例命令

az login --service-principal -u  -p  --tenant 

项目结构

  • server-azure.py:主要的 MCP 服务器实现,带 Azure CLI 集成
  • create_service_principal.py:创建 Azure 服务主体的实用脚本
  • main.py:包入口点(占位符)
  • pyproject.toml:项目依赖和配置
  • .env:环境变量配置(不在 Git 中跟踪)
  • .python-version:Python 版本要求

错误处理

服务器包含全面的错误处理:

  • 所有响应的 JSON 验证
  • Azure CLI 错误捕获和格式化
  • 身份验证错误处理
  • 参数验证

安全注意事项

  • 使用服务主体身份验证
  • 支持环境变量配置敏感数据
  • 实现适当的身份验证以防止信息泄露
  • 验证所有输入参数

贡献指南

  1. 叉取仓库
  2. 创建你的功能分支
  3. 提交你的更改
  4. 推送到分支
  5. 创建新的拉取请求

🔧 技术细节

先决条件

系统要求

  • 操作系统: Windows 10/11 或更高版本 (64 位),macOS Ventura 13.2+,Ubuntu 22.04 LTS 或更高版本
  • 内存: 至少 4 GB RAM
  • 磁盘空间: 至少 5 GB 可用空间

软件要求

  • Python: 3.10 或更高版本
  • Azure CLI: 2.57.0 或更高版本 (在终端中运行 az --version 检查)
  • Node.js: v18.14.2 或更高版本
  • npm: 9.6.0 或更高版本

📄 许可证

MIT 许可证

版权 (c) 2025

允许任何人均可免费获得本软件及其关联文档文件(“软件”),并可以无限制地处理,包括但不限于以下权利:使用、复制、修改、合并、发布、分发、转授及/或出售软件副本,并允许个人向其提供软件的人进行上述行为,前提是以下条件必须满足:

本版权声明和本许可声明必须包含在所有副本或软件重大部分中。

软件按“原样”提供,不做任何形式的担保,包括但不限于对适销性、适合特定用途或不侵权的明示或暗示保证。在任何情况下,作者或版权持有人均不对因使用此软件或其它方式产生的任何索赔、损害或其他责任承担任何责任。

  • 0 关注
  • 0 收藏,22 浏览
  • system 提出于 2025-10-05 19:42

相似服务问题

相关AI产品