Polybase MCP
Universal Database Adapter for PostgreSQL, Supabase & MongoDB — built with the Model Context Protocol (MCP).
Features
- PostgreSQL/Supabase — Connect via SQLAlchemy
- MongoDB — Connect to MongoDB & Atlas
- Read-Only Safety — Only SELECT/find queries allowed
- Docker Ready — Multi-stage build with non-root user
- Streamable HTTP — Works with Claude Desktop & VS Code
Quick Start
Docker (Recommended)
# Build
docker build -t polybase-mcp -f docker/Dockerfile .
# Run
docker run -p 8000:8000 polybase-mcp
Server available at http://localhost:8000/mcp
Local Development
git clone https://github.com/shrey715/polybase-mcp.git
cd polybase-mcp
uv sync
uv run python -m mcp_server.main
MCP Client Config
VS Code (.vscode/mcp.json)
{
"servers": {
"polybase-mcp": {
"url": "http://localhost:8000/mcp",
"type": "http"
}
}
}
Claude Desktop
{
"mcpServers": {
"polybase-mcp": {
"url": "http://localhost:8000/mcp",
"transport": "http"
}
}
}
Available Tools
| Tool | Description | |------|-------------| | connect_db | Connect to PostgreSQL or MongoDB | | list_tables | List tables (PG) or collections (Mongo) | | get_schema | Get table columns or sample doc structure | | query_db | Execute read-only queries |
Connection Examples
# PostgreSQL
connect_db("postgresql://user:pass@host:5432/dbname")
# MongoDB
connect_db("mongodb://user:pass@host:27017/dbname")
# MongoDB Atlas
connect_db("mongodb+srv://user:pass@cluster.mongodb.net/dbname")
Query Examples
# PostgreSQL - SQL
query_db("SELECT * FROM users LIMIT 10")
# MongoDB - collection:filter format
query_db("users") # all docs
query_db('users:{"active": true}') # with filter
Environment Variables
| Variable | Default | Description | |----------|---------|-------------| | HOST | 0.0.0.0 | Server bind address | | PORT | 8000 | Server port |
License
MIT











