mcpField
R
Redshift MCP Server

Redshift MCP Server

ローカル
github.com/tuanknguyenデータベース575 週間前に更新

Redshift MCP Server について

Redshift MCP Serverは、MCPクライアントをAmazon Redshiftデータベースに接続します。SQLクエリの実行と説明、スキーマやテーブル・ビューの確認、データベース接続のテストを行うツールを提供します。

主な機能

  1. 01SQLクエリの実行
  2. 02SQL実行計画の説明
  3. 03データベーススキーマの一覧表示
  4. 04スキーマ内のテーブルとビューの一覧表示
  5. 05データベース接続のテスト

活用シーン

  1. 01RedshiftデータベースでのSQL実行
  2. 02クエリ実行計画の確認
  3. 03スキーマとテーブルの調査

MCP 対応

Amazon Redshiftのクエリ、実行計画、スキーマ、テーブル、接続テストのツールをMCPクライアントに公開します。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

Redshift MCP サーバー

Amazon Redshift データベースを操作するための Model Context Protocol(MCP)サーバーです。

機能

  • Redshift で SQL クエリを実行
  • SQL クエリの実行計画を説明
  • スキーマ内のテーブルとビューを一覧表示
  • データベース内のすべてのスキーマを一覧表示
  • Redshift への接続をテスト

前提条件

  • Python 3.10+
  • Amazon Redshift データベースの認証情報

インストール

インストール要件
  1. Astral または GitHub の README から uv をインストールします
  2. uv python install 3.10(またはそれ以降のバージョン)を使用して Python 3.10 以降をインストールします
Amazon Q または Claude 向けの設定

この MCP サーバーを Amazon Q または Claude に追加するには、MCP 設定ファイルに以下を追加します。Amazon Q の場合は、q chat を実行するディレクトリの下に .amazonq/mcp.json という名前のファイルを作成します(まだ存在しない場合)。次に、以下の設定を追加します。

{
  "mcpServers": {
    "redshift": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "--with", "<path-to-redshift-mcp-server>", "redshift-mcp-server"
      ],
      "env": {
        "FASTMCP_LOG_LEVEL": "ERROR"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}
認証情報の設定

⚠️ セキュリティ警告 ⚠️

認証情報ファイルをバージョン管理にコミットしたり、Docker イメージに含めたりしないでください!

環境変数を使用して Redshift の認証情報を設定します。

# Linux/macOS
export REDSHIFT_HOST=<your-redshift-host>
export REDSHIFT_PORT=5439  # Default Redshift port
export REDSHIFT_DATABASE=<your-database-name>
export REDSHIFT_USER=<your-username>
export REDSHIFT_PASSWORD=<your-password>

# Windows (Command Prompt)
set REDSHIFT_HOST=<your-redshift-host>
set REDSHIFT_PORT=5439
set REDSHIFT_DATABASE=<your-database-name>
set REDSHIFT_USER=<your-username>
set REDSHIFT_PASSWORD=<your-password>

# Windows (PowerShell)
$env:REDSHIFT_HOST = "<your-redshift-host>"
$env:REDSHIFT_PORT = "5439"
$env:REDSHIFT_DATABASE = "<your-database-name>"
$env:REDSHIFT_USER = "<your-username>"
$env:REDSHIFT_PASSWORD = "<your-password>"

開発

  1. このリポジトリをクローンします:

    git clone https://github.com/tuanknguyen/redshift-mcp-server.git
    cd redshift-mcp-server
    
  2. 仮想環境を作成して有効化します:

    # Create the venv
    uv venv
    
    # Activate it
    source .venv/bin/activate  # On Windows: .venv\Scripts\activate
    
  3. プロジェクトをインストールします:

    # Install the project and its dependencies
    uv pip install -e .
    
    # Or for development
    uv pip install -e ".[dev]"
    

設定

Redshift の接続情報として、以下の環境変数を設定します。

export REDSHIFT_HOST=<your-redshift-host>
export REDSHIFT_PORT=5439  # Default Redshift port
export REDSHIFT_DATABASE=<your-database-name>
export REDSHIFT_USER=<your-username>
export REDSHIFT_PASSWORD=<your-password>

任意の環境変数:

export FASTMCP_LOG_LEVEL=INFO  # Set log level (DEBUG, INFO, WARNING, ERROR)
開発モード

MCP Inspector を使用した開発とテストの場合:

mcp dev redshift-mcp-server

利用可能なツール

  • run_query(query: str) - Redshift に対して SQL クエリを実行します
  • explain_query(query: str) - SQL クエリの実行計画を取得します
  • list_tables_in_schema(schema_name: str) - 指定したスキーマ内のすべてのテーブルとビューを一覧表示します
  • list_schemas() - データベース内のすべてのスキーマを一覧表示します
  • test_redshift_connection() - Redshift データベースへの接続をテストします

接続テスト

MCP サーバーは起動時に自動で接続をテストします。接続テストに失敗すると、サーバーは起動せず、エラーが発生します。

次のコマンドを使用して、単独で接続テストを実行することもできます。

python test_connection.py

ベストプラクティス

  • list_schemas と list_tables_in_schema を使用して、データベースの構造を確認します
  • 大規模なクエリの場合は、まず explain_query を使用して実行計画を確認することを検討します
  • 結果セットを制限するため、適切な WHERE 句を必ず含めます
  • パフォーマンスを向上させるため、SELECT * ではなく列名を明示的に指定します
  • 返される行数が多くなりすぎないよう、LIMIT 句の追加を検討します

コメント

MCP は初めてですか?

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

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