Skip to content

Connect Databases

Mako connects to your databases directly — no data leaves your infrastructure. You get AI-powered SQL, schema exploration, and query collaboration on top of your existing databases.

DatabaseProtocolQuery Language
PostgreSQLTCP (port 5432)SQL
MySQLTCP (port 3306)SQL
MongoDBMongoDB protocolMongoDB queries
BigQueryGoogle Cloud APISQL
ClickHouseHTTP / nativeSQL
Amazon RedshiftTCP (port 5439)SQL
Cloud SQL (Postgres)Cloud SQL Auth ProxySQL
Cloudflare D1Cloudflare APISQL
Cloudflare KVCloudflare APIJavaScript
  1. Go to Settings → Databases in your workspace
  2. Select the database type
  3. Enter your connection details (host, port, credentials, database name)
  4. Click Save — Mako tests the connection first and only persists it if the test passes. If the test fails, you can fix the details or choose Save anyways.
  5. Once saved, Mako discovers your schema automatically

You can also click Test Connection at any point to check reachability without saving.

Mako Cloud can’t reach databases on your local machine or private network. Use Mako Desktop instead: local addresses (localhost, 127.x, private LAN ranges) are detected automatically and connect through the bundled Mako Agent. Credentials for local connections stay on your machine and are never sent to Mako Cloud.

If your database requires IP whitelisting, add the following address to your allowlist:

34.79.190.46

This is the static outbound IP used by Mako’s cloud service for all database connections.

Standard connection string format:

postgresql://user:password@host:5432/database

Works with any Postgres-compatible database (Supabase, Neon, etc.). SSL connections are supported.

Standard connection string format:

mysql://user:password@host:3306/database

If your MySQL server is not directly accessible (e.g. it’s behind a bastion host or inside a private VPC), Mako supports SSH tunneling. Enable it in the connection settings and provide:

FieldDescription
SSH HostHostname or IP of the SSH bastion/jumphost
SSH PortPort for SSH (default: 22)
SSH UsernameUsername to authenticate with on the bastion
Auth MethodPassword or Private Key
Password / Private KeyCredentials for SSH authentication. Private keys can be RSA/Ed25519. Optional passphrase supported.
Remote HostThe MySQL host as seen from the bastion (often 127.0.0.1 or a private hostname)
Remote PortMySQL port on the remote side (default: 3306)

Mako opens the tunnel, forwards traffic through a local ephemeral port, and reuses the tunnel for subsequent queries (idle tunnels expire after 5 minutes).

When connecting via MongoDB Atlas, the connection string format differs from what Atlas shows:

Atlas gives you:

mongodb+srv://user:password@cluster.server.mongodb.net/?appName=MyCluster

Mako needs:

mongodb+srv://user:password@cluster.server.mongodb.net/MyCluster

Note the query parameter (?appName=) becomes a path segment (/MyCluster).

Atlas IP whitelisting: Go to Network Access in your Atlas project → Add IP Address → enter 34.79.190.46Confirm.

Requires a Google Cloud service account with BigQuery access. Upload the service account JSON key file when adding the connection.

Connects over HTTP. Default port is 8123 (HTTP) or 9000 (native). Cloud-hosted ClickHouse (e.g. ClickHouse Cloud) is supported.

Standard Redshift connection using the Postgres wire protocol:

postgresql://user:password@cluster.region.redshift.amazonaws.com:5439/database

For Google Cloud SQL instances with the Auth Proxy. Provide the instance connection name (e.g. project:region:instance) and credentials.

Connects via the Cloudflare API. Requires your Cloudflare account ID and an API token with D1 permissions.

Connects via the Cloudflare API. Uses JavaScript for key-value operations rather than SQL. Requires your Cloudflare account ID, namespace ID, and an API token.

You can connect as many databases as you need — even different types. Mako handles the driver differences transparently. The AI agent knows which dialect to use for each database.