使用说明
用于Redshift的MCP服务器
Amazon Redshift的模型上下文协议(MCP)服务器实现,为通过AI模型与Redshift数据库交互提供了一个标准化的接口。
特性
- 跨多个模式列出表、视图和物化视图
- 在单个请求中获取多个表的详细架构信息
- 对Redshift执行只读SQL查询
- 支持stdio和SSE(服务器发送事件)传输
- TypeScript中的类型安全实现
先决条件
- Node.js 18或更高版本
- 访问Redshift数据库
- 已配置环境变量(请参阅配置部分)
安装
-
克隆存储库:
git clone https://github.com/yourusername/mcp-server-redshift.git cd mcp-server-redshift -
安装依赖项:
npm install -
构建项目:
npm run build
配置
创建一个 .env 根目录中的文件,包含以下变量:
# Redshift Connection
REDSHIFT_HOST=your-redshift-host
REDSHIFT_PORT=5439
REDSHIFT_DATABASE=your-database
REDSHIFT_USER=your-username
REDSHIFT_PASSWORD=your-password
REDSHIFT_SCHEMAS=public,schema1,schema2 # Comma-separated list of schemas
# Server Configuration
TRANSPORT_TYPE=stdio # or 'sse' for Server-Sent Events
PORT=3000 # Only used when TRANSPORT_TYPE=sse
用法
运行服务器
# Development
npm run dev
# Production
npm run build
npm start
可用工具
-
列表表格 (
list_tables)- 列出指定模式中的所有表、视图和物化视图
- 可选的
schemas按特定模式筛选的参数
{ "schemas": ["public", "analytics"] } -
获取表架构 (
get_tables_schema)- 跨不同模式获取多个表的模式信息
{ "tables": [ { "schema": "public", "table": "users" }, { "schema": "analytics", "table": "events" } ] } -
查询 (
query)- 对数据库执行只读SQL查询
{ "sql": "SELECT * FROM public.users LIMIT 5" }
测试
运行测试套件:
npm test
建筑
项目组织结构如下:
src/
├── config/ # Configuration and database setup
├── tools/ # Individual tool implementations
├── server/ # Server setup and transport configuration
└── index.ts # Main entry point
安全考虑
- 所有查询都在只读事务中执行
- 应适当保护环境变量
- CORS已为SSE传输启用(应配置为生产环境)
- 应安全地管理数据库凭据
贡献
- 分叉存储库
- 创建功能分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'Add some amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
致谢
该项目基于 PostgreSQL MCP服务器 来自模型上下文协议项目。特别感谢原作者的工作。