mcpField
M
MCP Server for Amazon Redshift

MCP Server for Amazon Redshift

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

MCP Server for Amazon Redshift について

Amazon Redshift データベースの利用者向けの TypeScript 製 MCP サーバーです。データベースオブジェクトの一覧、スキーマ確認、読み取り専用 SQL クエリを提供し、stdio と SSE に対応します。

主な機能

  1. 01テーブル、ビュー、マテリアライズドビューの一覧
  2. 02複数テーブルのスキーマ取得
  3. 03読み取り専用 SQL クエリの実行
  4. 04stdio と SSE のトランスポート対応

活用シーン

  1. 01指定スキーマ内のデータベースオブジェクト確認
  2. 02複数テーブルのカラム構造の調査
  3. 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 データベースへのアクセス
  • 環境変数の設定(「設定」セクションを参照)

インストール

  1. リポジトリをクローンします。

    git clone https://github.com/yourusername/mcp-server-redshift.git
    cd mcp-server-redshift
    
  2. 依存関係をインストールします。

    npm install
    
  3. プロジェクトをビルドします。

    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
利用可能なツール
  1. テーブル一覧(list_tables)

    • 指定したスキーマ内のすべてのテーブル、ビュー、マテリアライズドビューを一覧表示します
    • 特定のスキーマで絞り込む場合は、オプションの schemas パラメーターを指定します
    {
      "schemas": ["public", "analytics"]
    }
    
  2. テーブルのスキーマを取得(get_tables_schema)

    • 複数のスキーマにまたがる複数のテーブルのスキーマ情報を取得します
    {
      "tables": [
        { "schema": "public", "table": "users" },
        { "schema": "analytics", "table": "events" }
      ]
    }
    
  3. クエリ(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 が有効になっています(本番環境向けに設定してください)
  • データベースの認証情報は安全に管理してください

貢献

  1. リポジトリをフォークします
  2. 機能ブランチを作成します(git checkout -b feature/amazing-feature)
  3. 変更をコミットします(git commit -m 'Add some amazing feature')
  4. ブランチにプッシュします(git push origin feature/amazing-feature)
  5. プルリクエストを作成します

ライセンス

このプロジェクトは MIT ライセンスの下で公開されています。詳細については LICENSE ファイルを参照してください。

謝辞

このプロジェクトは、Model Context Protocol プロジェクトの PostgreSQL MCP サーバーをベースにしています。尽力された原著者の皆様に深く感謝します。

コメント

MCP は初めてですか?

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

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