项目简介
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 (推荐)
- 克隆仓库:
git clone https://github.com/prowler-cloud/prowler-studio.git cd prowler-studio - 构建 Docker 镜像:
docker build -f ./mcp_server/Dockerfile -t prowler-studio-mcp-server:latest .
本地安装
- 克隆仓库:
git clone https://github.com/prowler-cloud/prowler-studio.git cd prowler-studio - 确保您已安装 'uv' (Python 包安装和解析工具) 和 Python 3.12+。
- 安装依赖 (仅安装 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 服务器完成检查创建任务。
信息
分类
开发者工具