Polybase MCP
by shrey715
README.md
# 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)
```bash
# 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
```bash
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`)
```json
{
"servers": {
"polybase-mcp": {
"url": "http://localhost:8000/mcp",
"type": "http"
}
}
}
```
### Claude Desktop
```json
{
"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
```python
# 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
```python
# 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
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues