Skip to main content
Glama
kartik-augusta

Redshift MCP Server

Redshift MCP Server

Este servidor MCP (Model Context Protocol) proporciona acceso seguro y de solo lectura a bases de datos de Amazon Redshift para su uso con Claude Desktop y otros clientes compatibles con MCP. Actúa como un puente inteligente que permite a los asistentes de IA navegar, comprender y extraer información directamente de su almacén de datos de forma independiente.

✨ Características principales

  • 10 herramientas especializadas: Un conjunto completo de herramientas para descubrimiento de datos, extracción de metadatos, consultas y exportación.

  • Configuración dinámica: Totalmente configurable mediante .env (listas de permitidos, límites de filas, parámetros de conexión).

  • Modos de transporte: Admite tanto stdio (para clientes locales como Claude Desktop) como sse (Server-Sent Events sobre HTTP para conexiones remotas).

  • Caché de conexiones: Gestión eficiente de conexiones con conexiones únicas de larga duración y verificación de estado hacia Redshift.

  • Seguridad empresarial:

    • Validación estricta de SQL de solo lectura.

    • Lista de permitidos de esquemas (restringe la IA a esquemas preaprobados).

    • Límites estrictos en el número de filas de consultas y exportaciones para proteger el rendimiento de la base de datos.

  • Compatibilidad con túneles SSH: Se conecta sin problemas a clústeres de Redshift en VPC privadas mediante un sshtunnel integrado.

Related MCP server: safedb-mcp

🛠️ Herramientas MCP disponibles

Descubrimiento y navegación de datos

  1. get_allowed_schemas: Devuelve la configuración de acceso a esquemas del servidor (lista de permitidos, esquema predeterminado, límites).

  2. list_schemas: Descubre los esquemas accesibles en la base de datos (filtrados por la lista de permitidos configurada).

  3. list_tables: Enumera todas las tablas de un esquema. Solo los esquemas de la lista de permitidos son accesibles.

  4. describe_table: Obtiene nombres de columnas, tipos de datos, nulabilidad y valores predeterminados de una tabla.

  5. search_columns: Busca columnas cuyo nombre coincida con una palabra clave (sin distinción de mayúsculas y minúsculas) en todas las tablas de los esquemas permitidos.

Análisis y extracción de datos

  1. sample_data: Devuelve una muestra rápida de filas de una tabla para exploración de datos.

  2. table_row_count: Obtiene el recuento exacto de filas de una tabla mediante COUNT(*).

  3. query_data: Ejecuta una consulta SELECT de solo lectura. Envuelve y limita automáticamente los resultados según la configuración del servidor.

  4. explain_query: Muestra el plan EXPLAIN de una consulta para comprender el rendimiento antes de ejecutarla.

  5. export_to_csv: Exporta los resultados de una consulta a formato CSV con un límite de filas dedicado más alto (MAX_EXPORT_ROWS).

🚀 Configuración e instalación

1. Instalar dependencias

# 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.txt

2. Configurar el entorno

Copie el archivo de entorno de ejemplo y edítelo con sus credenciales:

cp .env.example .env

Edite el archivo .env para configurar su conexión a Redshift y los límites del servidor:

# --- 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. Iniciar el servidor

Modo 1: stdio (predeterminado) Ideal cuando el cliente MCP (p. ej., Claude Desktop) se ejecuta en la misma máquina.

python server.py

Modo 2: sse (HTTP) Ideal para acceder al servidor de forma remota mediante HTTP o túneles.

# Start SSE on port 8000
python server.py --sse --host 0.0.0.0 --port 8000

🔌 Conexión al servidor

Opción A: Claude Desktop local (stdio)

Si su Claude Desktop se ejecuta en la misma máquina que el servidor, edite el archivo de configuración de Claude Desktop:

  • Mac: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %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"]
    }
  }
}

Opción B: Conexión remota (SSE + IDE)

Si el servidor se ejecuta en una instancia EC2 remota, inicie el servidor en modo --sse.

Para IDEs que admiten conexiones SSE directas (como VS Code con Cline):

  1. Añada un nuevo servidor MCP.

  2. Establezca el tipo de transporte en SSE.

  3. Utilice la URL: http://<EC2-IP>:8000/sse (o la URL de su túnel).

🧪 Pruebas y validación

El repositorio incluye un conjunto completo de pruebas y herramientas de diagnóstico:

  • client.py: Un cliente CLI que ejecuta una prueba de humo de extremo a extremo contra las 10 herramientas.

  • test_connection.py: Validación básica de conectividad.

  • test_restricted_access.py: Garantiza que las restricciones de seguridad de esquemas funcionan correctamente.

  • monitor_mcp.sh: Monitorización lista para producción con reinicio automático, comprobaciones de estado y registro de eventos.

🏗️ Arquitectura

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

🔐 Consideraciones de seguridad

  • Solo lectura: El envoltorio _validate_read_only_sql restringe estrictamente las consultas a sentencias SELECT y EXPLAIN.

  • Motor de límites: Los errores de sintaxis de doble LIMIT se evitan mediante análisis de expresiones regulares en _apply_limit, lo que garantiza que los escaneos de tablas grandes estén limitados al umbral de su .env.

  • Aislamiento de esquemas: La IA no puede ver ni consultar tablas fuera de la lista separada por comas de ALLOWED_SCHEMAS.

  • Mantenga las credenciales seguras: Nunca confirme sus archivos de configuración .env o .json en el control de versiones. Están ignorados en .gitignore de forma predeterminada.

F
license - not found
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • F
    license
    Not graded
    quality
    D
    maintenance
    A production-ready server that connects LLMs and AI agents (Claude, ChatGPT) to Amazon Redshift databases with configurable access controls and zero code changes.
    4
  • A
    license
    A
    quality
    C
    maintenance
    Secure MCP server for safe, read-only DB access by AI agents, with SQL guardrails, table allowlists, PII masking, and audit logs
    6
    34
    7
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    A read-only MCP server for Amazon Redshift that leverages column comments for guided data discovery, with slash commands for profiling, exploration, and lineage.
    13
    1
    MIT

View all related MCP servers

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.

View all MCP Connectors

Latest Blog Posts

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