Steampipe モデルコンテキストプロトコル (MCP) サーバー
Steampipeで AI 駆動型インフラストラクチャ分析のパワーを解き放ちましょう。このモデルコンテキストプロトコルサーバーは、Claude などの AI アシスタントをクラウドインフラストラクチャデータにシームレスに接続し、クラウド資産全体の自然言語による探索と分析を可能にします。
Steampipe MCP は AI アシスタントとインフラストラクチャ データを橋渡しし、自然言語を可能にします。
- AWS、Azure、GCP、100以上のクラウドサービスにわたるクエリ
- セキュリティとコンプライアンス分析
- コストとリソースの最適化
- クエリ開発支援
ローカルのSteampipeインストールとTurbot Pipesワークスペースの両方で動作し、すべてのクラウドおよび SaaS データへの安全な読み取り専用アクセスを提供します。
インストール
前提条件
- Node.js v16 以上(
npx
を含む) - ローカル使用の場合: Steampipeがインストールされ、実行中 (
steampipe service start
) - Turbot Pipesの場合: Turbot Pipesワークスペースと接続文字列
構成
AI アシスタントの設定ファイルに Steampipe MCP を追加します。
デフォルトでは、 postgresql://steampipe@localhost:9193/steampipe
にあるローカルのSteampipeインストールに接続します。必ず最初にsteampipe service start
実行してください。
代わりにTurbot Pipesワークスペースに接続するには、接続文字列を args に追加します。
AIアシスタントのセットアップ
アシスタント | 設定ファイルの場所 | セットアップガイド |
---|---|---|
クロードデスクトップ | claude_desktop_config.json | クロードデスクトップMCPガイド→ |
カーソル | ~/.cursor/mcp.json | カーソルMCPガイド → |
変更を有効にするには、設定ファイルを保存し、AI アシスタントを再起動します。
プロンプトガイド
まず、MCPサーバーに含まれるbest_practices
プロンプトを実行して、LLMにSteampipeの最適な使い方を教えましょう。その後は、何でも質問してください!
クラウド インフラストラクチャを探索します。
シンプルで具体的な質問が効果的です。
インフラストラクチャ レポートを生成します。
セキュリティ分析の詳細:
コンプライアンスの洞察を得る:
潜在的なリスクを調べる:
以下の点に注意してください:
- 分析するクラウド リソース (EC2、S3、IAM など) を具体的に指定します。
- 特定の地域やアカウントに興味がある場合は、その地域やアカウントを記載してください
- 複雑な条件を追加する前に、簡単なクエリから始めてください
- 自然言語を使用する - LLMがSQL翻訳を処理する
- 大胆かつ探究的に行動しましょう。LLM は、インフラストラクチャ全体にわたる洞察を発見するのに役立ちます。
機能
ツール
- steampipe_query
- SQL を使用してクラウドとセキュリティ ログをクエリします。
- 最高のパフォーマンスを得るには、結合の代わりに CTE を使用し、要求される列を制限します。
- すべてのクエリは読み取り専用であり、PostgreSQL 構文を使用します。
- 入力:
sql
(文字列): PostgreSQL構文を使用して実行するSQLクエリ
- 蒸気管テーブルリスト
- 利用可能なすべての Steampipe テーブルを一覧表示します。
- オプション入力:
schema
(文字列): 特定のスキーマでテーブルをフィルタリングします - オプション入力:
filter
(文字列): ILIKE パターンでテーブルをフィルターします (例: 'ì2%')
- steampipe_table_show
- 列の定義、データ型、説明など、特定のテーブルに関する詳細情報を取得します。
- 入力:
name
(文字列): 詳細を表示するテーブルの名前 (スキーマ修飾可能、例: 'aws_account' または 'aws.aws_account') - オプション入力:
schema
(文字列): テーブルを含むスキーマ
- steampipe_plugin_list
- システムにインストールされているすべてのSteampipeプラグインを一覧表示します。プラグインは、AWS、GCP、Azureなどのさまざまなデータソースへのアクセスを提供します。
- 入力パラメータは不要
- steampipe_plugin_show
- バージョン、メモリ制限、構成など、特定の Steampipe プラグインのインストールの詳細を取得します。
- 入力:
name
(文字列): 詳細を表示するプラグインの名前
プロンプト
- ベストプラクティス
- Steampipe データの操作に関するベストプラクティス
- 以下の詳細なガイダンスを提供します。
- 回答スタイルとフォーマット規則
- CTE(WITH句)と結合の使用
- SQL構文とスタイルの規則
- 列の選択と最適化
- スキーマの探索と理解
- クエリの構造と構成
- パフォーマンスの考慮とキャッシュ
- エラー処理とトラブルシューティング
リソース
- 状態
- Steampipe接続の現在の状態を表します
- プロパティには次のものが含まれます:
- connection_string: 現在のデータベース接続文字列
- ステータス: 接続状態(接続/切断)
このリソースにより、AI ツールは Steampipe インスタンスへの接続ステータスをチェックおよび検証できるようになります。
発達
クローンとセットアップ
- リポジトリをクローンし、次のディレクトリに移動します。
- 依存関係をインストールします:
- プロジェクトをビルドします。
テスト
MCPをサポートするAIツールでローカル開発ビルドをテストするには、npmパッケージではなくローカルのdist/index.js
を使用するようにMCP設定を更新してください。例:
または、MCP Inspector を使用してサーバーの実装を検証します。
環境変数
MCP サーバーを構成するには、次の環境変数を使用できます。
STEAMPIPE_MCP_LOG_LEVEL
: サーバーのログの詳細度を制御します(デフォルト:info
)STEAMPIPE_MCP_WORKSPACE_DATABASE
: デフォルトの Steampipe 接続文字列を上書きします (デフォルト:postgresql://steampipe@localhost:9193/steampipe
)
オープンソースと貢献
このリポジトリはApache 2.0ライセンスに基づいて公開されています。行動規範をご覧ください。皆様とのコラボレーションを楽しみにしています!
Steampipeは、 Turbot HQ, Inc.が独占的に開発したオープンソースソフトウェア製品です。Turbot HQ, Inc. の商用利用条件に基づいて配布されます。他社は本ソフトウェアを独自に配布できますが、Turbotの商標やクラウドサービスなどを使用することはできません。詳しくは、オープンソースに関するFAQをご覧ください。
参加する
お手伝いしたいけれど、どこから始めたらいいのか分からない? help wanted
案件を1つ選んでください。
You must be authenticated.
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Tools
スチームパイプ-MCP
Related MCP Servers
- MIT License
- TypeScriptMIT License
- JavaScript
- PythonMIT License