Redshift MCP Server
An MCP server for Amazon Redshift, allowing AI assistants to interact with 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 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.md
Dependencies
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
Related Servers
German Family Business Knowledge Graph
Query a Neo4j graph database containing a knowledge graph of German family businesses.
Bauplan
Interact with Bauplan data tables and run queries.
CData Cloudant MCP Server
A read-only MCP server by CData for querying live Cloudant data with LLMs. Requires the CData JDBC Driver for Cloudant.
MCP Database Server
Provides database access, supporting SQLite, SQL Server, PostgreSQL, and MySQL.
Neo4j
Neo4j graph database server (schema + read/write-cypher) and separate graph database backed memory
CData Sage 300
A read-only MCP server by CData that enables LLMs to query live data from Sage 300.
Polygon.io
Access real-time and historical financial market data from Polygon.io's API.
MariaDB / MySQL
Access and manage MariaDB or MySQL databases using an MCP server.
TON BLOCKCHAIN MCP
Interact with the TON blockchain using natural language.
MySQL Schema MCP Server
A server for retrieving MySQL database schema information using the FastMCP framework.