Redshift Utils MCP Server

Redshift Utils MCP Server

site icon
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(用于克隆仓库)

安装教程

  1. 克隆仓库:
git clone <repository-url>
cd redshift-utils-mcp
  1. 设置环境变量:
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"
  1. 安装依赖:
uv install -r requirements.txt

调试方式

  1. 启动服务器:
uvx redshift_utils_mcp
  1. 检查日志以确认服务器正常运行。
  2. 使用 MCP 客户端(如 Claude Desktop 或 Cursor IDE)连接服务器并测试工具。

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。