スチームパイプMCP
これはシンプルなSteampipe MCPサーバーです。AIモデルとSteampipeツール間の橋渡しとして機能します。
前提条件
- Python 3.10+ がインストールされています。
- uv をインストールしました(私のお気に入り)そして mcp[cli]
- Steampipe がインストールされ、動作しています。
- 必要な資格情報 (例: ~/.steampipe/config/github.spc 内のトークン) を使用して構成された Steampipe プラグイン (例: github)。
- MCPをサポートするLLMであればどれでも構いません。私はClaude Hereを使用しています。
- 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 クエリを生成および実行する可能性があります。