MCP Server for Amazon Redshift について
Amazon Redshift データベースの利用者向けの TypeScript 製 MCP サーバーです。データベースオブジェクトの一覧、スキーマ確認、読み取り専用 SQL クエリを提供し、stdio と SSE に対応します。
主な機能
- 01テーブル、ビュー、マテリアライズドビューの一覧
- 02複数テーブルのスキーマ取得
- 03読み取り専用 SQL クエリの実行
- 04stdio と SSE のトランスポート対応
活用シーン
- 01指定スキーマ内のデータベースオブジェクト確認
- 02複数テーブルのカラム構造の調査
- 03Redshift での読み取り専用分析クエリ
MCP 対応
データベースオブジェクトの一覧、テーブルスキーマの取得、読み取り専用クエリのツールを MCP クライアントに公開します。stdio と SSE に対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Redshift 用 MCP サーバー
Amazon Redshift 用の Model Context Protocol(MCP)サーバー実装です。AI モデルを通じて Redshift データベースを操作するための標準化されたインターフェースを提供します。
特長
- 複数のスキーマにまたがるテーブル、ビュー、マテリアライズドビューの一覧表示
- 1 回のリクエストで複数のテーブルの詳細なスキーマ情報を取得
- Redshift に対する読み取り専用 SQL クエリの実行
- stdio と SSE(Server-Sent Events)トランスポートの両方をサポート
- TypeScript による型安全な実装
前提条件
- Node.js 18 以降
- Redshift データベースへのアクセス
- 環境変数の設定(「設定」セクションを参照)
インストール
-
リポジトリをクローンします。
git clone https://github.com/yourusername/mcp-server-redshift.git cd mcp-server-redshift -
依存関係をインストールします。
npm install -
プロジェクトをビルドします。
npm run build
設定
ルートディレクトリに .env ファイルを作成し、次の変数を設定します。
# Redshift Connection
REDSHIFT_HOST=your-redshift-host
REDSHIFT_PORT=5439
REDSHIFT_DATABASE=your-database
REDSHIFT_USER=your-username
REDSHIFT_PASSWORD=your-password
REDSHIFT_SCHEMAS=public,schema1,schema2 # Comma-separated list of schemas
# Server Configuration
TRANSPORT_TYPE=stdio # or 'sse' for Server-Sent Events
PORT=3000 # Only used when TRANSPORT_TYPE=sse
使用方法
サーバーの起動
# Development
npm run dev
# Production
npm run build
npm start
利用可能なツール
-
テーブル一覧(
list_tables)- 指定したスキーマ内のすべてのテーブル、ビュー、マテリアライズドビューを一覧表示します
- 特定のスキーマで絞り込む場合は、オプションの
schemasパラメーターを指定します
{ "schemas": ["public", "analytics"] } -
テーブルのスキーマを取得(
get_tables_schema)- 複数のスキーマにまたがる複数のテーブルのスキーマ情報を取得します
{ "tables": [ { "schema": "public", "table": "users" }, { "schema": "analytics", "table": "events" } ] } -
クエリ(
query)- データベースに対して読み取り専用 SQL クエリを実行します
{ "sql": "SELECT * FROM public.users LIMIT 5" }
テスト
テストスイートを実行します。
npm test
アーキテクチャ
プロジェクトは次の構成になっています。
src/
├── config/ # Configuration and database setup
├── tools/ # Individual tool implementations
├── server/ # Server setup and transport configuration
└── index.ts # Main entry point
セキュリティに関する考慮事項
- すべてのクエリは読み取り専用トランザクションで実行されます
- 環境変数は適切に保護してください
- SSE トランスポートでは CORS が有効になっています(本番環境向けに設定してください)
- データベースの認証情報は安全に管理してください
貢献
- リポジトリをフォークします
- 機能ブランチを作成します(
git checkout -b feature/amazing-feature) - 変更をコミットします(
git commit -m 'Add some amazing feature') - ブランチにプッシュします(
git push origin feature/amazing-feature) - プルリクエストを作成します
ライセンス
このプロジェクトは MIT ライセンスの下で公開されています。詳細については LICENSE ファイルを参照してください。
謝辞
このプロジェクトは、Model Context Protocol プロジェクトの PostgreSQL MCP サーバーをベースにしています。尽力された原著者の皆様に深く感謝します。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。