Skip to main content
Most of these integrations were built using the available online documentation for these providers. If you notice any issues with a provider or have an idea for a more optimal flow, please open an issue and we’ll investigate it as soon as possible.
Providers handle authentication and connection configuration for managed database platforms. Each provider knows how to construct connection strings, manage SSL, and — where supported — obtain IAM tokens automatically.

Provider Matrix

ProviderCompatible EnginesSSL DefaultAuth Method
Direct / Self-HostedAll 9 enginesEngine defaultPassword
GCP Cloud SQLPostgreSQL, MySQL, MSSQLverify-fullPassword or gcloud IAM token
AWS RDS / AuroraPostgreSQL, MySQL, MariaDB, MSSQLverify-fullPassword or AWS IAM token
NeonPostgreSQLverify-fullPassword
SupabasePostgreSQLverify-fullPassword
Azure DatabasePostgreSQL, MySQL, MariaDB, MSSQLverify-fullPassword or Azure CLI token
PlanetScalePostgreSQL, MySQLverify-full (TLS always)Password
Vercel PostgresPostgreSQLverify-fullPassword
DigitalOceanPostgreSQL, MySQL, Redisverify-fullPassword
RailwayPostgreSQL, MySQL, Redisverify-fullPassword
UpstashRedisTLS (rediss://)Password
Cloudflare D1 / KVSQLite, RedisN/A (HTTPS API)API token
FirebaseFirestoreN/A (gRPC with TLS)Service account or ADC

Provider Details

Provider ID: directThe fallback for any database not hosted on a specific managed platform. Passes connection parameters through without modification. No SSL override.When to use: Self-hosted databases, Docker/Kubernetes-hosted, local dev databases, any provider not listed above.
mori init --from "postgres://user:pass@my-server:5432/mydb"
Provider ID: gcp-cloud-sqlWith password: Provide host, user, and password as normal. SSL defaults to verify-full.With IAM auth: Omit the password. Mori obtains a token via gcloud sql generate-login-token. Requires Google Cloud SDK installed and authenticated (gcloud auth login).
When using Cloud SQL Proxy, the host is typically 127.0.0.1. Mori skips SSL enforcement when a tunnel is configured.
mori init --from "postgres://user:pass@10.0.0.1:5432/mydb"
Provider ID: aws-rdsWith password: Provide host, user, and password. SSL enforced.With IAM auth: Omit the password. Mori generates an IAM auth token via aws rds generate-db-auth-token. Requires AWS CLI configured and IAM policy granting rds-db:connect.Extra field: aws_region (required for IAM auth only).
mori init --from "postgres://user:pass@mydb.abc123.us-east-1.rds.amazonaws.com:5432/mydb"
Provider ID: neonServerless PostgreSQL. SSL enforced. Default database neondb, default user neondb_owner.
Copy the connection string directly from the Neon dashboard.
mori init --from "postgres://neondb_owner:pass@ep-cool-darkness-123456.us-east-2.aws.neon.tech:5432/neondb?sslmode=require"
Provider ID: supabaseManaged PostgreSQL. SSL enforced. Default database postgres.
Use the “Direct” connection string from Supabase Settings > Database (not the pooled PgBouncer one).
If the Supabase connection string throws you an error, you might be using an IPV6 address. Try using the IPV4 address instead.
mori init --from "postgres://postgres:pass@db.abcdefghijklmnop.supabase.co:5432/postgres?sslmode=require"
Provider ID: azureWith password: Provide host, user, and password. SSL enforced.With Azure AD auth: Omit the password. Mori obtains a token via az account get-access-token. Requires Azure CLI installed and authenticated (az login).
mori init --from "postgres://user:pass@myserver.postgres.database.azure.com:5432/mydb"
Provider ID: planetscaleServerless MySQL and PostgreSQL. TLS always enabled — the provider hardcodes TLS in the DSN.
mori init --from "mysql://user:pass@aws.connect.psdb.cloud:3306/mydb"
Provider ID: vercel-postgresPowered by Neon. SSL enforced. Supports a connection_url extra field for the full URL.
Copy the POSTGRES_URL from your Vercel project’s environment variables.
mori init --from "postgres://user:pass@ep-something.us-east-1.aws.neon.tech:5432/verceldb?sslmode=require"
Provider ID: digitaloceanNon-standard defaults auto-applied: port 25060, database defaultdb, user doadmin.
Copy the connection string from the DigitalOcean dashboard under Databases > Connection Details.
mori init --from "postgres://doadmin:pass@db-postgresql-nyc1-12345-do-user-123456-0.b.db.ondigitalocean.com:25060/defaultdb?sslmode=require"
Provider ID: railwayOne-click database deployments. SSL enforced. Supports a connection_url extra field.
In the Railway dashboard, go to your database service and copy the connection string from the “Connect” tab.
mori init --from "postgres://postgres:pass@containers-us-west-123.railway.app:5432/railway"
Provider ID: upstashServerless Redis. Always uses TLS — connection strings use rediss:// (double s).
mori init --from "rediss://default:pass@us1-shining-condor-12345.upstash.io:6379"
Provider ID: cloudflareCloudflare D1 (SQLite at the edge) and Workers KV. Accessed via the Cloudflare API.Extra fields:
FieldDescription
cf_account_idCloudflare Account ID
cf_database_idD1 Database ID
# Interactive setup required for API credentials
mori init
Provider ID: firebaseGoogle Cloud Firestore via Firebase. Provide a GCP project ID and optionally a service account credentials file.Fields:
FieldDescriptionRequired
project_idGCP Project IDYes
credentials_filePath to service account JSONNo (uses ADC if omitted)
If GOOGLE_APPLICATION_CREDENTIALS is set, you can omit the credentials file.
mori init --from "firestore://my-project?credentials=./sa.json"