
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
Features
Resources
The server provides the following resources:
rs:///schemas- Lists all schemas in the databasers:///{schema}/tables- Lists all tables in a specific schemars:///{schema}/{table}/ddl- Gets the DDL script for a specific tablers:///{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 clusteranalyze_table- Analyzes a table to collect statistics informationget_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.mdDependencies
mcp[cli]>=1.5.0- Model Context Protocol SDKpython-dotenv>=1.1.0- For loading environment variables from .env filesredshift-connector>=2.1.5- Python connector for Amazon Redshift
# Clone the repository
git clone https://github.com/Moonlight-CL/redshift-mcp-server.git
cd redshift-mcp-server
# Install dependencies
uv syncBefore it works, you'll need: RS_HOSTRS_PORTRS_USERRS_PASSWORDRS_DATABASERS_SCHEMA
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 syncConfiguration
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.pyIntegrating 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"
}
}
}
}No common issues documented yet. If you hit a problem, the repository's GitHub Issues page is the best place to look.
Licensed under Apache-2.0โ you can use, modify, and redistribute it under that license's terms.
View the full license file on GitHub โ