Redshift MCP Server
Um servidor MCP para Amazon Redshift, permitindo que assistentes de IA interajam com bancos de dados Redshift.
Documentação
Redshift MCP Server
Um servidor Model Context Protocol (MCP) para Amazon Redshift que permite que assistentes de IA interajam com bancos de dados Redshift.
Introdução
Redshift MCP Server é uma implementação em Python do Model Context Protocol que fornece ferramentas e recursos para interagir com bancos de dados Amazon Redshift. Ele permite que assistentes de IA:
- Listem schemas e tabelas em um banco de dados Redshift
- Recuperem scripts DDL (Data Definition Language) de tabelas
- Obtenham estatísticas de tabelas
- Executem consultas SQL
- Analisem tabelas para coletar informações de estatísticas
- Obtenham planos de execução para consultas SQL
Instalação
Pré-requisitos
- Python 3.13 ou superior
- Cluster Amazon Redshift
- Credenciais do Redshift (host, porta, usuário, senha, banco de dados)
Instalar a partir do código-fonte
# Clone the repository
git clone https://github.com/Moonlight-CL/redshift-mcp-server.git
cd redshift-mcp-server
# Install dependencies
uv sync
Configuração
O servidor requer as seguintes variáveis de ambiente para conectar-se ao seu cluster 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"
Você pode definir essas variáveis de ambiente diretamente ou usar um arquivo .env.
Uso
Iniciando o servidor
# Start the server
uv run --with mcp python-dotenv redshift-connector mcp
mcp run src/redshift_mcp_server/server.py
Integração com assistentes de IA
Para usar este servidor com um assistente de IA que suporte MCP, adicione a seguinte configuração às suas configurações 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"
}
}
}
}
Recursos
Recursos disponíveis
O servidor fornece os seguintes recursos:
rs:///schemas- Lista todos os schemas no banco de dadosrs:///{schema}/tables- Lista todas as tabelas em um schema específicors:///{schema}/{table}/ddl- Obtém o script DDL para uma tabela específicars:///{schema}/{table}/statistic- Obtém estatísticas para uma tabela específica
Ferramentas
O servidor fornece as seguintes ferramentas:
execute_sql- Executa uma consulta SQL no cluster Redshiftanalyze_table- Analisa uma tabela para coletar informações de estatísticasget_execution_plan- Obtém o plano de execução com estatísticas de tempo de execução para uma consulta SQL
Exemplos
Listando schemas
access_mcp_resource("redshift-mcp-server", "rs:///schemas")
Listando tabelas em um schema
access_mcp_resource("redshift-mcp-server", "rs:///public/tables")
Obtendo DDL de tabela
access_mcp_resource("redshift-mcp-server", "rs:///public/users/ddl")
Executando SQL
use_mcp_tool("redshift-mcp-server", "execute_sql", {"sql": "SELECT * FROM public.users LIMIT 10"})
Analisando uma tabela
use_mcp_tool("redshift-mcp-server", "analyze_table", {"schema": "public", "table": "users"})
Obtendo plano de execução
use_mcp_tool("redshift-mcp-server", "get_execution_plan", {"sql": "SELECT * FROM public.users WHERE user_id = 123"})
Desenvolvimento
Estrutura do projeto
redshift-mcp-server/
├── src/
│ └── redshift_mcp_server/
│ ├── __init__.py
│ └── server.py
├── pyproject.toml
└── README.md
Dependências
mcp[cli]>=1.5.0- SDK do Model Context Protocolpython-dotenv>=1.1.0- Para carregar variáveis de ambiente de arquivos .envredshift-connector>=2.1.5- Conector Python para Amazon Redshift