R

Redshift MCP服务

@Moonlight-CL/redshift-mcp-server
0 Stars 300 次浏览 Moonlight-CL 更新于 2026-08-23

一种模型上下文协议服务器,使AI助手能够与Amazon Redshift数据库交互,从而进行模式探索、查询执行和统计信息收集。

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "mcpServers": {
    "redshift": {
      "args": [
        "--directory",
        "src/redshift_mcp_server",
        "run",
        "server.py"
      ],
      "command": "uv",
      "env": {
        "RS_DATABASE": "your_database",
        "RS_HOST": "your-redshift-cluster.region.redshift.amazonaws.com",
        "RS_PASSWORD": "your_password",
        "RS_PORT": "5439",
        "RS_SCHEMA": "your_schema",
        "RS_USER": "your_username"
      }
    }
  }
}

该服务需要配置环境变量:RS_DATABASE、RS_HOST、RS_PASSWORD、RS_PORT、RS_SCHEMA、RS_USER

服务介绍

Redshift MCP 服务器

一个用于 Amazon Redshift 的模型上下文协议(MCP)服务器,使 AI 助手能够与 Redshift 数据库进行交互。

简介

Redshift MCP 服务器是基于 Python 实现的 Model Context Protocol,它提供了与 Amazon Redshift 数据库交互所需的工具和资源。它允许 AI 助手:

  • 列出 Redshift 数据库中的模式和表
  • 获取表的 DDL(数据定义语言)脚本
  • 获取表统计信息
  • 执行 SQL 查询
  • 分析表以收集统计信息
  • 获取 SQL 查询的执行计划

安装

前提条件

  • Python 3.13 或更高版本
  • Amazon Redshift 集群
  • Redshift 凭证(主机、端口、用户名、密码、数据库)

从源代码安装

bash

克隆仓库

git clone https://github.com/Moonlight-CL/redshift-mcp-server.git
cd redshift-mcp-server

安装依赖

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 # 可选,默认为 "public"

您可以直接设置这些环境变量,或者使用 .env 文件。

使用

启动服务器

bash

启动服务器

uv run --with mcp python-dotenv redshift-connector mcp
mcp run src/redshift_mcp_server/server.py

与 AI 助手集成

要将此服务器与支持 MCP 的 AI 助手一起使用,请在您的 MCP 设置中添加以下配置:

json
{
"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 - 模型上下文协议 SDK
  • python-dotenv>=1.1.0 - 用于从 .env 文件加载环境变量
  • redshift-connector>=2.1.5 - 用于 Amazon Redshift 的 Python 连接器

相关 MCP 服务