Redshift MCP Server
Redshift MCP Server
Dieser MCP-Server (Model Context Protocol) stellt einen sicheren, schreibgeschützten Zugriff auf Amazon-Redshift-Datenbanken für die Verwendung mit Claude Desktop und anderen MCP-kompatiblen Clients bereit. Als intelligente Brücke ermöglicht er KI-Assistenten, eigenständig Daten zu durchsuchen, zu verstehen und Erkenntnisse direkt aus Ihrem Data Warehouse zu gewinnen.
✨ Hauptfunktionen
10 spezialisierte Tools: Eine umfassende Suite für Datenermittlung, Metadaten-Extraktion, Abfragen und Export.
Dynamische Konfiguration: Vollständig konfigurierbar über
.env(Zulassungslisten, Zeilenlimits, Verbindungsparameter).Transportmodi: Unterstützt sowohl
stdio(für lokale Clients wie Claude Desktop) als auchsse(Server-Sent Events über HTTP für Remote-Verbindungen).Verbindungs-Caching: Effizientes Verbindungsmanagement mit einer einzelnen langlebigen, auf Erreichbarkeit geprüften Verbindung zu Redshift.
Enterprise Security:
Strenge schreibgeschützte SQL-Validierung.
Schema-Zulassungsliste (schränkt die KI auf vorab freigegebene Schemata ein).
Harte Obergrenzen für Abfrage- und Export-Zeilenanzahlen zum Schutz der Datenbankleistung.
SSH-Tunnel-Support: Nahtlose Verbindung zu privaten Redshift-Clustern in einer VPC über einen integrierten
sshtunnel.
Related MCP server: safedb-mcp
🛠️ Verfügbare MCP-Tools
Datenabruf & Navigation
get_allowed_schemas: Gibt die Schema-Zugriffskonfiguration des Servers zurück (Zulassungsliste, Standard-Schema, Limits).list_schemas: Ermittelt zugängliche Schemata in der Datenbank (gefiltert nach der konfigurierten Zulassungsliste).list_tables: Listet alle Tabellen in einem Schema auf. Zugänglich sind nur Schemata der Zulassungsliste.describe_table: Liefert Spaltennamen, Datentypen, Nullability und Standardwerte einer Tabelle.search_columns: Durchsucht alle Tabellen zugelassener Schemata nach Spalten, deren Name einem Suchbegriff entspricht (ohne Beachtung der Groß-/Kleinschreibung).
Datenanalyse & Extraktion
sample_data: Gibt schnell eine Stichprobe von Zeilen aus einer Tabelle zur Datenexploration zurück.table_row_count: Liefert die exakte Zeilenanzahl einer Tabelle überCOUNT(*).query_data: Führt eine schreibgeschützteSELECT-Abfrage aus. Umschließt und begrenzt die Ergebnisse automatisch auf Basis der Serverkonfiguration.explain_query: Zeigt denEXPLAIN-Plan einer Abfrage an, um die Ausführungsleistung vorab zu verstehen.export_to_csv: Exportiert Abfrageergebnisse im CSV-Format mit einem höheren eigenen Zeilenlimit (MAX_EXPORT_ROWS).
🚀 Setup & Installation
1. Abhängigkeiten installieren
# 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. Umgebung konfigurieren
Kopieren Sie die Beispiel-Umgebungsdatei und passen Sie sie mit Ihren Zugangsdaten an:
cp .env.example .envBearbeiten Sie die Datei .env, um Ihre Redshift-Verbindung und Server-Limits zu konfigurieren:
# --- 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. Server starten
Modus 1: stdio (Standard)
Am besten geeignet, wenn der MCP-Client (z. B. Claude Desktop) auf derselben Maschine läuft.
python server.pyModus 2: sse (HTTP)
Am besten für den Fernzugriff auf den Server über HTTP oder Tunnel.
# Start SSE on port 8000
python server.py --sse --host 0.0.0.0 --port 8000🔌 Verbindung mit dem Server herstellen
Option A: Lokaler Claude Desktop (stdio)
Wenn Ihr Claude Desktop auf derselben Maschine läuft wie der Server, bearbeiten Sie Ihre Claude-Desktop-Konfigurationsdatei:
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"]
}
}
}Option B: Remote-Verbindung (SSE + IDE)
Wenn der Server auf einer entfernten EC2-Instanz läuft, starten Sie den Server im --sse-Modus.
Für IDEs, die direkte SSE-Verbindungen unterstützen (z. B. VS Code mit Cline):
Fügen Sie einen neuen MCP-Server hinzu.
Stellen Sie den Transporttyp auf SSE.
Verwenden Sie die URL:
http://<EC2-IP>:8000/sse(oder Ihre Tunnel-URL).
🧪 Testen & Validierung
Das Repository enthält eine umfassende Testsuite und Diagnosetools:
client.py: Ein CLI-Client, der einen End-to-End-Smoke-Test über alle 10 Tools ausführt.test_connection.py: Basisvalidierung der Konnektivität.test_restricted_access.py: Stellt sicher, dass die Schema-Sicherheitsbeschränkungen einwandfrei funktionieren.monitor_mcp.sh: Produktionsreifes Monitoring mit automatischem Neustart, Health-Checks und Logging.
🏗️ Architektur
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🔐 Sicherheitshinweise
Read-only: Der
_validate_read_only_sql-Wrapper schränkt Abfragen strikt aufSELECT- undEXPLAIN-Anweisungen ein.Limits-Engine: Doppelte
LIMIT-Syntaxfehler werden durch RegEx-Parsing in_apply_limitverhindert, wodurch große Tabellenscans zuverlässig auf Ihre.env-Schwelle begrenzt bleiben.Schema-Isolierung: Die KI kann Tabellen außerhalb der durch Kommata getrennten
ALLOWED_SCHEMAS-Liste weder einsehen noch abfragen.Zugangsdaten schützen: Committen Sie Ihre
.env- oder.json-Konfigurationsdateien niemals in die Versionsverwaltung. Sie werden standardmäßig in.gitignoreausgeschlossen.
This server cannot be deployed
Maintenance
Related MCP Connectors
Query your org's data in natural language — read-only MCP access to SQL, NoSQL, files & warehouses.
Draxlr's remote MCP server connects AI assistants to your SQL databases and dashboards. Explore schemas, run read-only queries, manage saved queries and dashboards, and export results, all with row-level security so each user sees only their own data.
Query your warehouse or a CSV with Claude/ChatGPT over MCP, governed by table-level ACL + audit.
The BigQuery remote MCP server is a fully managed service that uses the Model Context Protocol to connect AI applications and LLMs to BigQuery data sources. It provides secure, standardized tools for AI agents to list datasets and tables, retrieve schemas, generate and execute SQL queries through natural language, and analyze data—enabling direct access to enterprise analytics data without requiring manual SQL coding.
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-
- AlicenseAqualityBmaintenanceSecure MCP server for safe, read-only DB access by AI agents, with SQL guardrails, table allowlists, PII masking, and audit logs623 npm9MIT
- AlicenseAqualityBmaintenanceA 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.31 npm1MIT