返回 MCP 目录
public公开dns本地运行

compliance-manager-mcp-server

这是一个用于与Google Cloud合规管理器交互的MCP服务器,使AI助手能够发现、部署和监控云合规框架与控制项。

article

README

🚀 Google Cloud Compliance Manager MCP 服务器

这是一个用于与 Google Cloud Compliance Manager(Security Command Center Enterprise 的一部分)进行交互的 MCP(模型上下文协议)服务器。它能让 AI 助手(如 Claude)与 Google Cloud 的合规管理服务进行交互,为用户提供管理 Google Cloud 基础设施合规性的有效工具。

🚀 快速开始

详细的安装和设置说明请参考 快速入门指南

安装

# 安装 uv 包管理器
curl -LsSf https://astral.sh/uv/install.sh | sh

# 克隆仓库
git clone https://github.com/yourusername/compliance-manager-mcp-server.git
cd compliance-manager-mcp-server

# 安装依赖
uv pip install -e .

# 设置身份验证
gcloud auth application-default login

运行服务器

uv run compliance_manager_mcp.py

✨ 主要特性

可用工具

  • list_frameworks(organization_id, location="global", page_size=50)

    • 描述:列出组织中所有可用的合规框架。框架可以是内置的(如 CIS、NIST、FedRAMP)或自定义的。
    • 参数
      • organization_id(必需):Google Cloud 组织 ID(例如,'123456789012')。
      • location(可选):框架的位置。默认为 'global'。
      • page_size(可选):返回的最大框架数。默认为 50。
  • get_framework(organization_id, framework_id, location="global")

    • 描述:获取特定合规框架的详细信息,包括其云控制和监管控制映射。
    • 参数
      • organization_id(必需):Google Cloud 组织 ID。
      • framework_id(必需):要检索的框架的 ID。
      • location(可选):框架的位置。默认为 'global'。
  • list_cloud_controls(organization_id, location="global", page_size=50)

    • 描述:列出组织中所有可用的云控制。云控制是有助于满足合规要求的技术项。
    • 参数
      • organization_id(必需):Google Cloud 组织 ID。
      • location(可选):云控制的位置。默认为 'global'。
      • page_size(可选):返回的最大云控制数。默认为 50。
  • get_cloud_control(organization_id, cloud_control_id, location="global")

    • 描述:获取特定云控制的详细信息,包括其规则、参数和实施模式。
    • 参数
      • organization_id(必需):Google Cloud 组织 ID。
      • cloud_control_id(必需):要检索的云控制的 ID。
      • location(可选):云控制的位置。默认为 'global'。
  • list_framework_deployments(parent, location="global", page_size=50)

    • 描述:列出给定父资源(组织、文件夹或项目)的所有框架部署。
    • 参数
      • parent(必需):父资源,格式为 'organizations/{org_id}'、'folders/{folder_id}' 或 'projects/{project_id}'。
      • location(可选):部署的位置。默认为 'global'。
      • page_size(可选):返回的最大部署数。默认为 50。
  • get_framework_deployment(parent, framework_deployment_id, location="global")

    • 描述:获取特定框架部署的详细信息,包括其状态和配置。
    • 参数
      • parent(必需):父资源,格式为 'organizations/{org_id}'、'folders/{folder_id}' 或 'projects/{project_id}'。
      • framework_deployment_id(必需):要检索的框架部署的 ID。
      • location(可选):部署的位置。默认为 'global'。
  • create_framework_deployment(parent, framework_deployment_id, framework_name, location="global", target_resource=None)

    • 描述:在目标资源上创建新的框架部署。这将合规框架应用于组织、文件夹或项目。
    • 参数
      • parent(必需):父资源,格式为 'organizations/{org_id}'、'folders/{folder_id}' 或 'projects/{project_id}'。
      • framework_deployment_id(必需):新框架部署的 ID。
      • framework_name(必需):要部署的框架的全名(例如,'organizations/{org_id}/locations/global/frameworks/{framework_id}')。
      • location(可选):部署的位置。默认为 'global'。
      • target_resource(可选):目标资源名称。如果未提供,则使用父资源。
  • delete_framework_deployment(parent, framework_deployment_id, location="global")

    • 描述:删除框架部署。这将从目标资源中移除合规框架。
    • 参数
      • parent(必需):父资源,格式为 'organizations/{org_id}'、'folders/{folder_id}' 或 'projects/{project_id}'。
      • framework_deployment_id(必需):要删除的框架部署的 ID。
      • location(可选):部署的位置。默认为 'global'。
  • list_cloud_control_deployments(parent, location="global", page_size=50)

    • 描述:列出给定父资源的所有云控制部署。
    • 参数
      • parent(必需):父资源,格式为 'organizations/{org_id}'、'folders/{folder_id}' 或 'projects/{project_id}'。
      • location(可选):部署的位置。默认为 'global'。
      • page_size(可选):返回的最大部署数。默认为 50。
  • get_cloud_control_deployment(parent, cloud_control_deployment_id, location="global")

    • 描述:获取特定云控制部署的详细信息,包括其实施模式和状态。
    • 参数
      • parent(必需):父资源,格式为 'organizations/{org_id}'、'folders/{folder_id}' 或 'projects/{project_id}'。
      • cloud_control_deployment_id(必需):要检索的云控制部署的 ID。
      • location(可选):部署的位置。默认为 'global'。

📦 安装指南

MCP 服务器配置

将以下配置添加到 MCP 客户端的设置文件中:

⚠️ 重要提示

对于 OSX 用户,如果你使用 此单行命令 安装 uv,请在下面的 "command" 值中使用 uv 二进制文件的完整路径,因为 uv 不会被放置在系统路径中供 Claude 使用!例如:/Users/yourusername/.local/bin/uv 而不是仅使用 uv

{
  "mcpServers": {
    "compliance-manager-mcp": {
      "command": "uv",
      "args": [
        "--env-file=/path/to/your/env",
        "--directory",
        "/path/to/the/repo",
        "run",
        "compliance_manager_mcp.py"
      ],
      "env": {},
      "disabled": false,
      "autoApprove": []
    }
  }
}

身份验证

服务器使用 Google Cloud 的身份验证机制。请确保在服务器运行的环境中配置了以下其中一项:

  1. 已设置应用默认凭据(ADC)(例如,通过 gcloud auth application-default login)。
  2. GOOGLE_APPLICATION_CREDENTIALS 环境变量指向有效的服务帐户密钥文件。

所需的 IAM 权限

目标 Google Cloud 组织需要适当的 IAM 权限:

  • 合规管理器:roles/securitycenter.complianceManagerroles/securitycenter.adminEditor
  • 只读操作:roles/securitycenter.adminViewer

📚 详细文档

📄 许可证

本项目采用 Apache 2.0 许可证。

关于合规管理器

Google Cloud 中的合规管理器有助于确保你的 Google Cloud 基础设施、工作负载和数据满足安全和监管要求。它允许你:

  • 定义和部署合规且安全的配置
  • 查看显示与合规要求对齐情况的仪表板
  • 审核云环境并生成评估报告
  • 使用软件定义的控制来实现多个合规计划

更多信息,请参阅 合规管理器文档

支持

  • 问题反馈:通过 GitHub 问题 报告错误或请求功能。
  • 文档查阅:请参阅 文档
  • 社区交流:加入仓库中的讨论。

致谢

本项目受 Google MCP Security 仓库的启发,并遵循类似的 MCP 服务器实现模式。

项目结构

compliance-manager-mcp-server/
├── compliance_manager_mcp.py    # 主 MCP 服务器实现
├── pyproject.toml               # 项目依赖和元数据
├── setup.py                     # 设置配置
├── README.md                    # 本文件
├── QUICKSTART.md                # 快速入门指南
├── USAGE.md                     # 详细使用示例
├── CONTRIBUTING.md              # 贡献指南
├── LICENSE                      # Apache 2.0 许可证
├── .env.example                 # 示例环境配置
├── .gitignore                   # Git 忽略规则
├── mcp_settings.json.example    # 示例 MCP 客户端配置
└── test_import.py               # 导入测试脚本
help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端