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 dados
  • rs:///{schema}/tables - Lista todas as tabelas em um schema específico
  • rs:///{schema}/{table}/ddl - Obtém o script DDL para uma tabela específica
  • rs:///{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 Redshift
  • analyze_table - Analisa uma tabela para coletar informações de estatísticas
  • get_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 Protocol
  • python-dotenv>=1.1.0 - Para carregar variáveis de ambiente de arquivos .env
  • redshift-connector>=2.1.5 - Conector Python para Amazon Redshift