Servidor MCP de Redshift
Un servidor de Protocolo de contexto de modelo (MCP) para Amazon Redshift que permite a los asistentes de IA interactuar con las bases de datos de Redshift.
Introducción
Redshift MCP Server es una implementación del Protocolo de Contexto de Modelo basada en Python 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 Redshift
Recuperar scripts DDL (lenguaje de definición de datos) de tablas
Obtener estadísticas de la tabla
Ejecutar consultas SQL
Analizar tablas para recopilar información estadística
Obtener planes de ejecución para consultas SQL
Related MCP server: MongoDB MCP Server
Instalación
Prerrequisitos
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 la fuente
# Clone the repository
git clone https://github.com/Moonlight-CL/redshift-mcp-server.git
cd redshift-mcp-server
# Install dependencies
uv syncConfiguración
El servidor requiere las siguientes variables de entorno para conectarse a su clúster 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 configurar estas variables de entorno directamente o utilizar 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.pyIntegración con asistentes de IA
Para utilizar este servidor con un asistente de IA compatible con MCP, agregue la siguiente configuración a la configuración 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- Enumera todos los esquemas en la base de datosrs:///{schema}/tables- Enumera 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 Redshiftanalyze_table: analiza una tabla para recopilar información estadística.get_execution_plan: obtiene el plan de ejecución con estadísticas de tiempo de ejecución para una consulta SQL
Ejemplos
Esquemas de listado
access_mcp_resource("redshift-mcp-server", "rs:///schemas")Listado de tablas en un esquema
access_mcp_resource("redshift-mcp-server", "rs:///public/tables")Obteniendo la tabla DDL
access_mcp_resource("redshift-mcp-server", "rs:///public/users/ddl")Ejecución de 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"})Obtener un 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.mdDependencias
mcp[cli]>=1.5.0- SDK de protocolo de contexto de modelopython-dotenv>=1.1.0- Para cargar variables de entorno desde archivos .envredshift-connector>=2.1.5- Conector de Python para Amazon Redshift