Redshift MCP Server について
Redshift MCP Serverは、MCPクライアントをAmazon Redshiftデータベースに接続します。SQLクエリの実行と説明、スキーマやテーブル・ビューの確認、データベース接続のテストを行うツールを提供します。
主な機能
- 01SQLクエリの実行
- 02SQL実行計画の説明
- 03データベーススキーマの一覧表示
- 04スキーマ内のテーブルとビューの一覧表示
- 05データベース接続のテスト
活用シーン
- 01RedshiftデータベースでのSQL実行
- 02クエリ実行計画の確認
- 03スキーマとテーブルの調査
MCP 対応
Amazon Redshiftのクエリ、実行計画、スキーマ、テーブル、接続テストのツールをMCPクライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Redshift MCP サーバー
Amazon Redshift データベースを操作するための Model Context Protocol(MCP)サーバーです。
機能
- Redshift で SQL クエリを実行
- SQL クエリの実行計画を説明
- スキーマ内のテーブルとビューを一覧表示
- データベース内のすべてのスキーマを一覧表示
- Redshift への接続をテスト
前提条件
- Python 3.10+
- Amazon Redshift データベースの認証情報
インストール
インストール要件
- Astral または GitHub の README から
uvをインストールします 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>"
開発
-
このリポジトリをクローンします:
git clone https://github.com/tuanknguyen/redshift-mcp-server.git cd redshift-mcp-server -
仮想環境を作成して有効化します:
# Create the venv uv venv # Activate it source .venv/bin/activate # On Windows: .venv\Scripts\activate -
プロジェクトをインストールします:
# 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 句の追加を検討します
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。