Redshift Js Mcp Server

Redshift Js Mcp Server

🚀 亚马逊 Redshift MCP 服务器(TypeScript)

这是一个用 TypeScript 编写的针对 Amazon Redshift 实现的 Model Context Protocol (MCP) 服务器。它遵循 Anthropic 的实现模式,能为 Cursor IDE 和其他 MCP 兼容客户端提供丰富的数据库上下文信息,让大型语言模型 (LLMs) 可以查看数据库架构并执行只读查询。

🚀 快速开始

集成与 MCP 客户端

项目特定配置

在项目目录中创建一个 .cursor/mcp.json 文件,示例如下:

{
"mcpServers": {
"redshift-mcp": {
"command": "node",
"args": ["src/index.ts"],
"env": {
"DATABASE_URL": "redshift://user:password@host:port/database"
}
}
}
}

全局配置

在全局目录中创建 .cursor/mcp.json,示例如下:

{
"mcpServers": {
"redshift-mcp": {
"command": "node",
"args": ["src/index.ts"],
"env": {
"DATABASE_URL": "redshift://user:password@host:port/database"
}
}
}
}

安装与构建

使用以下命令安装依赖项并构建项目:

npm install
npm run build

对于开发环境,可以使用以下命令直接运行 TypeScript 文件:

npm run dev

✨ 主要特性

工具实现

  1. 查询执行 (query)
    • 可执行任意 SQL 查询并返回结果。
    • 支持联合、聚合等复杂查询操作。
  2. 表结构描述 (describe_table)
    • 返回指定表格的列信息,包含数据类型和约束。
    • 例如:DESCRIBE customers
  3. 表查找 (find_tables)
    • 根据关键字或模式搜索表格。
    • 支持模糊查询和正则表达式。
  4. 样本数据 (sample_data)
    • 返回指定表格的样例数据行,便于用户了解数据内容。
    • 自动红action敏感信息(如电子邮件、电话号码)。

资源定义

  • Schema Listings:列出数据库中的所有模式。
  • Table Schemas:返回特定表格的详细架构信息。
  • Sample Data:提供指定表格的样例数据行。

📦 安装指南

使用以下命令安装依赖项并构建项目:

npm install
npm run build

对于开发环境,可以使用以下命令直接运行 TypeScript 文件:

npm run dev

💻 使用示例

以下是用户可以在 Cursor 中提出的一些示例问题:

  1. "显示公共模式中的所有表格"
  2. "customers 表的结构是什么?"
  3. "查找包含客户信息的所有表格"
  4. "编写一个按状态统计订单数量的查询"
  5. "显示 products 表的样例数据"

📚 详细文档

项目结构

  • src/index.ts:项目的主入口文件,负责启动服务器和服务请求。
  • tsconfig.json:TypeScript 配置文件。
  • package.json:项目依赖和脚本定义。

扩展与开发

功能扩展

  1. 新增资源类型:定义新的资源类型并实现其处理逻辑。
  2. 自定义工具:添加更多功能,如高级查询分析或数据导出。
  3. 增强安全性:实施身份验证和访问控制机制。

开发建议

  • 使用环境变量管理敏感信息,避免硬编码。
  • 通过日志记录和监控工具跟踪服务器状态和请求情况。
  • 定期测试和更新依赖项,确保系统的安全性和稳定性。

🔧 技术细节

安全注意事项

  1. 输入 sanitization:防止 SQL 注入和其他恶意请求。
  2. 红action敏感数据:在样本数据中隐藏敏感信息,如电子邮件和电话号码。
  3. SSL 连接:通过 SSL 确保与数据库的通信安全。
  • 0 关注
  • 0 收藏,10 浏览
  • system 提出于 2025-09-24 19:48

相似服务问题