首页
学习
活动
专区
圈层
工具
发布
MCP广场 >详情页
SQL-MCP服务器2026-10-23494分享添加福利群:解决AI开发者的「MCP实战痛点」
一个用 TypeScript 实现的 Model Context Protocol 服务器,它使语言模型能够安全地查询 PostgreSQL 数据库,包括位于 SSH 堡垒机隧道后面的数据库。
By t3ta
2026-10-23494
github
详情内容

SQL MCP 服务器(TypeScript 实现)

TypeScript 构建状态 许可证:MIT 平台支持

本项目提供了TypeScript 实现的模型上下文协议(MCP)服务器,使语言模型和其他兼容 MCP 的客户端能够通过 SSH 堡垒隧道(如需)查询 PostgreSQL 数据库。

该服务器专为灵活性和安全数据库访问而设计,支持 AWS RDS 的只读事务,并采用基于标准输入/输出的通信方式,适用于本地环境、容器化部署或 AI 驱动的使用场景。

主要特性

  • 🔒 SSH 堡垒支持:通过 SSH 隧道安全访问私有 RDS 实例
  • 🐘 PostgreSQL 只读查询引擎:使用 pg 库实现
  • 📡 STDIO 基础的 MCP 协议传输
  • 🧠 兼容 memory-bank-mcp-server
  • ⚙️ 通过 .env 文件或环境变量轻松配置
  • 🧪 完整的测试支持(使用 Jest 和模拟工具)

安装步骤

克隆仓库并安装依赖:

git clone https://github.com/your-org/sql-mcp-server.git
cd sql-mcp-server
npm install
npm run build

配置(可选的 .env 文件)

在项目根目录创建 .env 文件:

DB_USER=postgres
DB_PASS=yourpassword
DB_HOST=localhost
DB_PORT=5432
DB_NAME=mydatabase
USE_SSH_TUNNEL=true
SSH_BASTION_HOST=bastion.example.com
SSH_BASTION_USER=ec2-user
SSH_PRIVATE_KEY_PATH=~/.ssh/id_rsa

使用方法

使用 npx 运行服务器:

npx -y @modelcontextprotocol/server-postgres postgresql://<user>:<pass>@localhost:5433/<dbname>

对于不使用 SSH 隧道的直接连接,请设置相应的环境变量:

DB_HOST=rds-host.amazonaws.com DB_PORT=5432 npx -y @modelcontextprotocol/server-postgres postgresql://<user>:<pass>@rds-host.amazonaws.com/<dbname>

示例输入

{
  "type": "call_tool",
  "params": {
    "name": "query",
    "arguments": {
      "sql": "SELECT * FROM users LIMIT 10"
    }
  }
}

示例输出

{
  "content": [
    {
      "type": "text",
      "text": "[{\"id\":1,\"name\":\"Alice\"}]"
    }
  ],
  "isError": false
}

⸻

相关文档

  • 架构设计
  • 领域模型
  • 术语表
  • 编码规范
  • 技术栈
  • 用户指南

⸻

许可证

MIT 许可证

⸻

贡献指南

我们欢迎社区贡献!详情请参阅 CONTRIBUTING.md 文件。

⸻

兼容性

本实现遵循模型上下文协议(MCP),并已测试与以下系统的兼容性:

  • memory-bank-mcp-server
  • Claude Desktop(通过 STDIO)
  • Cursor IDE
  • Supabase + MCP 集成
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档