AzPolicyMCP

AzPolicyMCP

site icon
2025.04.23 0
PythonAzure Policy策略管理自动化工具开发效率
AzPolicyMCP 是一个专为 Azure Policy 设计的 MCP 服务器,旨在帮助大型语言模型(LLMs)生成、验证和部署 Azure 自定义策略。它通过提供工具来获取内置策略示例、验证策略结构以及通过 Azure REST API 管理策略分配,解决了 LLMs 生成可能不正确或不合规的 Azure 策略 JSON 的问题。该服务器的主要用户是需要与 Azure 策略定义和分配交互的 LLM 应用程序(如聊天机器人或代码助手)。
View on GitHub

Overview

基本能力

产品定位

AzPolicyMCP 是一个专为 Azure Policy 设计的 MCP 服务器,旨在帮助大型语言模型(LLMs)生成、验证和部署 Azure 自定义策略。

核心功能

  1. get_builtin_policies 工具:获取 Azure 内置策略的顶级类别。
  2. get_policies_in_category 工具:获取指定类别中的策略定义文件。
  3. get_policy_content 工具:获取特定策略定义的原始 JSON 内容。
  4. verify_policy_structure 工具:验证给定的 JSON 字符串是否符合 Azure Policy 定义的模式。
  5. deploy_policy_assignment 工具:使用提供的策略定义和分配参数创建或更新 Azure Policy 分配。
  6. query_policy_compliance 工具:查询指定范围内资源的合规状态。
  7. delete_policy_assignment 工具:从指定范围删除现有的 Azure Policy 分配。
  8. create_policy_definition 工具:使用提供的详细信息创建或更新 Azure Policy 定义。
  9. 意图识别支持:帮助 LLM 确定用户的意图(审计/阻止与修复)。
  10. azure_policy_schema 资源:通过 MCP 资源 URI 公开官方的 Azure Policy JSON 模式。
  11. azure_resource_types 资源:提供常见的 Azure 资源提供程序命名空间和类型的列表。
  12. create_policy_prompt 提示:定义一个可重用的 MCP 提示模板,指导 LLM 进行策略创建过程。
  13. azure_resource_graph_query 工具:允许 LLM 使用 Azure REST API 运行任意的 Azure Resource Graph 查询。

适用场景

  1. 生成自定义 Azure 策略。
  2. 验证 Azure 策略的结构和合规性。
  3. 部署和管理 Azure 策略分配。
  4. 查询和报告 Azure 资源的合规状态。
  5. 动态发现 Azure 环境的结构和内容。

使用教程

使用依赖

安装 AzPolicyMCP 前需要确保以下环境变量已设置: - TENANT_ID: Azure Active Directory 租户 ID。 - CLIENT_ID: Azure AD 应用程序客户端 ID。 - CLIENT_SECRET: Azure AD 应用程序的客户端密钥。

安装教程

  1. 确保已安装 Python 3.x 环境。
  2. 安装必要的 Python 库:
pip install mcp-sdk requests jsonschema msal httpx
  1. 克隆 AzPolicyMCP 仓库并进入项目目录。
  2. 运行服务器:
python server.py

调试方式

  1. 确保服务器已启动并运行。
  2. 使用 MCP 客户端工具调用服务器提供的工具,例如:
mcp-cli get_builtin_policies
  1. 检查服务器日志以查看任何错误或调试信息。

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。