
Redshift Utils MCP Server

2025.04.30
1
Python数据库管理数据分析数据库
Redshift Utils MCP Server 是一个专门用于与 Amazon Redshift 数据库交互的 Model Context Protocol (MCP) 服务器。它充当大型语言模型 (LLMs) 或 AI 助手(如 Claude、Cursor 或自定义应用程序)与 Redshift 数据仓库之间的桥梁,实现安全、标准化的数据访问和交互。用户可以通过自然语言或 AI 驱动的提示查询数据、理解数据库结构以及执行监控/诊断操作。该服务器适用于希望将 LLM 功能直接集成到 Amazon Redshift 数据环境中的开发人员、数据分析师或团队。
View on GitHub
Overview
基本能力
产品定位
Redshift Utils MCP Server 是一个专门用于与 Amazon Redshift 数据库交互的 Model Context Protocol (MCP) 服务器,旨在为开发人员、数据分析师或团队提供安全、标准化的数据访问和交互能力。
核心功能
- 安全 Redshift 连接(通过 Data API):通过 Boto3 使用 AWS Redshift Data API 连接到 Amazon Redshift 集群,利用 AWS Secrets Manager 管理凭据。
- 模式发现:提供 MCP 资源以列出指定模式中的表和模式。
- 元数据和统计信息:提供工具 (
handle_inspect_table
) 收集详细的表元数据和统计信息(如大小、行数、倾斜、统计信息陈旧度)以及维护状态。 - 只读查询执行:提供安全的 MCP 工具 (
handle_execute_ad_hoc_query
) 执行任意 SELECT 查询。 - 查询性能分析:提供工具 (
handle_diagnose_query_performance
) 检索和分析特定查询 ID 的执行计划、指标和历史数据。 - 表检查:提供工具 (
handle_inspect_table
) 对表进行全面检查,包括设计、存储、健康和使用情况。 - 集群健康检查:提供工具 (
handle_check_cluster_health
) 使用各种诊断查询执行集群的基本或全面健康评估。 - 锁诊断:提供工具 (
handle_diagnose_locks
) 识别和报告当前的锁争用和阻塞会话。 - 工作负载监控:提供工具 (
handle_monitor_workload
) 分析时间窗口内的集群工作负载模式,涵盖 WLM、顶级查询和资源使用情况。 - DDL 检索:提供工具 (
handle_get_table_definition
) 检索指定表的SHOW TABLE
输出 (DDL)。 - 输入清理:在适用的情况下使用 Boto3 Redshift Data API 客户端的参数化查询来缓解 SQL 注入风险。
- 标准化 MCP 接口:遵循 Model Context Protocol 规范,与兼容客户端(如 Claude Desktop、Cursor IDE、自定义应用程序)无缝集成。
适用场景
- 开发人员、数据分析师或团队希望将 LLM 功能直接集成到 Amazon Redshift 数据环境中。
- 需要安全、标准化地访问和交互 Redshift 数据的场景。
- 需要执行监控/诊断操作、查询数据、理解数据库结构的场景。
工具列表
handle_check_cluster_health
:执行 Redshift 集群的健康评估。handle_diagnose_locks
:识别活跃的锁争用和阻塞会话。handle_diagnose_query_performance
:分析特定查询的执行性能。handle_execute_ad_hoc_query
:执行任意 SQL 查询。handle_get_table_definition
:检索表的 DDL 语句。handle_inspect_table
:检索表的详细信息。handle_monitor_workload
:分析集群工作负载模式。
常见问题解答
- 如何管理凭据?:使用 AWS Secrets Manager 通过 Redshift Data API 管理凭据,确保 AWS 凭据安全且具有最小必要权限。
- 如何确保安全性?:遵循最小权限原则,配置 Redshift 用户仅具有必要的权限。
使用教程
使用依赖
- Python 3.8+
uv
(推荐包管理器)- Git(用于克隆仓库)
安装教程
- 克隆仓库:
git clone <repository-url>
cd redshift-utils-mcp
- 设置环境变量:
export REDSHIFT_CLUSTER_ID="your-cluster-id"
export REDSHIFT_DATABASE="your_database_name"
export REDSHIFT_SECRET_ARN="arn:aws:secretsmanager:us-east-1:123456789012:secret:your-redshift-secret-XXXXXX"
export AWS_REGION="us-east-1"
- 安装依赖:
uv install -r requirements.txt
调试方式
- 启动服务器:
uvx redshift_utils_mcp
- 检查日志以确认服务器正常运行。
- 使用 MCP 客户端(如 Claude Desktop 或 Cursor IDE)连接服务器并测试工具。