内容
# Powerpipe Model Context Protocol (MCP) Server
释放AI驱动的安全性和合规性分析的力量,使用[Powerpipe](https://powerpipe.io)! 这个Model Context Protocol服务器无缝连接AI助手如Claude与您的基础设施合规性数据,使您能够以自然语言探索和分析您的云安全态势。
Powerpipe MCP架起了AI助手与您的合规性数据之间的桥梁,允许自然语言:
- 探索安全基准和合规框架
- 分析合规状态和发现
- 开发和定制控制
- 针对失败检查提供修复指导
与您的本地[Powerpipe](https://powerpipe.io/downloads)安装配合使用,提供安全访问以分析您的基础设施与行业标准安全基准和自定义合规框架的对比。
## 安装
### 先决条件
- [Node.js](https://nodejs.org/) v16或更高版本(包括`npx`)
- 已安装并配置的[Powerpipe](https://powerpipe.io/downloads)
- 包含您的Powerpipe mod文件的目录(必需)
### 配置
将Powerpipe MCP添加到您的AI助手的配置文件中:
```json
{
"mcpServers": {
"powerpipe": {
"command": "npx",
"args": [
"-y",
"@turbot/powerpipe-mcp",
"/path/to/your/mod/is/required"
]
}
}
}
```
mod位置参数是必需的,必须指向一个包含您的Powerpipe mod文件的目录。Powerpipe将在此目录中查找基准、控制和其他资源。
### AI助手设置
| 助手 | 配置文件位置 | 设置指南 |
|------|--------------|----------|
| Claude Desktop | `claude_desktop_config.json` | [Claude Desktop MCP指南 →](https://modelcontextprotocol.io/quickstart/user) |
| Cursor | `~/.cursor/mcp.json` | [Cursor MCP指南 →](https://docs.cursor.com/context/model-context-protocol) |
保存配置文件并重启您的AI助手以使更改生效。
## 提示指南
以下是一些示例问题,您可以用来与您的Powerpipe安装进行交互:
探索可用的合规框架:
```
我们有哪些可用的Powerpipe基准?
```
简单、具体的问题效果很好:
```
给我展示与CIS AWS基准中S3桶加密相关的所有控制
```
生成合规报告:
```
我们当前的NIST控制合规状态是什么?
```
深入细节:
```
找出AWS安全基准中所有失败的控制,并解释它们失败的原因
```
获取特定要求的信息:
```
展示我们基准中与密码策略相关的所有控制
```
广泛提问:
```
分析我们的合规差距并建议修复步骤
```
记得:
- 明确您感兴趣的基准或框架
- 提及您想要分析的控制类型(加密、访问、网络等)
- 从简单查询开始,然后再添加复杂条件
- 使用自然语言 - LLM会处理找到正确的控制和基准
- 大胆开放,LLM会发现惊人的见解!
### 提示
Powerpipe MCP服务器包括一组提示,可用于指导AI助手与Powerpipe的协作。
## 功能
### 工具
#### 基本设置
- **powerpipe_mod_location**
- 关键第一步:设置您的Powerpipe mods的工作目录
- 必须在使用其他工具之前配置
- 获取或设置包含您的Powerpipe mod文件的目录
#### 核心基准操作
- **powerpipe_benchmark_list**, **powerpipe_benchmark_show**, **powerpipe_benchmark_run**
- 发现并使用完整的合规框架
- 列出可用的合规基准并了解其范围
- 查看详细的基准信息,包括控制、标签和文档
- 执行基准以评估基础设施是否符合框架要求
#### 控制管理
- **powerpipe_control_list**, **powerpipe_control_show**, **powerpipe_control_run**
- 处理单个合规要求
- 列出并检查来自各种框架的特定控制
- 查看控制实施细节和相关查询
- 针对特定合规检查运行单个控制
#### 安全检测
- **powerpipe_detection_list**, **powerpipe_detection_show**, **powerpipe_detection_run**
- 识别特定的安全问题和合规性违规
- 列出可用的安全检测
- 查看检测细节,包括严重性和修复指导
- 运行有针对性的安全检查并获得可操作的结果
#### 查询检查
- **powerpipe_query_list**, **powerpipe_query_show**
- 检查合规评估的基础
- 列出所有支持控制和检测的SQL查询
- 查看查询实现以了解合规检查
- 分析基础设施数据是如何被评估的
#### 仪表板操作
- **powerpipe_dashboard_list**, **powerpipe_dashboard_show**, **powerpipe_dashboard_run**
- 处理合规性和安全可视化
- 列出可用的合规洞察仪表板
- 查看仪表板结构和组件
- 执行仪表板以获取合规状态的JSON快照数据
#### 配置管理
- **powerpipe_variable_list**, **powerpipe_variable_show**
- 自定义合规评估
- 列出可用的配置变量
- 查看变量细节和当前设置
- 了解如何为您的环境自定义检查
#### 开发支持
- **powerpipe_docs_hcl**
- Powerpipe开发的重要参考
- 访问详细的HCL文档和示例
- 理解所有Powerpipe元素的语法
- 获取编写和修改mod文件的指导
### 资源
Powerpipe MCP提供对以下资源的访问:
- **status**
- 表示Powerpipe服务器的当前状态
- 属性包括:
- powerpipe_version: 当前的Powerpipe CLI版本
- server_version: MCP服务器版本
- server_start_time: 服务器启动时间
- mod_location: 当前的mod工作目录
该资源使AI工具能够检查和验证Powerpipe环境状态。
## 开发
### 克隆和设置
1. 克隆仓库并导航到目录:
```sh
git clone https://github.com/turbot/powerpipe-mcp.git
cd powerpipe-mcp
```
2. 安装依赖:
```sh
npm install
```
3. 构建项目:
```sh
npm run build
```
### 测试
要使用支持MCP的AI工具测试您的本地开发构建,请更新您的MCP配置以使用本地的`dist/index.js`而不是npm包。例如:
```json
{
"mcpServers": {
"powerpipe": {
"command": "node",
"args": [
"/absolute/path/to/powerpipe-mcp/dist/index.js",
"/path/to/your/mod/is/required"
]
}
}
}
```
或者,使用MCP Inspector验证服务器实现:
```bash
npx @modelcontextprotocol/inspector dist/index.js
```
### 环境变量
以下环境变量可用于配置MCP服务器:
- `POWERPIPE_MCP_MOD_LOCATION`: 设置Powerpipe mods的工作目录(如果未设置,则回退到POWERPIPE_MOD_LOCATION)
- `POWERPIPE_MCP_LOG_LEVEL`: 控制MCP服务器日志的详细程度,值包括:
- ERROR
- WARN
- INFO
- DEBUG
- TRACE
- `POWERPIPE_MCP_MEMORY_MAX_MB`: 最大内存缓冲区大小(以兆字节为单位,默认值:100)
## 许可证
本仓库根据[Apache 2.0许可证](https://www.apache.org/licenses/LICENSE-2.0)发布。请参阅我们的[行为准则](https://github.com/turbot/.github/blob/main/CODE_OF_CONDUCT.md)。我们期待与您合作!
[Powerpipe](https://powerpipe.io)是由[Turbot HQ, Inc](https://turbot.com)独家生产的这一开源软件的产品。它根据我们的商业条款进行分发。其他人可以自行分发该软件,Powerpipe商标或品牌没有商业独占权。
## 参与
**[加入Slack上的#powerpipe →](https://turbot.com/community/join)**
想要帮助但不知道从哪里开始?选择一个`help wanted`的问题:
* [Powerpipe](https://github.com/turbot/powerpipe/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22)
* [Powerpipe MCP](https://github.com/turbot/powerpipe-mcp/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22)