蒸汽管道模型上下文协议(MCP)服务器
通过以下方式释放人工智能驱动的基础设施分析的力量 蒸汽管!此模型上下文协议服务器将Claude等人工智能助手无缝连接到您的云基础设施数据,实现对整个云资产的自然语言探索和分析。
Steampipe MCP连接AI助手和您的基础设施数据,允许自然语言:
- 跨AWS、Azure、GCP和100多种云服务的查询
- 安全性和合规性分析
- 成本和资源优化
- 查询开发协助
安装
先决条件
配置
将Steampipe MCP添加到AI助手的配置文件中:
{
"mcpServers": {
"steampipe": {
"command": "npx",
"args": [
"-y",
"@turbot/steampipe-mcp"
]
}
}
}默认情况下,这将连接到您的本地Steampipe安装 postgresql://steampipe@localhost:9193/steampipe。一定要跑 steampipe service start 第一。
要连接到 涡轮管 请将您的连接字符串添加到args中:
{
"mcpServers": {
"steampipe": {
"command": "npx",
"args": [
"-y",
"@turbot/steampipe-mcp",
"postgresql://my_name:my_pw@workspace-name.usea1.db.pipes.turbot.com:9193/abc123"
]
}
}
}AI助手设置
| 助手 | 配置文件位置 | 安装指南 |
|---|---|---|
| 克劳德桌面 | claude_desktop_config.json | 克劳德桌面MCP指南→ |
| 光标 | ~/.cursor/mcp.json | 光标MCP指南→ |
保存配置文件并重新启动AI助手以使更改生效。
提示指南
首先,运行 best_practices MCP服务器中包含的提示,教您的LLM如何最好地使用Steampipe。那么,随便问什么!
探索您的云基础设施:
What AWS accounts can you see?简单、具体的问题效果很好:
Show me all S3 buckets that were created in the last week生成基础设施报告:
List my EC2 instances with their attached EBS volumes深入安全分析:
Find any IAM users with access keys that haven't been rotated in the last 90 days获取合规见解:
Show me all EC2 instances that don't comply with our tagging standards探索潜在风险:
Analyze my S3 buckets for security risks including public access, logging, and encryption记住:
- 具体说明要分析哪些云资源(EC2、S3、IAM等)
- 如果你对特定地区或客户感兴趣,请提及这些地区或客户
- 在添加复杂条件之前,先从简单的查询开始
- 使用自然语言-LLM将处理SQL翻译
- 大胆探索-法学硕士可以帮助您发现整个基础设施的见解!
能力
工具
- steampipe_query
- 使用SQL查询云和安全日志。 - 为了获得最佳性能:使用CTE而不是连接,限制所请求的列。 - 所有查询都是只读的,并使用PostgreSQL语法。 - 输入: sql (string):使用PostgreSQL语法执行的SQL查询
- 蒸汽管道表列表
- 列出所有可用的Steampipe表。 - 可选输入: schema (string):按特定架构筛选表 - 可选输入: filter (string):按ILIKE模式筛选表(例如“%ec2%”)
- 蒸汽管_表_展示
- 获取特定表的详细信息,包括列定义、数据类型和描述。 - 输入: name (string):显示详细信息的表的名称(可以是模式限定的,例如“aws_account”或“aws.aws_account”) - 可选输入: schema (string):包含表的架构
- 蒸汽管道_插件列表
- 列出系统上安装的所有Steampipe插件。插件提供对AWS、GCP或Azure等不同数据源的访问。 - 无需输入参数
- 蒸汽管道_插件_展示
- 获取特定Steampipe插件安装的详细信息,包括版本、内存限制和配置。 - 输入: name (string):显示详细信息的插件的名称
鼓励
- 最佳实践
- 使用Steampipe数据的最佳实践 - 提供以下方面的详细指导: - 响应样式和格式约定 - 使用CTE(WITH子句)vs连接 - SQL语法和样式约定 - 柱的选择和优化 - 图式探索与理解 - 查询结构和组织 - 性能考虑和缓存 - 错误处理和故障排除
资源
- 状态
- 表示蒸汽管道连接的当前状态 - 属性包括: - connection_string:当前数据库连接字符串 - status:连接状态(连接/断开)
此资源使AI工具能够检查和验证与Steampipe实例的连接状态。
发展
克隆和设置
- 克隆存储库并导航到以下目录:
git clone https://github.com/turbot/steampipe-mcp.git
cd steampipe-mcp- 安装依赖项:
npm install- 构建项目:
npm run build测试
要使用支持MCP的AI工具测试本地开发版本,请更新MCP配置以使用本地 dist/index.js 而不是npm包。例如:
{
"mcpServers": {
"steampipe": {
"command": "node",
"args": [
"/absolute/path/to/steampipe-mcp/dist/index.js",
"postgresql://steampipe@localhost:9193/steampipe"
]
}
}
}或者,使用MCP检查器验证服务器实现:
npx @modelcontextprotocol/inspector dist/index.js环境变量
以下环境变量可用于配置MCP服务器:
STEAMPIPE_MCP_LOG_LEVEL:控制服务器日志记录的详细程度(默认值:info)STEAMPIPE_MCP_WORKSPACE_DATABASE:替代默认的Steampipe连接字符串(默认值:postgresql://steampipe@localhost:9193/steampipe)
开源与贡献
蒸汽管 是由该开源软件独家生产的产品 多宝公司总部。它是根据我们的商业条款分销的。其他人可以自己分发软件,但他们不能使用任何Turbot商标、云服务等。您可以在我们的 开源常见问题.
参与
想帮忙,但不知道从哪里开始?拿起其中一个 help wanted 问题:
