蒸汽管道 MCP
这是一个简单的 Steampipe MCP 服务器。它充当 AI 模型和 Steampipe 工具之间的桥梁。
先决条件
- 已安装 Python 3.10+。
- 安装了 uv(我的最爱)和 mcp[cli]
- 蒸汽管道已安装并运行。
- Steampipe 插件已配置(例如,github)并带有必要的凭证(例如,~/.steampipe/config/github.spc 中的令牌)。
- 任何支持 MCP 的 LLM 都可以。我这里用的是 Claude。
- 安装了 Node.js 和 npx(MCP Inspector 需要并且可能运行某些 MCP 服务器)。
运行 MCP 拦截器
这是一个非常棒的工具,可以测试您的 MCP 服务器是否按预期运行
- 运行拦截器
npx -y @modelcontextprotocol/inspector uv --directory . run steampipe_mcp_server.py
- 应打开一个带有 MCP Inspector UI 的浏览器窗口(通常位于http://localhost:XXXX )。
- 等待左侧面板上的“已连接”状态。
- 转到“工具”选项卡。
- 您应该会看到 run_steampipe_query 工具及其描述。
- 单击工具名称。
- 在“参数”JSON 输入字段中,输入有效的 Steampipe 查询:
{
"query": "select name, fork_count from github_my_repository "
}
运行工具
非常简单。只需运行拦截器并确保该工具在目录中正常运行。然后将服务器配置添加到相应的 LLM,并从 LLM 中选择该工具。
故障排除
- 如果在拦截器中找不到该工具,则意味着@mcp.tool() 装饰器存在一些问题。
- 执行错误 - 查看检查器中的“结果”以及终端中的服务器日志(stderr)。Steampipe 是否运行?是否存在 SQL 错误?超时?JSON 解析错误?请相应地调整 Python 脚本。
tail -f ~/Library/Logs/Claude/mcp.log
tail -f ~/Library/Logs/Claude/mcp-server-steampipe.log
安全风险Claude 在此 POC 中盲目执行您的 SQL 查询,因此有可能使用您配置的凭据通过 Steampipe 生成和执行任意 SQL 查询。