Redshift MCP Server (TypeScript)
paschmaria
README
Redshift MCP 服务器 (TypeScript)
这是一个用 TypeScript 实现的 Amazon Redshift 的模型上下文协议 (MCP) 服务器。它遵循 Anthropic 的实现模式,并为 Cursor IDE 和其他 MCP 兼容的客户端提供关于您的 Redshift 数据仓库的丰富的上下文信息。该服务器使 LLM 能够检查数据库模式并执行只读查询。
与 MCP 客户端集成
项目特定配置
在您的项目目录中创建一个 .cursor/mcp.json
文件:
{
"mcpServers": {
"redshift-mcp": {
"command": "node",
"args": ["path/to/dist/index.js"],
"env": {
"DATABASE_URL": "redshift://username:password@hostname:port/database?ssl=true"
}
}
}
}
全局配置
为了在所有项目中使用,在您的主目录中创建 ~/.cursor/mcp.json
文件,并使用相同的配置。
客户端特定设置
Cursor IDE
- 如果在
mcp.json
中配置,服务器将被自动检测到 - 工具将出现在 MCP 设置中的 "Available Tools" 下
- Agent 将在相关时自动使用这些工具
其他 MCP 客户端
使用 stdio 传输配置服务器:
{
"servers": [
{
"name": "redshift-mcp",
"transport": {
"kind": "stdio",
"command": ["node", "path/to/dist/index.js"]
}
}
]
}
前提条件
- Node.js 16 或更高版本
- TypeScript
- 访问 Amazon Redshift 集群的权限
- Redshift 和 SQL 的基本知识
- 已安装 Cursor IDE
安装
- 克隆此存储库或将文件复制到您的本地系统
- 安装依赖项:
npm install
- 构建 TypeScript 代码:
npm run build
用法
服务器需要通过 DATABASE_URL
环境变量提供 Redshift 连接 URL:
export DATABASE_URL="redshift://username:password@hostname:port/database?ssl=true"
npm start
或者您可以直接运行:
DATABASE_URL="redshift://username:password@hostname:port/database?ssl=true" node dist/index.js
对于开发,您可以使用:
DATABASE_URL="redshift://username:password@hostname:port/database?ssl=true" npm run dev
连接 URL 格式
redshift://username:password@hostname:port/database?ssl=true
- username: 您的 Redshift 用户名
- password: 您的 Redshift 密码
- hostname: 您的 Redshift 集群端点
- port: Redshift 通常为 5439
- database: 您的数据库名称
- ssl: 设置为 "true" 以进行安全连接(推荐)
其他连接参数:
ssl=true
: 安全连接必需(推荐)timeout=10
: 连接超时时间(秒)keepalives=1
: 启用 TCP keepalivekeepalives_idle=130
: TCP keepalive 空闲时间
项目结构
src/index.ts
: 主要的 TypeScript 实现dist/
: 编译后的 JavaScript 输出package.json
: 项目依赖项和脚本tsconfig.json
: TypeScript 配置
组件
Cursor 中可用的工具
-
query
- 对连接的 Redshift 数据库执行只读 SQL 查询
- 示例: "编写一个查询来显示 public schema 中的所有表"
-
describe_table
- 获取关于特定表的详细信息
- 示例: "显示 users 表的结构"
-
find_column
- 查找包含具有特定名称模式的列的表
- 示例: "查找所有包含 'email' 列的表"
Cursor 可用的资源
服务器提供 Cursor 可以使用的模式信息:
-
Schema Listings (
redshift://<host>/schema/<schema_name>
)- 列出特定 schema 中的所有表
- 从数据库元数据自动发现
-
Table Schemas (
redshift://<host>/<schema>/<table>/schema
)- 每个表的 JSON 模式信息
- 包括列名、数据类型和 Redshift 特定的属性(分布键和排序键)
-
Sample Data (
redshift://<host>/<schema>/<table>/sample
)- 每个表的示例行(限制为 5 行)
- 敏感数据被自动编辑
-
Statistics (
redshift://<host>/<schema>/<table>/statistics
)- 表统计信息,包括大小、行数和创建时间
- 分布和压缩信息
安全注意事项
此服务器:
- 使用只读事务进行查询以防止修改
- 对输入进行清理以防止 SQL 注入
- 不在资源 URI 中暴露原始密码信息
- 自动编辑示例结果中的敏感数据(电子邮件、电话)
- 应该在安全的环境中使用,因为它有权访问您的数据库
Cursor 交互示例
以下是一些连接后可以向 Cursor 提出的示例问题:
- "显示 public schema 中的所有表"
- "customers 表的结构是什么?"
- "查找所有包含客户信息的表"
- "编写一个查询来按状态统计订单"
- "显示 products 表中的示例数据"
扩展服务器
您可以通过以下方式扩展此服务器:
- 在
ListResourcesRequestSchema
和ReadResourceRequestSchema
处理程序中添加新的资源类型 - 在
ListToolsRequestSchema
和CallToolRequestSchema
处理程序中添加新的工具 - 增强安全功能或添加身份验证
开发
对于开发,您可以使用 npm run dev
命令,该命令使用 ts-node 直接运行 TypeScript 代码,而无需预编译。
许可证
MIT
推荐服务器
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
MCP Package Docs Server
促进大型语言模型高效访问和获取 Go、Python 和 NPM 包的结构化文档,通过多语言支持和性能优化来增强软件开发。
Claude Code MCP
一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。
@kazuph/mcp-taskmanager
用于任务管理的模型上下文协议服务器。它允许 Claude Desktop(或任何 MCP 客户端)在基于队列的系统中管理和执行任务。
mermaid-mcp-server
一个模型上下文协议 (MCP) 服务器,用于将 Mermaid 图表转换为 PNG 图像。
Jira-Context-MCP
MCP 服务器向 AI 编码助手(如 Cursor)提供 Jira 工单信息。

Linear MCP Server
一个模型上下文协议(Model Context Protocol)服务器,它与 Linear 的问题跟踪系统集成,允许大型语言模型(LLM)通过自然语言交互来创建、更新、搜索和评论 Linear 问题。

Sequential Thinking MCP Server
这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。
Curri MCP Server
通过管理文本笔记、提供笔记创建工具以及使用结构化提示生成摘要,从而实现与 Curri API 的交互。