icon for mcp server

Amazon Redshift

STDIO

MCP server for AI assistants to interact with Amazon Redshift databases

Redshift MCP Server

A Model Context Protocol (MCP) server for Amazon Redshift that enables AI assistants to interact with Redshift databases.

Introduction

Redshift MCP Server is a Python-based implementation of the Model Context Protocol that provides tools and resources for interacting with Amazon Redshift databases. It allows AI assistants to:

  • List schemas and tables in a Redshift database
  • Retrieve table DDL (Data Definition Language) scripts
  • Get table statistics
  • Execute SQL queries
  • Analyze tables to collect statistics information
  • Get execution plans for SQL queries

Installation

Prerequisites

  • Python 3.13 or higher
  • Amazon Redshift cluster
  • Redshift credentials (host, port, username, password, database)

Install from source

# Clone the repository git clone https://github.com/Moonlight-CL/redshift-mcp-server.git cd redshift-mcp-server # Install dependencies uv sync

Configuration

The server requires the following environment variables to connect to your Redshift cluster:

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"

You can set these environment variables directly or use a .env file.

Usage

Starting the server

# Start the server uv run --with mcp python-dotenv redshift-connector mcp mcp run src/redshift_mcp_server/server.py

Integrating with AI assistants

To use this server with an AI assistant that supports MCP, add the following configuration to your MCP settings:

{ "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" } } } }

Features

Resources

The server provides the following resources:

  • rs:///schemas - Lists all schemas in the database
  • rs:///{schema}/tables - Lists all tables in a specific schema
  • rs:///{schema}/{table}/ddl - Gets the DDL script for a specific table
  • rs:///{schema}/{table}/statistic - Gets statistics for a specific table

Tools

The server provides the following tools:

  • execute_sql - Executes a SQL query on the Redshift cluster
  • analyze_table - Analyzes a table to collect statistics information
  • get_execution_plan - Gets the execution plan with runtime statistics for a SQL query

Examples

Listing schemas

access_mcp_resource("redshift-mcp-server", "rs:///schemas")

Listing tables in a schema

access_mcp_resource("redshift-mcp-server", "rs:///public/tables")

Getting table DDL

access_mcp_resource("redshift-mcp-server", "rs:///public/users/ddl")

Executing SQL

use_mcp_tool("redshift-mcp-server", "execute_sql", {"sql": "SELECT * FROM public.users LIMIT 10"})

Analyzing a table

use_mcp_tool("redshift-mcp-server", "analyze_table", {"schema": "public", "table": "users"})

Getting execution plan

use_mcp_tool("redshift-mcp-server", "get_execution_plan", {"sql": "SELECT * FROM public.users WHERE user_id = 123"})

Development

Project structure

redshift-mcp-server/
├── src/
│   └── redshift_mcp_server/
│       ├── __init__.py
│       └── server.py
├── pyproject.toml
└── README.md

Dependencies

  • mcp[cli]>=1.5.0 - Model Context Protocol SDK
  • python-dotenv>=1.1.0 - For loading environment variables from .env files
  • redshift-connector>=2.1.5 - Python connector for Amazon Redshift

Be the First to Experience MCP Now