Redshift MCP 服务器是一款即插即用的模型上下文协议(MCP)服务器,专为 Amazon Redshift 设计。它能让大语言模型(LLM)和 AI 智能体(如 Claude、ChatGPT 等)安全、便捷地连接到你的 Redshift 数据。
git clone
cd my-redshift-mcp
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
.env 文件)REDSHIFT_HOST=your-cluster.region.redshift.amazonaws.com
REDSHIFT_DATABASE=mydb
REDSHIFT_USER=myuser
REDSHIFT_PASSWORD=mypassword
REDSHIFT_PORT=5439
DB_MCP_MODE=readonly
./scripts/run_server.sh
readonly、readwrite、admin 三种模式(通过环境变量强制实施)。.env 文件实现无缝启动。pip install -r requirements.txt
连接到 Redshift 数据库集群。如果设置了环境变量,则参数可选。
# 显式指定参数
{
"tool": "connect_db",
"arguments": {
"host": "your-cluster.region.redshift.amazonaws.com",
"database": "mydb",
"user": "myuser",
"password": "mypassword",
"port": 5439
}
}
# 设置了环境变量
{
"tool": "connect_db",
"arguments": {}
}
执行 SELECT 查询以检索数据。
{
"tool": "query",
"arguments": {
"sql": "SELECT * FROM users WHERE created_at > %s",
"params": ["2024-01-01"]
}
}
执行数据修改或 DDL 语句。
{
"tool": "execute",
"arguments": {
"sql": "INSERT INTO users (name, email) VALUES (%s, %s)",
"params": ["John Doe", "john@example.com"]
}
}
列出所有用户创建的模式。
{
"tool": "list_schemas",
"arguments": {}
}
列出特定模式中的表。
{
"tool": "list_tables",
"arguments": {
"schema": "public"
}
}
获取表结构的详细信息。
{
"tool": "describe_table",
"arguments": {
"table": "users",
"schema": "public"
}
}
关闭数据库连接。
{
"tool": "disconnect",
"arguments": {}
}
Redshift MCP 服务器是 Amazon Redshift 和现代 AI 助手之间的开源桥梁。它允许大语言模型使用 模型上下文协议(MCP) 安全地查询、探索并(可选)修改你的 Redshift 数据。适用于:
本仓库使用 FastMCP 框架提供了一个适用于 Amazon Redshift 的最小化、生产就绪的 MCP 服务器。它允许大语言模型和 AI 智能体:
服务器支持三种访问模式,由 DB_MCP_MODE 环境变量控制:
SELECT、SHOW、DESCRIBE 等。INSERT、UPDATE、DELETE、DROP、TRUNCATE、ALTER、CREATE、GRANT、REVOKE、COMMENT、SET、COPY、UNLOAD、VACUUM、ANALYZE、MERGE。SELECT、INSERT、UPDATE、CREATE 等。DELETE、DROP、TRUNCATE、ALTER、GRANT、REVOKE、COMMENT、SET、COPY、UNLOAD、VACUUM、ANALYZE、MERGE。如果检测到禁止的语句,服务器将返回清晰的错误消息。
DB_MCP_MODE=readonly(或 readwrite、admin)。"env": {
"DB_MCP_MODE": "readwrite",
...
}
export DB_MCP_MODE=readonly
./run_server.sh
直接运行服务器:
python src/redshift_mcp_server.py
或者使用提供的脚本:
./scripts/run_server.sh
# 或者在 Windows 上:
scripts\run_server.bat
默认情况下,服务器使用 STDIO 传输,适用于与 Claude Desktop 等 MCP 客户端集成。
要在 Claude Desktop 中使用此服务器,请在你的 Claude Desktop 配置文件中添加以下配置:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%/Claude/claude_desktop_config.json{
"mcpServers": {
"redshift": {
"command": "/Users/anshulpatre/Desktop/DB-mcp/my-redshift-mcp/venv/bin/python",
"args": ["/Users/anshulpatre/Desktop/DB-mcp/my-redshift-mcp/src/redshift_mcp_server.py"],
"env": {
"REDSHIFT_HOST": "your-cluster.region.redshift.amazonaws.com",
"REDSHIFT_DATABASE": "mydb",
"REDSHIFT_USER": "myuser",
"REDSHIFT_PASSWORD": "mypassword",
"REDSHIFT_PORT": "5439",
"DB_MCP_MODE": "readonly"
}
}
}
}
使用此配置,服务器将在启动时自动连接到你的 Redshift 数据库。你无需手动使用 connect_db 工具。
{
"mcpServers": {
"redshift": {
"command": "/Users/anshulpatre/Desktop/DB-mcp/my-redshift-mcp/venv/bin/python",
"args": ["/Users/anshulpatre/Desktop/DB-mcp/my-redshift-mcp/src/redshift_mcp_server.py"]
}
}
}
使用此配置,你需要使用 connect_db 工具建立连接。
服务器支持以下环境变量:
REDSHIFT_HOST:Redshift 集群端点。REDSHIFT_DATABASE:数据库名称。REDSHIFT_USER:用户名。REDSHIFT_PASSWORD:密码。REDSHIFT_PORT:端口号(默认:5439)。DB_MCP_MODE:访问模式(readonly、readwrite、admin)。当设置这些环境变量时,服务器将:
connect_db 工具的默认值。要扩展此服务器:
@mcp.tool() 装饰器添加新工具。redshift-connector 不可用,服务器将回退到 psycopg2。本项目采用 MIT 许可证。
欢迎提交问题或拉取请求,以改进此 MCP 服务器。
此 Redshift MCP 服务器由 Anshul 维护和部署。