
Amazon Redshift
STDIOMCP server for AI assistants to interact with Amazon Redshift databases
MCP server for AI assistants to interact with Amazon Redshift databases
A Model Context Protocol (MCP) server for Amazon Redshift that enables AI assistants to interact with Redshift databases.
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:
# Clone the repository git clone https://github.com/Moonlight-CL/redshift-mcp-server.git cd redshift-mcp-server # Install dependencies uv sync
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.
# Start the server uv run --with mcp python-dotenv redshift-connector mcp mcp run src/redshift_mcp_server/server.py
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" } } } }
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 tableThe 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 queryaccess_mcp_resource("redshift-mcp-server", "rs:///schemas")
access_mcp_resource("redshift-mcp-server", "rs:///public/tables")
access_mcp_resource("redshift-mcp-server", "rs:///public/users/ddl")
use_mcp_tool("redshift-mcp-server", "execute_sql", {"sql": "SELECT * FROM public.users LIMIT 10"})
use_mcp_tool("redshift-mcp-server", "analyze_table", {"schema": "public", "table": "users"})
use_mcp_tool("redshift-mcp-server", "get_execution_plan", {"sql": "SELECT * FROM public.users WHERE user_id = 123"})
redshift-mcp-server/
├── src/
│ └── redshift_mcp_server/
│ ├── __init__.py
│ └── server.py
├── pyproject.toml
└── README.md
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