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
Server Terkait
SchemaCrawler
Connect to any relational database, and be able to get valid SQL, and ask questions like what does a certain column prefix mean.
Snowflake Stored Procedure Integration
Integrates and executes Snowflake stored procedures through an MCP server.
Firebolt
Connect your LLM to the Firebolt Data Warehouse for data querying and analysis.
Databricks MCP Server
Interact with Databricks Unity Catalog metadata to explore catalogs, schemas, tables, and execute SQL queries.
Formula 1 MCP Server
Access extensive Formula 1 statistics and information using the FastF1 library and OpenF1 API.
NocoDB MCP Server
An MCP server for NocoDB, the open-source Airtable alternative. It allows interaction with your NocoDB instance via API.
Bankless Onchain
Interact with blockchain data using the Bankless API.
FHIR MCP Server by CData
A read-only MCP server for FHIR, enabling LLMs to query live FHIR data. Requires the CData JDBC Driver for FHIR.
MLB SportRadar
Access MLB game data, standings, and player statistics using the SportRadar API.
Qdrant
Implement semantic memory layer on top of the Qdrant vector search engine