SQL MCP Server (TypeScript)
This project provides a TypeScript implementation of a Model Context Protocol (MCP) server that enables language models and other MCP-compatible clients to query PostgreSQL databases—via SSH bastion tunnels when required.
Built for flexibility and secure database access, it supports AWS RDS with read-only transactions and uses stdin/stdout-based communication, making it suitable for local, containerized, or AI-driven use cases.
Features
- 🔒 SSH bastion support for secure access to private RDS instances via SSH tunnels
- 🐘 PostgreSQL read-only query engine using the
pglibrary - 📡 STDIO-based MCP protocol transport
- 🧠 Compatible with memory-bank-mcp-server
- ⚙️ Easily configurable via
.envor environment variables - 🧪 Fully testable with Jest and mocks
Installation
Clone the repository and install dependencies:
git clone https://github.com/your-org/sql-mcp-server.git
cd sql-mcp-server
npm install
npm run build
Configuration (Optional .env file)
Create a .env file in the project root:
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
Usage
Run the server using npx:
npx -y @modelcontextprotocol/server-postgres postgresql://<user>:<pass>@localhost:5433/<dbname>
For direct connection without SSH tunneling, set the appropriate environment variables:
DB_HOST=rds-host.amazonaws.com DB_PORT=5432 npx -y @modelcontextprotocol/server-postgres postgresql://<user>:<pass>@rds-host.amazonaws.com/<dbname>
Sample Input
{
"type": "call_tool",
"params": {
"name": "query",
"arguments": {
"sql": "SELECT * FROM users LIMIT 10"
}
}
}
Sample Output
{
"content": [
{
"type": "text",
"text": "[{"id":1,"name":"Alice"}]"
}
],
"isError": false
}
⸻
Related Docs
• Architecture
• Domain Models
• Glossary
• Coding Standards
• Tech Stack
• User Guide
⸻
License
MIT
⸻
Contribution Guide
We welcome community contributions! Please see CONTRIBUTING.md for details.
⸻
Compatibility
This implementation follows the Model Context Protocol (MCP) and has been tested for compatibility with:
• memory-bank-mcp-server
• Claude Desktop (via STDIO)
• Cursor IDE
• Supabase + MCP integration
SQL MCP Server
Project Details
- t3ta/sql-mcp-server
- sql-mcp-server
- Last Updated: 4/7/2025
Recomended MCP Servers
PowerPlatform Model Context Protocol server
An MCP server that runs AI-driven venture capitalist agents (Fred Wilson, Peter Thiel, etc.), whose thinking is continuously...
AI 分析搜索意图 MCP
Connect APIs, remarkably fast. Free for developers.
MCP server for generating and editing images using AWS Bedrock’s Nova Canvas model
Sort files in downloads folder in mac os by type
An advanced web browsing server for the Model Context Protocol (MCP) powered by Playwright, enabling headless browser interactions...
MCP server that integrates the LINE Messaging API to connect an AI Agent to the LINE Official Account.
CMR Model Context Protocol example
Connects Roblox Studio to AI coding editors via the Model Context Protocol (MCP), enabling AI-assisted game development within...
A specialized server implementation for the Model Context Protocol (MCP) designed to integrate with CircleCI's development workflow. This...





