Steampipe MCP Server

Steampipe MCP Server

site icon
2025.04.07 1
Python数据库管理开发工具数据库开发效率
Steampipe MCP Server 是一个与 PostgreSQL 数据库交互的 MCP 服务器,主要用于与 Steampipe 配合使用。它提供了多种工具来查询和管理数据库,特别适用于处理 Steampipe 插件(如 AWS、GCP 等云服务)生成的大量表格。
View on GitHub

Overview

基本能力

产品定位

Steampipe MCP Server 是一个与 PostgreSQL 数据库交互的 MCP 服务器,主要用于与 Steampipe 配合使用。它提供了多种工具来查询和管理数据库,特别适用于处理 Steampipe 插件(如 AWS、GCP 等云服务)生成的大量表格。

核心功能

  1. 查询工具:运行只读 SQL 查询并返回 JSON 格式的结果。
  2. 表格列表工具:列出数据库中所有模式的所有表格。
  3. 模式内表格列表工具:列出特定模式中的所有表格。
  4. 表格结构工具:获取特定表格的列名和数据类型。

适用场景

  1. 需要与 Steampipe 生成的 PostgreSQL 数据库交互的场景。
  2. 需要查询和管理大量表格的场景,特别是云服务(如 AWS、GCP)的表格。
  3. 开发者在开发过程中需要快速获取数据库信息的场景。

工具列表

  1. query:运行只读 SQL 查询并返回 JSON 格式的结果。
  2. list_all_tables:列出数据库中所有模式的所有表格。
  3. list_tables_in_schema:列出特定模式中的所有表格。
  4. get_table_schema:获取特定表格的列名和数据类型。

常见问题解答

  1. 如何启动 Steampipe 服务? bash steampipe service start
  2. 如何获取数据库 URL? bash steampipe service status 在输出中查找 Database URL
  3. 如何配置环境变量? 在项目目录中创建 .env 文件,并添加 DATABASE_URL=postgresql://steampipe:password@localhost:9193/steampipe

使用教程

使用依赖

  1. 安装 Steampipe
  2. macOS: bash brew tap turbot/tap brew install steampipe
  3. Linux: bash sudo /bin/sh -c "$(curl -fsSL https://steampipe.io/install/steampipe.sh)"
  4. Windows: bash iwr -useb https://steampipe.io/install/steampipe.ps1 | iex
  5. 启动 Steampipe 服务 bash steampipe service start
  6. 验证服务状态 bash steampipe service status

安装教程

  1. 开发环境设置(推荐) ```bash # 创建虚拟环境 uv venv

# 安装开发依赖 make dev-install

# 查看所有可用命令 make help 2. **从源代码安装**bash pip install -e . ```

调试方式

  1. 开发模式(推荐) ```bash # 使用 make make dev

# 或手动 mcp dev src/steampipe_mcp_server/cli.py 2. **使用 CLI**bash # 使用 make make server

# 或显式指定 URL steampipe-mcp --database-url postgresql://steampipe:password@localhost:9193/steampipe

# 或使用环境变量 export DATABASE_URL=postgresql://steampipe:password@localhost:9193/steampipe steampipe-mcp 3. **在 Claude Desktop 中安装** - **开发版本**bash # 使用 make(确保设置了 DATABASE_URL 环境变量) make install-mcp

 # 或手动
 mcp install steampipe_mcp_server.cli:main
 ```
  • 发布版本
    1. 打开 Claude Desktop
    2. 导航到 Settings > Developer > Edit Config
    3. 在 JSON 文件中添加以下配置: json { "mcpServers": { "steampipe": { "command": "uvx", "args": [ "steampipe-mcp-server", "--database-url", "postgresql://steampipe:password@localhost:9193/steampipe" ] } } }
    4. 保存配置文件并重启 Claude Desktop

测试

运行测试:

# 使用 make
make test

# 或手动
pytest

对于需要数据库连接的测试,设置 TEST_DB_URL 环境变量。

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。