steampipe-mcp

by turbot
Apache 2.0
9

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 を追加します。

{ "mcpServers": { "steampipe": { "command": "npx", "args": [ "-y", "@turbot/steampipe-mcp" ] } } }

デフォルトでは、 postgresql://steampipe@localhost:9193/steampipeにあるローカルのSteampipeインストールに接続します。必ず最初にsteampipe service start実行してください。

代わりにTurbot Pipesワークスペースに接続するには、接続文字列を args に追加します。

{ "mcpServers": { "steampipe": { "command": "npx", "args": [ "-y", "@turbot/steampipe-mcp", "postgresql://my_name:my_pw@workspace-name.usea1.db.pipes.turbot.com:9193/abc123" ] } } }

AIアシスタントのセットアップ

アシスタント設定ファイルの場所セットアップガイド
クロードデスクトップclaude_desktop_config.jsonクロードデスクトップMCPガイド→
カーソル~/.cursor/mcp.jsonカーソルMCPガイド →

変更を有効にするには、設定ファイルを保存し、AI アシスタントを再起動します。

プロンプトガイド

まず、MCPサーバーに含まれるbest_practicesプロンプトを実行して、LLMにSteampipeの最適な使い方を教えましょう。その後は、何でも質問してください!

クラウド インフラストラクチャを探索します。

What AWS accounts can you see?

シンプルで具体的な質問が効果的です。

Show me all S3 buckets that were created in the last week

インフラストラクチャ レポートを生成します。

List my EC2 instances with their attached EBS volumes

セキュリティ分析の詳細:

Find any IAM users with access keys that haven't been rotated in the last 90 days

コンプライアンスの洞察を得る:

Show me all EC2 instances that don't comply with our tagging standards

潜在的なリスクを調べる:

Analyze my S3 buckets for security risks including public access, logging, and encryption

以下の点に注意してください:

  • 分析するクラウド リソース (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 インスタンスへの接続ステータスをチェックおよび検証できるようになります。

発達

クローンとセットアップ

  1. リポジトリをクローンし、次のディレクトリに移動します。
git clone https://github.com/turbot/steampipe-mcp.git cd steampipe-mcp
  1. 依存関係をインストールします:
npm install
  1. プロジェクトをビルドします。
npm run build

テスト

MCPをサポートするAIツールでローカル開発ビルドをテストするには、npmパッケージではなくローカルのdist/index.jsを使用するようにMCP設定を更新してください。例:

{ "mcpServers": { "steampipe": { "command": "node", "args": [ "/absolute/path/to/steampipe-mcp/dist/index.js", "postgresql://steampipe@localhost:9193/steampipe" ] } } }

または、MCP Inspector を使用してサーバーの実装を検証します。

npx @modelcontextprotocol/inspector dist/index.js

環境変数

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をご覧ください。

参加する

Slackで#steampipeに参加する→

お手伝いしたいけれど、どこから始めたらいいのか分からない? help wanted案件を1つ選んでください。

Related MCP Servers

  • -
    security
    F
    license
    -
    quality
    An MCP server that connects Claude to FL Studio, allowing the AI to compose music, control instruments, and live record melodies, chords, and drums to the piano roll.
    Last updated -
    8
    Python
    • Apple
  • -
    security
    -
    license
    -
    quality
    This is an MCP written for steampipe. This Steampipe MCP tool allows Claude to interact directly with your Steampipe installation using natural language requests. It executes provided SQL queries via the Steampipe CLI and returns the data results as JSON back to Claude.
    Last updated -
    Python
    MIT License

View all related MCP servers

ID: i4a149hwmy