For SQL HTTP Transport Public
FreeNot checkedMCP server with HTTP transport for direct AI integration. Connect Claude, Cursor, VS Code to PostgreSQL, MySQL, SQL Server, SQLite & MariaDB.
About
MCP server with HTTP transport for direct AI integration. Connect Claude, Cursor, VS Code to PostgreSQL, MySQL, SQL Server, SQLite & MariaDB.
README
A fully-featured Model Context Protocol (MCP) server providing HTTP transport for direct integration with modern AI systems. Enables seamless SQL database access across Claude, Cursor, VS Code, and all MCP-compatible AI clients.
Overview
DBHub is a lightweight, dependency-free MCP server implementing the Model Context Protocol specification. It provides a standardized interface for AI models to interact with SQL databases—PostgreSQL, MySQL, SQL Server, MariaDB, and SQLite—through HTTP transport with optional stdio fallback.
Features
- Protocol Compliance: Full MCP 2024-11-05 specification implementation
- HTTP Transport: Native HTTP/HTTPS support for direct AI model integration
- Multi-Database: Unified interface across PostgreSQL, MySQL, SQL Server, MariaDB, SQLite
- Multi-Connection: Configure and manage multiple database sources simultaneously
- Security Controls: Read-only enforcement, query timeouts, row limiting
- SSH Tunneling: Bastion host and multi-hop SSH support for remote database access
- TLS/SSL Support: End-to-end encryption for database and transport layers
Installation
Prerequisites
- Node.js 20+ (LTS recommended)
- pnpm (or npm/yarn)
- Database connectivity (network access to target database)
Quick Start
# Clone and install
git clone <repository-url>
cd dbhub
pnpm install
# Configure your database
cp dbhub.toml.example dbhub.toml
# Edit dbhub.toml with your database credentials
# Start the server
pnpm dev
Configuration
TOML Method (Recommended)
Create dbhub.toml in the project root:
[[sources]]
id = "primary_db"
type = "sqlserver" # postgres, mysql, mariadb, sqlserver, sqlite
host = "your-db-host.example.com"
port = 1433
database = "your_database"
user = "db_username"
password = "secure_password"
sslmode = "require" # require, disable
connection_timeout = 15
query_timeout = 30
[[tools]]
name = "execute_sql"
source = "primary_db"
readonly = true # Enforce read-only operations
max_rows = 1000 # Result set limit
Environment Variables Method
Set in .env or system environment:
DB_TYPE=sqlserver
DB_HOST=your-db-host.example.com
DB_PORT=1433
DB_USER=db_username
DB_PASSWORD=secure_password
DB_NAME=your_database
TRANSPORT=http
PORT=8080
SSH Tunnel Support
For databases behind bastion hosts:
[[sources]]
id = "remote_db"
type = "sqlserver"
host = "10.0.1.100" # Internal network host
port = 1433
database = "your_database"
user = "db_username"
password = "secure_password"
ssh_host = "bastion.example.com"
ssh_port = 22
ssh_user = "deploy_user"
ssh_key = "~/.ssh/id_rsa"
Transport Modes
HTTP (Default for Production)
pnpm start --transport http --port 8080
Server exposes:
- MCP endpoint:
http://localhost:8080/mcp - Web workbench:
http://localhost:8080 - Health check:
http://localhost:8080/health
Stdio (For Local Integration)
pnpm start --transport stdio
Direct stdin/stdout MCP protocol for local client integration.
Integration
Claude Desktop / Cursor
Add to claude_desktop_config.json:
{
"mcpServers": {
"dbhub": {
"command": "node",
"args": ["/path/to/dbhub/dist/index.js"],
"env": {
"DB_TYPE": "sqlserver",
"DB_HOST": "your-db-host.example.com",
"DB_USER": "db_username",
"DB_PASSWORD": "secure_password",
"DB_NAME": "your_database",
"TRANSPORT": "stdio"
}
}
}
}
HTTP Client
curl -X POST http://localhost:8080/mcp \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/execute_sql",
"params": {
"query": "SELECT * FROM your_table LIMIT 10"
}
}'
MCP Tools
execute_sql
Execute SQL queries with parameterization and transaction support.
- Parameters:
query(string),params(optional array) - Safety: Read-only enforcement, row limiting, timeout protection
- Returns: Result set with column metadata
search_objects
Discover and explore database schema objects.
- Parameters:
query(string, optional),type(table|column|index|procedure) - Returns: Paginated object listing with descriptions
Custom Tools
Define reusable parameterized tools in dbhub.toml:
[[tools]]
name = "get_user_orders"
source = "primary_db"
sql = "SELECT * FROM orders WHERE user_id = ?"
Security
Best Practices
Credential Management
- Never commit actual credentials to version control
- Use
.gitignorefordbhub.tomland.envfiles - Leverage environment variables for CI/CD environments
- Rotate database passwords regularly
Database User Isolation
-- SQL Server example CREATE LOGIN mcp_user WITH PASSWORD = 'StrongPassword123!'; CREATE USER mcp_user FOR LOGIN mcp_user; EXEC sp_addrolemember 'db_datareader', 'mcp_user'; -- Read-onlyNetwork Access
- Restrict database host access to MCP server IP
- Use VPC/security groups for internal networks
- Enable TLS/SSL for all remote connections
API Key Authentication (HTTP mode)
API_KEY=your-secret-keyClients provide via
Authorization: Bearer <key>header
Development
# Install dependencies
pnpm install
# Development mode (watch + hot reload)
pnpm dev
# Build for production
pnpm build
# Start production build
pnpm start --transport http --port 8080
# Run tests
pnpm test
# Lint
pnpm lint
Environment Variables Reference
| Variable | Type | Required | Description |
|---|---|---|---|
DB_TYPE |
string | No | Database type: postgres, mysql, mariadb, sqlserver, sqlite |
DB_HOST |
string | No | Database hostname or IP |
DB_PORT |
number | No | Database port (auto-detected if omitted) |
DB_USER |
string | No | Database username |
DB_PASSWORD |
string | No | Database password (use .env for special characters) |
DB_NAME |
string | No | Database name or SQLite file path |
DSN |
string | No | Full connection string (alternative to individual params) |
TRANSPORT |
string | No | stdio (default) or http |
PORT |
number | No | HTTP server port (default: 8080) |
SSH_HOST |
string | No | SSH bastion hostname |
SSH_USER |
string | No | SSH username |
SSH_KEY |
string | No | Path to SSH private key |
SSH_PASSPHRASE |
string | No | SSH key passphrase (if encrypted) |
API_KEY |
string | No | API key for HTTP authentication |
READONLY |
boolean | No | Enforce read-only SQL execution |
Compatibility
DBHub is compatible with all MCP-compliant AI systems:
- Claude (Claude Desktop, Claude Code)
- Cursor IDE
- VS Code with MCP extension
- Any MCP-compatible application
License
See LICENSE file for details.
Support
For issues, feature requests, or contributions, see the repository.
from github.com/sudomastery/MCP-for-SQL-HTTP-Transport-Public
Installing For SQL HTTP Transport Public
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/sudomastery/MCP-for-SQL-HTTP-Transport-PublicFAQ
Is For SQL HTTP Transport Public MCP free?
Yes, For SQL HTTP Transport Public MCP is free — one-click install via Unyly at no cost.
Does For SQL HTTP Transport Public need an API key?
No, For SQL HTTP Transport Public runs without API keys or environment variables.
Is For SQL HTTP Transport Public hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install For SQL HTTP Transport Public in Claude Desktop, Claude Code or Cursor?
Open For SQL HTTP Transport Public on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
wenb1n-dev/SmartDB_MCP
A universal database MCP server supporting simultaneous connections to multiple databases. It provides tools for database operations, health analysis, SQL optim
by wenb1n-devPostgres Server
This server enables interaction with PostgreSQL databases through the Model Context Protocol, optimized for the AWS Bedrock AgentCore Runtime. It provides tools
by madhurprashPostgres
Query your database in natural language
by AnthropicPostgreSQL
Read-only database access with schema inspection.
by modelcontextprotocolCompare For SQL HTTP Transport Public with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All data MCPs
