Redshift MCP Server
Redshift MCP Server
このMCP(Model Context Protocol)サーバーは、Claude Desktopおよびその他のMCP互換クライアントで使用するために、Amazon Redshiftデータベースへの安全な読み取り専用アクセスを提供します。これはインテリジェントなブリッジとして機能し、AIアシスタントがデータウェアハウスから直接、自律的にナビゲート、理解、洞察の抽出を行えるようにします。
✨ 主な機能
10個の専門ツール: データ探索、メタデータ抽出、クエリ、エクスポートのための完全なツールスイート。
動的構成:
.env経由で完全に設定可能(許可リスト、行数制限、接続パラメータ)。トランスポートモード:
stdio(Claude Desktopなどのローカルクライアント用)とsse(リモート接続用のHTTP上のServer-Sent Events)の両方をサポート。接続キャッシュ: Redshiftへの単一の長寿命ヘルスチェック済み接続による効率的な接続管理。
エンタープライズセキュリティ:
厳格な読み取り専用SQL検証。
スキーマ許可リスト(AIを事前承認済みスキーマに制限)。
データベースのパフォーマンスを保護するためのクエリおよびエクスポート行数のハードキャップ。
SSHトンネルサポート: 統合された
sshtunnelを介して、プライベートVPC Redshiftクラスターにシームレスに接続。
Related MCP server: safedb-mcp
🛠️ 利用可能なMCPツール
データ探索とナビゲーション
get_allowed_schemas: サーバーのスキーマアクセス構成(許可リスト、デフォルトスキーマ、制限)を返します。list_schemas: データベース内のアクセス可能なスキーマを検出します(設定された許可リストでフィルタリング)。list_tables: スキーマ内のすべてのテーブルを一覧表示します。許可リスト内のスキーマのみがアクセス可能です。describe_table: テーブルの列名、データ型、NULL許容性、デフォルト値を取得します。search_columns: 許可されたスキーマ内のすべてのテーブルで、名前がキーワード(大文字小文字を区別しない)に一致する列を検索します。
データ分析と抽出
sample_data: データ探索のために、テーブルから行のクイックサンプルを返します。table_row_count:COUNT(*)を使用してテーブルの正確な行数を取得します。query_data: 読み取り専用のSELECTクエリを実行します。サーバー構成に基づいて結果を自動的にラップして制限します。explain_query: 実行前にクエリのパフォーマンスを理解するために、EXPLAINプランを表示します。export_to_csv: クエリ結果をCSV形式でエクスポートします。専用のより高い行数制限(MAX_EXPORT_ROWS)を使用します。
🚀 セットアップとインストール
1. 依存関係のインストール
# Clone the repository
git clone <repository-url>
cd redshift-mcp-server
# Create virtual environment
python3 -m venv .venv
source .venv/bin/activate
# Install dependencies
pip install -r requirements.txt2. 環境の設定
サンプル環境ファイルをコピーし、認証情報を編集します:
cp .env.example .env.envファイルを編集して、Redshift接続とサーバー制限を設定します:
# --- Redshift Connection ---
RS_HOST=your-cluster.region.redshift.amazonaws.com
RS_DB=your_database_name
RS_USER=your_readonly_user
RS_PASS=your_password
RS_PORT=5439
# --- Security & Limits ---
ALLOWED_SCHEMAS=gold_capsaai,report_capsaai
DEFAULT_SCHEMA=gold_capsaai
MAX_ROWS=500
MAX_EXPORT_ROWS=5000
# --- SSH Tunnel (For Private VPCs) ---
SSH_TUNNEL=false
# If true, provide SSH_HOST, SSH_USER, SSH_KEY_FILE, etc.3. サーバーの起動
モード1: stdio(デフォルト)
MCPクライアント(例:Claude Desktop)が同じマシンで実行されている場合に最適です。
python server.pyモード2: sse(HTTP)
HTTPまたはトンネル経由でサーバーにリモートアクセスする場合に最適です。
# Start SSE on port 8000
python server.py --sse --host 0.0.0.0 --port 8000🔌 サーバーへの接続
オプションA: ローカルClaude Desktop(stdio)
Claude Desktopがサーバーと同じマシンで実行されている場合は、Claude Desktopの構成ファイルを編集します:
Mac:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"redshift": {
"command": "/absolute/path/to/redshift-mcp-server/.venv/bin/python",
"args": ["/absolute/path/to/redshift-mcp-server/server.py"]
}
}
}オプションB: リモート接続(SSE + IDE)
サーバーがリモートのEC2インスタンスで実行されている場合は、--sseモードでサーバーを起動します。
直接SSE接続をサポートするIDE(VS Code with Clineなど)の場合:
新しいMCPサーバーを追加します。
トランスポートタイプをSSEに設定します。
URLを使用します:
http://<EC2-IP>:8000/sse(またはトンネルURL)。
🧪 テストと検証
リポジトリには、包括的なテストスイートと診断ツールが含まれています:
client.py: 10個すべてのツールに対してエンドツーエンドのスモークテストを実行するCLIクライアント。test_connection.py: 基本的な接続性の検証。test_restricted_access.py: スキーマのセキュリティ制限が正しく機能していることを確認します。monitor_mcp.sh: 自動再起動、ヘルスチェック、ロギングを備えた本番運用対応のモニタリング。
🏗️ アーキテクチャ
graph TB
subgraph "Client Layer"
CD["Claude Desktop / MCP Client"]
end
subgraph "MCP Server Layer"
MCP["FastMCP Server"]
CONFIG["config.py / .env"]
VALIDATION["SQL & Schema Validation"]
end
subgraph "Network Layer"
SSH["SSH Tunnel<br/>(Optional)"]
CONN["Connection Cache"]
end
subgraph "Database Layer"
RS["Amazon Redshift"]
SCHEMA["Allowed Schemas"]
end
CD -->|"JSON-RPC (stdio/sse)"| MCP
MCP --> CONFIG
MCP --> VALIDATION
VALIDATION --> CONN
CONN --> SSH
SSH --> RS
RS --> SCHEMA🔐 セキュリティに関する考慮事項
読み取り専用:
_validate_read_only_sqlラッパーは、クエリをSELECTおよびEXPLAINステートメントに厳しく制限します。制限エンジン:
_apply_limit内の正規表現解析により、二重LIMIT構文のバグを防止し、大規模なテーブルスキャンが.envのしきい値で確実に制限されることを保証します。スキーマの分離: AIは
ALLOWED_SCHEMASのカンマ区切りリスト外のテーブルを表示またはクエリできません。認証情報を安全に保つ:
.envまたは.json構成ファイルをバージョン管理にコミットしないでください。これらはデフォルトで.gitignoreに無視されます。
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA production-ready server that connects LLMs and AI agents (Claude, ChatGPT) to Amazon Redshift databases with configurable access controls and zero code changes.4
- AlicenseAqualityCmaintenanceSecure MCP server for safe, read-only DB access by AI agents, with SQL guardrails, table allowlists, PII masking, and audit logs6347MIT
- AlicenseAqualityAmaintenanceA read-only MCP server for Amazon Redshift that leverages column comments for guided data discovery, with slash commands for profiling, exploration, and lineage.131MIT
- AlicenseNot gradedqualityBmaintenanceEnables secure, read-only access to Amazon Redshift data warehouses for AI assistants, allowing schema inspection, query execution, and data understanding.401MIT
Related MCP Connectors
Hosted Amazon Seller Central and Amazon Ads MCP server for Claude, ChatGPT, Cursor, and agents.
Hosted Amazon Seller and Vendor MCP server for Claude, ChatGPT, Cursor, Codex, Gemini, Copilot.
Security-first WordPress MCP server. 129 tools for Claude, ChatGPT, Gemini. Free on wp.org.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/kartik-augusta/redshift-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server