mcpField
S
Steampipe MCP Server

Steampipe MCP Server

ローカル
github.com/zen4everクラウド・インフラ479 週間前に更新

Steampipe MCP Server について

Steampipe MCP Serverは、MCPクライアントをPostgreSQLデータベース、特にSteampipeに接続し、読み取り専用クエリやスキーマ確認を可能にします。ClaudeからSteampipe接続やクラウドプロバイダープラグインのデータを調べる用途に向いています。

主な機能

  1. 01読み取り専用SQLクエリ
  2. 02スキーマ横断のテーブル一覧
  3. 03指定スキーマ内のテーブル一覧
  4. 04テーブルの列名と型を確認

活用シーン

  1. 01Steampipeのクラウドプロバイダーデータを検索
  2. 02クエリ前にスキーマを確認
  3. 03Claudeでデータベースの結果を調査

MCP 対応

Claude Desktopなどのクライアントに、クエリ、テーブル一覧、スキーマ確認のツールを提供し、PostgreSQLデータベースに接続します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Steampipe MCP サーバー

主にSteampipeと連携して、PostgreSQL データベースとやり取りする MCP サーバーです。

Steampipe では接続ごとにスキーマがあり、すべてのスキーマを含む search_path が作成されますが、通常、public スキーマは空です。さらに、Steampipe の AWS、GCP などのクラウド向けプラグインには大量のテーブルがあるため、すべてを一覧表示するのは現実的ではありません。そのため、Claude Desktop には「steampipe の aws_all スキーマを使って、すべての 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

サーバーの実行時に、この URL を --database-url 引数で指定できます。

steampipe-mcp-server --database-url postgresql://steampipe:password@localhost:9193/steampipe

注:サーバーが正しく動作するには、プロトコルが postgresql:// である必要があります。

4. 環境変数を設定する

毎回接続情報を渡す代わりに、環境変数を使ってデータベース接続を設定できます。

  1. プロジェクトディレクトリに .env ファイルを作成し、データベース URL を記述します。

    STEAMPIPE_MCP_DATABASE_URL=postgresql://steampipe:password@localhost:9193/steampipe
    
  2. サーバーの起動時に、この設定が自動的に読み込まれます。

5. Claude Desktop にインストールする

公開済みバージョンを使用する場合は、Claude Desktop を直接設定できます。

  1. Claude Desktop を開きます
  2. Settings > Developer > Edit Config に移動します
  3. 次の設定を JSON ファイルに追加します。
{
  "mcpServers": {
    "steampipe": {
      "command": "uvx",
      "args": [
        "steampipe-mcp-server",
        "--database-url",
        "postgresql://steampipe:password@localhost:9193/steampipe"
      ]
    }
  }
}
  1. 設定ファイルを保存して、Claude Desktop を再起動します

データベース URL を実際の Steampipe データベース URL に置き換えてください。この設定では、uvx を使って公開済みパッケージを直接実行します。

ツールは Claude 内の steampipe 名前空間で利用できます。

利用可能なツール

この MCP サーバーには、PostgreSQL データベースとのやり取りに役立つツールがいくつか用意されています。

query

データベースに対して読み取り専用の SQL クエリを実行し、結果を JSON として返します。

list_all_tables

データベースの search_path にあるすべてのスキーマ内のテーブルを一覧表示します。Steampipe は public スキーマを使用せず、接続ごとにスキーマがあります。

list_tables_in_schema

指定したスキーマ内のすべてのテーブルを一覧表示します。特に単一のスキーマだけを扱う場合に、テーブルの数を絞り込むのに便利です。

get_table_schema

指定したテーブルの列名とデータ型を取得します。テーブルは schema.table のような形式で指定してください。

インストール

開発環境のセットアップ(推奨)

最も簡単に始めるには、付属の Makefile を使用します。

# Create a virtual environment first
uv venv

# Install development dependencies
make dev-install

# View all available commands
make help

または、次の手順を実行できます。

  1. リポジトリをクローンします
  2. 仮想環境を作成します:uv venv
  3. 環境を有効にします:source .venv/bin/activate(Linux/macOS)または .venv\Scripts\activate(Windows)
  4. 開発用の依存関係をインストールします:uv pip install -e .[dev]

開発

Makefile を使う

このプロジェクトには、一般的なタスクを実行する Makefile が含まれています。

# Run the server in development mode with Inspector
make dev

# Run tests
make test

# Run linting
make lint

# Run type checking
make typecheck

# Format code
make format

# Run all checks (lint and typecheck)
make check

# Install in Claude Desktop
make install-mcp

利用可能なコマンドをすべて確認するには、make help を実行してください。

実行方法

1. 開発モード(推奨)
# Using make
make dev

# OR manually
mcp dev src/steampipe_mcp_server/cli.py

これによりサーバーと MCP Inspector が起動し、query ツールなどを対話形式でテストできます。

2. CLI を使う

インストール後、次を実行します。

# Using make
make server

# OR with explicit URL
steampipe-mcp-server --database-url postgresql://steampipe:password@localhost:9193/steampipe

# OR with environment variable
export STEAMPIPE_MCP_DATABASE_URL=postgresql://steampipe:password@localhost:9193/steampipe
steampipe-mcp-server

テスト

次のコマンドでテストを実行します。

# Using make
make test

# OR manually
pytest

データベース接続が必要なテストでは、TEST_DB_URL 環境変数を設定してください。

コントリビュート

  1. リポジトリをフォークします
  2. 機能追加用の新しいブランチを作成します
  3. 変更を加えます
  4. テストとチェックを実行します:make check test
  5. プルリクエストを送信します

リリース

パッケージの新しいバージョンをリリースするには:

  1. pyproject.toml のバージョンを更新します

  2. すべてのチェックを実行し、問題がないことを確認します:

    make check test
    
  3. GitHub でリリースにタグを付けます:

    git tag v0.1.0  # Use appropriate version number
    git push origin v0.1.0
    

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。