项目简介

Steampipe MCP服务器是Model Context Protocol (MCP) 的一个实现,它使AI助手(如Claude、Cursor)能够通过Steampipe访问和分析您的云基础设施、SaaS应用、API、代码等数据。它将复杂的SQL查询能力封装起来,让AI能够通过自然语言理解您的数据请求,并执行相应的操作。

主要功能点

  • 自然语言查询: 允许您使用日常语言提问,AI助手会将请求转化为Steampipe SQL查询,从而探索AWS、Azure、GCP等100+云服务及SaaS数据。
  • 数据访问: 提供对Steampipe托管的各种数据源的只读访问能力。
  • 工具执行: AI助手可以调用特定的工具,例如执行SQL查询、列出可用表、显示表结构详情、列出Steampipe插件等。
  • 上下文提供: 向AI助手提供关于Steampipe数据结构(表、列)、插件等信息,帮助AI理解如何有效地查询数据。
  • 最佳实践指导: 提供Prompt模板,教导AI助手如何以最优方式与Steampipe交互和编写SQL。

安装步骤

  1. 安装 Node.js: 确保您的系统安装了 Node.js v16 或更高版本(包含 'npx')。
  2. 安装 Steampipe: 如果您打算连接到本地的Steampipe实例,请下载并安装 Steampipe,并运行 'steampipe service start' 启动服务。
  3. 或使用 Turbot Pipes: 如果您使用 Turbot Pipes 工作空间,您需要工作空间连接字符串。

Steampipe MCP服务器通常由支持MCP的AI助手客户端启动,您无需手动运行它。

服务器配置 (AI助手客户端配置)

要让您的AI助手使用Steampipe MCP服务器,您需要在AI助手的配置文件中添加MCP服务器的配置。配置信息通常放在一个JSON对象中,包含服务器的名称、启动命令和参数。

以下是配置Steampipe MCP服务器的关键信息:

  • 服务器名称: 您可以指定一个名称,例如 'steampipe'。
  • 启动命令 (command): 通常是 'npx'。
  • 启动参数 (args): 这是一个参数列表,用于告诉 'npx' 运行哪个包以及传递给Steampipe MCP服务器的额外信息。
    • '-y': 自动同意安装 '@turbot/steampipe-mcp' 包(如果尚未安装)。
    • '@turbot/steampipe-mcp': 这是Steampipe MCP服务器的npm包名称,'npx' 会找到并运行它。
    • 可选的连接字符串: 如果您需要连接到非默认地址(例如Turbot Pipes 工作空间或本地的非默认 Steampipe 实例),可以在参数列表的末尾添加您的PostgreSQL连接字符串。例如:'postgresql://my_user:my_password@my_host:my_port/my_database'。
      • 如果未提供连接字符串,服务器将默认尝试连接到本地的Steampipe服务:'postgresql://steampipe@localhost:9193/steampipe'。

请注意: 具体配置格式和文件位置取决于您使用的AI助手客户端。请参考AI助手客户端的文档。例如,配置可能看起来像这样(JSON格式,但这里仅作说明):

{
  "mcpServers": {
    "steampipe": {
      "command": "npx",
      "args": [
        "-y",
        "@turbot/steampipe-mcp",
        // 可选:在此处添加您的连接字符串,例如 "postgresql://..."
      ]
    }
    // ... 其他MCP服务器配置
  }
}

配置完成后,重启您的AI助手客户端以加载更改。

基本使用方法

  1. 启动AI助手: 确保您的AI助手客户端已启动,并且Steampipe MCP服务器已根据配置由客户端成功启动。
  2. 运行最佳实践Prompt (推荐): 如果您的AI助手支持,可以先尝试运行名为 'best_practices' 的Prompt。这会向AI提供关于如何有效查询Steampipe数据的指导。
  3. 提出自然语言问题: 在AI助手中,像与人交流一样提出您关于云基础设施或SaaS数据的问题。例如:
    • “我有哪些AWS账户?”
    • “列出上周创建的所有S3存储桶。”
    • “显示我的EC2实例及其连接的EBS卷。”
    • “查找过去90天未轮换访问密钥的IAM用户。”
    • “分析我的S3存储桶是否存在公共访问、日志记录和加密等安全风险。”
  4. 优化提问:
    • 明确指出您感兴趣的资源类型(例如:EC2、S3、IAM)。
    • 如果需要,提及特定的区域或账户。
    • 从简单的问题开始,逐步增加复杂条件。
    • 依靠AI将自然语言转化为SQL,无需自己编写SQL。

关键词

Steampipe, 云基础设施, SaaS数据, AI助手集成, 自然语言查询

信息

分类

开发者工具