mcpField
S
Steampipe MCP Server

Steampipe MCP Server

本地服务
github.com/zen4ever云与基础设施479 周前更新

关于 Steampipe MCP Server

Steampipe MCP Server 将 MCP 客户端连接到 PostgreSQL 数据库,尤其适用于 Steampipe,可执行只读查询和检查架构,帮助 Claude 用户探索 Steampipe 连接及云服务商插件数据。

主要功能

  1. 01执行只读 SQL 查询
  2. 02列出各架构中的表
  3. 03列出指定架构中的表
  4. 04查看表的列名和类型

适用场景

  1. 01查询 Steampipe 云服务商数据
  2. 02查询前检查数据库架构
  3. 03通过 Claude 探索数据库结果

MCP 相关

该 MCP 服务向 Claude Desktop 等客户端提供查询、表列表和架构检查工具,并连接到 PostgreSQL 数据库。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Steampipe MCP 服务

一个用于与 PostgreSQL 数据库交互的 MCP 服务,主要用于配合 Steampipe 使用。

Steampipe 为每个连接提供一个架构,并创建一个包含所有架构的 search_path,但 public 架构通常为空。此外,Steampipe 的 AWS、GCP 和其他云服务插件包含大量表,因此逐一列出所有表并不实际。因此,建议这样提示 Claude Desktop:“在 Steampipe 中使用 aws_all 架构,列出所有 ec2 实例。”这样一来,Claude 更有可能在架构命令中使用 list_tables_in_schema,从而限制获取的表数量。

前置条件

1. 安装 Steampipe

macOS:

brew tap turbot/tap
brew install steampipe

Linux:

sudo /bin/sh -c "$(curl -fsSL https://steampipe.io/install/steampipe.sh)"

Windows:

iwr -useb https://steampipe.io/install/steampipe.ps1 | iex
2. 启动 Steampipe 服务

将 Steampipe 作为后台服务启动:

steampipe service start

你可以使用以下命令验证服务是否正在运行:

steampipe service status
3. 获取数据库 URL

可以在以下位置找到 Steampipe PostgreSQL 连接字符串:

steampipe service status

在输出中查找 Database URL,其格式通常如下:

postgres://steampipe:password@localhost:9193/steampipe

运行服务时,可以在 --database-url 参数中提供此 URL:

steampipe-mcp-server --database-url postgresql://steampipe:password@localhost:9193/steampipe

注意:服务必须使用 postgresql:// 协议才能正常工作。

4. 配置环境变量

你可以使用环境变量配置数据库连接,而不必每次都传入连接信息:

  1. 在项目目录中创建 .env 文件,并填入数据库 URL:

    STEAMPIPE_MCP_DATABASE_URL=postgresql://steampipe:password@localhost:9193/steampipe
    
  2. 服务启动时会自动加载此配置。

5. 在 Claude Desktop 中安装

对于已发布的版本,你可以直接配置 Claude Desktop:

  1. 打开 Claude Desktop
  2. 前往 Settings > Developer > Edit Config
  3. 将以下配置添加到 JSON 文件中:
{
  "mcpServers": {
    "steampipe": {
      "command": "uvx",
      "args": [
        "steampipe-mcp-server",
        "--database-url",
        "postgresql://steampipe:password@localhost:9193/steampipe"
      ]
    }
  }
}
  1. 保存配置文件并重启 Claude Desktop

将数据库 URL 替换为你的实际 Steampipe 数据库 URL。此配置使用 uvx 直接执行已发布的软件包。

这些工具将在 Claude 的 steampipe 命名空间下提供。

可用工具

此 MCP 服务提供了若干实用工具,用于与 PostgreSQL 数据库交互:

query

针对数据库运行只读 SQL 查询,并以 JSON 格式返回结果。

list_all_tables

列出数据库 search_path 中所有架构的所有可用表。Steampipe 不使用 public 架构,每个连接都有自己的架构。

list_tables_in_schema

列出特定架构中的所有表。此工具有助于限制表的数量,尤其是在只使用一个架构时。

get_table_schema

获取特定表的列名和数据类型。表名应采用 schema.table 这样的格式。

安装

开发环境设置(推荐)

最简单的入门方式是使用附带的 Makefile:

# Create a virtual environment first
uv venv

# Install development dependencies
make dev-install

# View all available commands
make help

你也可以:

  1. 克隆代码仓库
  2. 创建虚拟环境:uv venv
  3. 激活环境:source .venv/bin/activate(Linux/macOS)或 .venv\Scripts\activate(Windows)
  4. 安装开发依赖:uv pip install -e .[dev]

开发

使用 Makefile

此项目包含一个用于执行常见任务的 Makefile:

# Run the server in development mode with Inspector
make dev

# Run tests
make test

# Run linting
make lint

# Run type checking
make typecheck

# Format code
make format

# Run all checks (lint and typecheck)
make check

# Install in Claude Desktop
make install-mcp

运行 make help 查看所有可用命令。

运行方法

1. 开发模式(推荐)
# Using make
make dev

# OR manually
mcp dev src/steampipe_mcp_server/cli.py

这会启动服务和 MCP Inspector,让你可以交互式测试 query 工具及其他工具。

2. 使用 CLI

安装后:

# Using make
make server

# OR with explicit URL
steampipe-mcp-server --database-url postgresql://steampipe:password@localhost:9193/steampipe

# OR with environment variable
export STEAMPIPE_MCP_DATABASE_URL=postgresql://steampipe:password@localhost:9193/steampipe
steampipe-mcp-server

测试

使用以下命令运行测试:

# Using make
make test

# OR manually
pytest

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

贡献

  1. Fork 代码仓库
  2. 为你的功能创建一个新分支
  3. 进行修改
  4. 运行测试和检查:make check test
  5. 提交 pull request

发布

要发布软件包的新版本:

  1. 更新 pyproject.toml 中的版本

  2. 运行所有检查,确保一切正常:

    make check test
    
  3. 在 GitHub 上为此版本打标签:

    git tag v0.1.0  # Use appropriate version number
    git push origin v0.1.0
    

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。