项目简介

Prowler Studio 是一个 AI 助手,旨在帮助用户创建 Prowler 安全检查。它提供了 CLI、Web 应用和 MCP 服务器等多种使用方式。其中,MCP 服务器允许您通过 Model Context Protocol (MCP) 将 Prowler Studio 的核心能力直接集成到兼容的开发环境中(如特定的 IDE),以便更顺畅地在开发工作流中利用 AI 创建安全检查。

主要功能点

  • 集成安全检查创建: 使您能够在支持 MCP 协议的 IDE 或其他客户端中,直接通过 AI 能力描述并生成 Prowler 的安全检查代码和元数据。
  • 利用现有知识: MCP 服务器会利用 Prowler 现有检查的知识库(RAG数据集),生成更相关和高质量的新检查。
  • 无缝开发体验: 允许开发者在熟悉的开发环境中调用 Prowler Studio 的能力,减少上下文切换。

安装步骤

Prowler Studio MCP 服务器可以通过 Docker 或本地方式安装:

使用 Docker (推荐)

  1. 克隆仓库:
    git clone https://github.com/prowler-cloud/prowler-studio.git
    cd prowler-studio
  2. 构建 Docker 镜像:
    docker build -f ./mcp_server/Dockerfile -t prowler-studio-mcp-server:latest .

本地安装

  1. 克隆仓库:
    git clone https://github.com/prowler-cloud/prowler-studio.git
    cd prowler-studio
  2. 确保您已安装 'uv' (Python 包安装和解析工具) 和 Python 3.12+。
  3. 安装依赖 (仅安装 MCP 服务器相关):
    uv sync --no-dev --extra mcp_server

配置 API 密钥

无论哪种安装方式,您通常需要为 MCP 服务器配置 LLM 提供商和 Embedding 模型提供商的 API 密钥。根据 README 的指示,目前 Embedding 模型需要 Google API 密钥。您可以设置环境变量 'GOOGLE_API_KEY' 和/或 'OPENAI_API_KEY',或者在 MCP 客户端配置中传递这些密钥。

服务器配置 (在 MCP 客户端中)

MCP 服务器本身通过 Stdio 协议运行,等待 MCP 客户端连接。您需要在您的 MCP 兼容客户端(如支持 MCP 的 IDE)中添加配置,告诉客户端如何启动和连接到 Prowler Studio MCP 服务器。

这是一个典型的 MCP 客户端配置示例(JSON 格式),您需要将其添加到客户端的 MCP 设置中:

{
  "mcpServers": {
    "prowler-studio": { // 服务器的标识名称,您可以自定义
      "type": "stdio", // 通信协议,这里是标准I/O
      "command": "...", // 启动服务器的命令 (例如: docker 或 uvx)
      "args": [...], // 启动命令所需的参数
      "env": { // 需要传递给服务器进程的环境变量 (例如 API 密钥)
        "OPENAI_API_KEY": "your_openai_api_key",
        "GOOGLE_API_KEY": "your_google_api_key" // Embedding 模型需要
      }
    }
  }
}

根据您的安装方式,'command' 和 'args' 会有所不同:

  • 使用 Docker 安装:
    • 'command': "docker"
    • 'args': ["run", "--rm", "-i", "prowler-studio-mcp-server:latest"]
    • 如果您在 Docker 容器中设置了环境变量,可以省略 'env' 部分。如果在客户端配置中提供密钥,它们会被传递给 Docker 容器。
  • 本地安装:
    • 'command': "uvx"
    • 'args': ["/path/to/your/cloned/prowler_studio/mcp_server/"] (请替换为实际的仓库路径)
    • 您可以通过 'env' 字段传递 API 密钥。

请参考您使用的 MCP 客户端的具体文档来添加此 JSON 配置。

基本使用方法

配置完成后,您的 MCP 客户端(IDE)即可与 Prowler Studio MCP 服务器通信。您通常会通过客户端提供的 AI 或 LLM 功能与服务器互动。

例如,在 IDE 中,当您触发一个需要创建 Prowler 检查的功能时(这取决于客户端如何集成 Prowler Studio 的能力,可能表现为调用一个特定的 AI 命令或在对话中提及),客户端会通过 MCP 协议调用服务器暴露的工具(如 'create_prowler_check')。

您在 IDE 中向 AI 提出的创建检查请求(例如:“请创建一个 AWS 检查,用于确保 S3 桶启用了服务器端加密”)会被客户端封装并通过 MCP 发送给服务器。服务器处理请求,调用内部工作流和 LLM,生成检查代码和元数据,然后将结果返回给客户端。客户端再将结果展示给您,通常会以代码片段或结构化信息的方式呈现。

您主要的互动方式是通过您的 MCP 客户端的用户界面,利用其集成的 AI 功能来指导 Prowler Studio MCP 服务器完成检查创建任务。

信息

分类

开发者工具