Content
# 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](https://github.com/modelcontextprotocol/mcp) 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
```bash
# 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
```bash
# 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:
```json
{
"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
You Might Also Like
MarkItDown MCP
markitdown-mcp is a lightweight MCP server for converting various URIs to Markdown.
Github
GitHub MCP Server connects AI tools to GitHub for code management and automation.

apisix
Apache APISIX is an API Gateway for managing APIs and microservices.
debugg-ai-mcp
AI-powered MCP Server for testing, debugging, and code analysis.
aws-lambda-mcp-cookbook
AWS Lambda MCP Cookbook provides Python examples for MCP server integration.
mcp-server-macos-use
MCP server in Swift for controlling macOS apps via accessibility APIs.