Redshift MCP Server
Un servidor MCP para Amazon Redshift, que permite a los asistentes de IA interactuar con bases de datos Redshift.
Documentación
Redshift MCP Server
Un servidor de Model Context Protocol (MCP) para Amazon Redshift que permite a los asistentes de IA interactuar con bases de datos de Redshift.
Introducción
Redshift MCP Server es una implementación basada en Python del Model Context Protocol que proporciona herramientas y recursos para interactuar con bases de datos de Amazon Redshift. Permite a los asistentes de IA:
- Listar esquemas y tablas en una base de datos de Redshift
- Recuperar scripts DDL (Data Definition Language) de tablas
- Obtener estadísticas de tablas
- Ejecutar consultas SQL
- Analizar tablas para recopilar información de estadísticas
- Obtener planes de ejecución para consultas SQL
Instalación
Requisitos previos
- Python 3.13 o superior
- Clúster de Amazon Redshift
- Credenciales de Redshift (host, puerto, nombre de usuario, contraseña, base de datos)
Instalar desde el código fuente
# Clone the repository
git clone https://github.com/Moonlight-CL/redshift-mcp-server.git
cd redshift-mcp-server
# Install dependencies
uv sync
Configuración
El servidor requiere las siguientes variables de entorno para conectarse a su clúster de Redshift:
RS_HOST=your-redshift-cluster.region.redshift.amazonaws.com
RS_PORT=5439
RS_USER=your_username
RS_PASSWORD=your_password
RS_DATABASE=your_database
RS_SCHEMA=your_schema # Optional, defaults to "public"
Puede establecer estas variables de entorno directamente o usar un archivo .env.
Uso
Iniciando el servidor
# Start the server
uv run --with mcp python-dotenv redshift-connector mcp
mcp run src/redshift_mcp_server/server.py
Integración con asistentes de IA
Para usar este servidor con un asistente de IA que admita MCP, agregue la siguiente configuración a sus ajustes de MCP:
{
"mcpServers": {
"redshift": {
"command": "uv",
"args": ["--directory", "src/redshift_mcp_server", "run", "server.py"],
"env": {
"RS_HOST": "your-redshift-cluster.region.redshift.amazonaws.com",
"RS_PORT": "5439",
"RS_USER": "your_username",
"RS_PASSWORD": "your_password",
"RS_DATABASE": "your_database",
"RS_SCHEMA": "your_schema"
}
}
}
}
Características
Recursos
El servidor proporciona los siguientes recursos:
rs:///schemas- Lista todos los esquemas en la base de datosrs:///{schema}/tables- Lista todas las tablas en un esquema específicors:///{schema}/{table}/ddl- Obtiene el script DDL para una tabla específicars:///{schema}/{table}/statistic- Obtiene estadísticas para una tabla específica
Herramientas
El servidor proporciona las siguientes herramientas:
execute_sql- Ejecuta una consulta SQL en el clúster de Redshiftanalyze_table- Analiza una tabla para recopilar información de estadísticasget_execution_plan- Obtiene el plan de ejecución con estadísticas de tiempo de ejecución para una consulta SQL
Ejemplos
Listando esquemas
access_mcp_resource("redshift-mcp-server", "rs:///schemas")
Listando tablas en un esquema
access_mcp_resource("redshift-mcp-server", "rs:///public/tables")
Obteniendo DDL de tabla
access_mcp_resource("redshift-mcp-server", "rs:///public/users/ddl")
Ejecutando SQL
use_mcp_tool("redshift-mcp-server", "execute_sql", {"sql": "SELECT * FROM public.users LIMIT 10"})
Analizando una tabla
use_mcp_tool("redshift-mcp-server", "analyze_table", {"schema": "public", "table": "users"})
Obteniendo plan de ejecución
use_mcp_tool("redshift-mcp-server", "get_execution_plan", {"sql": "SELECT * FROM public.users WHERE user_id = 123"})
Desarrollo
Estructura del proyecto
redshift-mcp-server/
├── src/
│ └── redshift_mcp_server/
│ ├── __init__.py
│ └── server.py
├── pyproject.toml
└── README.md
Dependencias
mcp[cli]>=1.5.0- SDK de Model Context Protocolpython-dotenv>=1.1.0- Para cargar variables de entorno desde archivos .envredshift-connector>=2.1.5- Conector de Python para Amazon Redshift