Steampipe MCP Server
一个 MCP 服务器,允许 Claude 直接查询 Steampipe PostgreSQL 数据库。将 Claude 连接到您的 Steampipe 实例,即可通过自然语言轻松分析来自 AWS、GCP 和其他云提供商的数据。
zen4ever
README
Steampipe MCP 服务器
一个与 PostgreSQL 数据库交互的 MCP 服务器,主要用于 Steampipe。
Steampipe 为每个连接都有一个 schema,并创建一个包含所有 schema 的 search_path,但 public schema 通常是空的。此外,AWS、GCP 和其他云的 Steampipe 插件有很多表,因此仅仅列出所有表是不切实际的。因此,建议您这样提示您的 Claude Desktop:“在 steampipe 中使用 aws_all schema,给我一个所有 ec2 实例的列表”。这样,Claude 更有可能在 schema 命令中使用 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 --database-url postgresql://steampipe:password@localhost:9193/steampipe
注意:协议必须是 postgresql://
,服务器才能正常工作。
4. 配置环境变量
您可以使用环境变量配置数据库连接,而不是每次都传递它:
-
在项目目录中创建一个
.env
文件,其中包含您的数据库 URL:DATABASE_URL=postgresql://steampipe:password@localhost:9193/steampipe
-
服务器将在启动时自动加载此配置。
可用工具
此 MCP 服务器提供了一些有用的工具,用于与您的 PostgreSQL 数据库交互:
query
针对数据库运行只读 SQL 查询,并将结果作为 JSON 返回。
list_all_tables
列出数据库搜索路径中所有 schema 中的所有可用表。 Steampipe 不使用 public
schema,每个连接都有一个 schema。
list_tables_in_schema
列出特定 schema 中的所有表。 有助于限制表的数量,尤其是在仅使用一个 schema 时。
get_table_schema
检索特定表的列名和数据类型,表应采用 schema.table
格式。
项目结构
steampipe-mcp-server/
├── src/
│ └── steampipe_mcp_server/ # 主包
│ ├── __init__.py
│ ├── cli.py # 命令行界面
│ ├── database.py # 数据库服务
│ ├── server.py # MCP 服务器设置
│ ├── tools.py # MCP 工具实现
│ └── test_utils.py # 测试实用程序
├── tests/ # 测试目录
├── Makefile # 构建自动化
├── pyproject.toml # 项目配置
└── README.md # 此文件
安装
开发设置(推荐)
最简单的入门方法是使用包含的 Makefile:
# 首先创建一个虚拟环境
uv venv
# 安装开发依赖项
make dev-install
# 查看所有可用命令
make help
或者,您可以:
- 克隆存储库
- 创建一个虚拟环境:
uv venv
- 激活环境:
source .venv/bin/activate
(Linux/macOS) 或.venv\Scripts\activate
(Windows) - 安装开发依赖项:
uv pip install -e .[dev]
从源代码安装
pip install -e .
开发
使用 Makefile
该项目包含一个带有常用任务的 Makefile:
# 在带有 Inspector 的开发模式下运行服务器
make dev
# 运行测试
make test
# 运行 linting
make lint
# 运行类型检查
make typecheck
# 格式化代码
make format
# 运行所有检查(lint 和类型检查)
make check
# 在 Claude Desktop 中安装
make install-mcp
运行 make help
查看所有可用命令。
如何运行
1. 开发模式(推荐)
# 使用 make
make dev
# 或者手动
mcp dev src/steampipe_mcp_server/cli.py
这将启动服务器和 MCP Inspector,允许您交互式地测试 query
工具和其他工具。
2. 使用 CLI
安装后:
# 使用 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 中安装
开发版本
用于开发和测试:
# 使用 make(确保已设置 DATABASE_URL 环境变量)
make install-mcp
# 或者手动
mcp install steampipe_mcp_server.cli:main
发布版本
对于发布版本,您可以直接配置 Claude Desktop:
- 打开 Claude Desktop
- 导航到 Settings > Developer > Edit Config
- 将以下配置添加到 JSON 文件:
{
"mcpServers": {
"steampipe": {
"command": "uvx",
"args": [
"steampipe-mcp-server",
"--database-url",
"postgresql://steampipe:password@localhost:9193/steampipe"
]
}
}
}
- 保存配置文件并重启 Claude Desktop
将数据库 URL 替换为您实际的 Steampipe 数据库 URL。 此配置使用 uvx
直接执行已发布的包。
这些工具将在 Claude 中的 steampipe
命名空间下可用。
测试
使用以下命令运行测试:
# 使用 make
make test
# 或者手动
pytest
对于需要数据库连接的测试,请设置 TEST_DB_URL
环境变量。
贡献
- Fork 存储库
- 为您的功能创建一个新分支
- 进行更改
- 运行测试和检查:
make check test
- 提交 pull request
推荐服务器
Crypto Price & Market Analysis MCP Server
一个模型上下文协议 (MCP) 服务器,它使用 CoinCap API 提供全面的加密货币分析。该服务器通过一个易于使用的界面提供实时价格数据、市场分析和历史趋势。 (Alternative, slightly more formal and technical translation): 一个模型上下文协议 (MCP) 服务器,利用 CoinCap API 提供全面的加密货币分析服务。该服务器通过用户友好的界面,提供实时价格数据、市场分析以及历史趋势数据。
MCP PubMed Search
用于搜索 PubMed 的服务器(PubMed 是一个免费的在线数据库,用户可以在其中搜索生物医学和生命科学文献)。 我是在 MCP 发布当天创建的,但当时正在度假。 我看到有人在您的数据库中发布了类似的服务器,但还是决定发布我的服务器。
mixpanel
连接到您的 Mixpanel 数据。 从 Mixpanel 分析查询事件、留存和漏斗数据。

Sequential Thinking MCP Server
这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

Nefino MCP Server
为大型语言模型提供访问德国可再生能源项目新闻和信息的能力,允许按地点、主题(太阳能、风能、氢能)和日期范围进行筛选。
Vectorize
将 MCP 服务器向量化以实现高级检索、私有深度研究、Anything-to-Markdown 文件提取和文本分块。
Mathematica Documentation MCP server
一个服务器,通过 FastMCP 提供对 Mathematica 文档的访问,使用户能够从 Wolfram Mathematica 检索函数文档和列出软件包符号。
kb-mcp-server
一个 MCP 服务器,旨在实现便携性、本地化、简易性和便利性,以支持对 txtai “all in one” 嵌入数据库进行基于语义/图的检索。任何 tar.gz 格式的 txtai 嵌入数据库都可以被加载。
Research MCP Server
这个服务器用作 MCP 服务器,与 Notion 交互以检索和创建调查数据,并与 Claude Desktop Client 集成以进行和审查调查。

Cryo MCP Server
一个API服务器,实现了模型补全协议(MCP),用于Cryo区块链数据提取,允许用户通过任何兼容MCP的客户端查询以太坊区块链数据。