Redshift MCP 服务器
用于 Amazon Redshift 的模型上下文协议 (MCP) 服务器,使 AI 助手能够与 Redshift 数据库进行交互。
介绍
Redshift MCP Server 是基于 Python 的模型上下文协议 (MCP)实现,提供与 Amazon Redshift 数据库交互的工具和资源。它允许 AI 助手:
- 列出 Redshift 数据库中的架构和表
- 检索表 DDL(数据定义语言)脚本
- 获取表统计信息
- 执行 SQL 查询
- 分析表以收集统计信息
- 获取 SQL 查询的执行计划
安装
先决条件
- Python 3.13 或更高版本
- Amazon Redshift 集群
- Redshift 凭证(主机、端口、用户名、密码、数据库)
从源安装
# Clone the repository
git clone https://github.com/Moonlight-CL/redshift-mcp-server.git
cd redshift-mcp-server
# Install dependencies
uv sync
配置
服务器需要以下环境变量才能连接到您的 Redshift 集群:
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"
您可以直接设置这些环境变量或使用.env
文件。
用法
启动服务器
# Start the server
uv run --with mcp python-dotenv redshift-connector mcp
mcp run src/redshift_mcp_server/server.py
与人工智能助手集成
要将此服务器与支持 MCP 的 AI 助手一起使用,请将以下配置添加到您的 MCP 设置中:
{
"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"
}
}
}
}
特征
资源
服务器提供以下资源:
rs:///schemas
列出数据库中的所有模式rs:///{schema}/tables
- 列出特定模式中的所有表rs:///{schema}/{table}/ddl
- 获取特定表的 DDL 脚本rs:///{schema}/{table}/statistic
- 获取特定表的统计信息
工具
该服务器提供以下工具:
execute_sql
- 在 Redshift 集群上执行 SQL 查询analyze_table
- 分析表以收集统计信息get_execution_plan
- 获取 SQL 查询的运行时统计执行计划
示例
列出架构
access_mcp_resource("redshift-mcp-server", "rs:///schemas")
列出模式中的表
access_mcp_resource("redshift-mcp-server", "rs:///public/tables")
获取表 DDL
access_mcp_resource("redshift-mcp-server", "rs:///public/users/ddl")
执行 SQL
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
- 模型上下文协议 SDKpython-dotenv>=1.1.0
- 用于从 .env 文件加载环境变量redshift-connector>=2.1.5
- Amazon Redshift 的 Python 连接器