项目简介

这是一个基于 Model Context Protocol (MCP) 实现的服务器,专门用于连接和操作 Amazon Redshift 数据库。它允许支持MCP协议的AI客户端(如大型语言模型)通过标准化的方式与Redshift数据库进行交互,执行查询、探索数据库结构等任务。

主要功能点

  • 执行SQL查询: 允许AI客户端直接向Redshift数据库提交并执行SQL查询,并返回结果。
  • 解释查询计划: 在不实际运行查询的情况下,获取SQL查询的执行计划,帮助AI理解查询的性能。
  • 列出Schema: 获取数据库中所有可用的Schema(模式)列表。
  • 列出表和视图: 列出指定Schema下的所有表和视图信息。
  • 测试连接: 验证服务器与Redshift数据库之间的连接是否正常工作。

安装步骤

该服务器使用 Python 编写。你需要安装 Python 3.10 或更高版本,并使用 'uv' 工具进行依赖管理和安装。

  1. 安装 'uv' 工具 (具体步骤请参考其官方文档)。
  2. 使用 'uv python install 3.10' 或更高版本安装 Python。
  3. 克隆该仓库到你的本地目录。
  4. 进入仓库目录。
  5. 创建并激活一个虚拟环境(使用 'uv venv',然后 'source .venv/bin/activate' 或 '..venv\Scripts\activate' 在 Windows)。
  6. 安装项目及其依赖(使用 'uv pip install -e .')。

服务器配置

MCP服务器通过标准输入/输出 (stdio) 或其他协议与MCP客户端通信。要让你的MCP客户端(如Amazon Q或Claude)能够使用此服务器,你需要在客户端的MCP配置文件中进行设置。

配置文件通常是JSON格式,例如 '.amazonq/mcp.json'。你需要添加一个条目来告诉客户端如何启动并连接到这个Redshift MCP服务器。

配置信息通常包括:

  • 服务器名称: 一个标识服务器的唯一名称(例如 "redshift")。
  • 连接类型: 通常是 "stdio" 或 "sse"。
  • 启动命令: 启动服务器的实际命令。对于此项目,使用 'uvx' 命令可以方便地运行已安装的脚本。
  • 启动参数: 传递给启动命令的参数,通常包括指定项目的路径和服务器主程序名称。

在运行服务器之前,你还需要通过环境变量设置 Redshift 数据库的连接信息,包括:

  • 'REDSHIFT_HOST':Redshift 主机名或IP地址。
  • 'REDSHIFT_PORT':Redshift 端口(默认为 5439)。
  • 'REDSHIFT_DATABASE':数据库名称。
  • 'REDSHIFT_USER':用户名。
  • 'REDSHIFT_PASSWORD':密码。

重要提示: 永远不要将数据库凭据直接写入配置文件或代码中,务必使用环境变量或安全的凭据管理方式。

基本使用方法

当MCP客户端配置并连接到Redshift MCP服务器后,AI模型就可以通过调用服务器提供的工具来与数据库交互。

作为用户,你可以通过与AI模型对话来间接使用这些功能。例如:

  • 你可以问AI:"数据库里有哪些Schema?" - AI会调用 'list_schemas' 工具。
  • 你可以问AI:"在 'public' 这个Schema里有哪些表?" - AI会调用 'list_tables_in_schema' 工具并传入 'public' 作为参数。
  • 你可以要求AI:"运行这个SQL查询:'SELECT COUNT(*) FROM users WHERE status = 'active';'" - AI会调用 'run_query' 工具并执行该SQL。
  • 如果你对一个复杂查询的性能有疑问,可以问AI:"帮我解释一下这个查询的执行计划:'SELECT ...'" - AI会调用 'explain_query' 工具。

建议先使用 'list_schemas' 和 'list_tables_in_schema' 工具来了解数据库结构,再进行具体的查询。

信息

分类

数据库与文件