GCP Backend Setup¶
The GCP setup uses Cloud SQL (PostgreSQL + pgvector) for storage and Vertex AI for embeddings.
Prerequisites¶
- A GCP project with billing enabled
gcloudCLI authenticated- Cloud SQL Admin API enabled
- Vertex AI API enabled
Step 1: Create a Cloud SQL instance¶
gcloud sql instances create distill-db \
--database-version=POSTGRES_15 \
--tier=db-f1-micro \
--region=us-central1
Step 2: Create the database¶
gcloud sql databases create distill --instance=distill-db
Step 3: Set up Cloud SQL Proxy¶
# Download the proxy
curl -o cloud-sql-proxy https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy/v2.15.2/cloud-sql-proxy.linux.amd64
chmod +x cloud-sql-proxy
# Start the proxy (runs in background)
./cloud-sql-proxy your-project:us-central1:distill-db &
Step 4: Configure environment¶
export BACKEND=postgres
export DATABASE_URL="postgresql://postgres:password@127.0.0.1:5432/distill"
export EMBEDDING_PROVIDER=vertex
export GCP_PROJECT=your-project
export GCP_LOCATION=us-central1
Step 5: Start Distill¶
python -m distill_mcp
The PostgreSQL store will automatically:
- Create the
memoriestable with pgvector extension - Set up full-text search indexes
- Initialize RLS policies (if
AUTH_ENABLED=true)
Cost¶
Approximately $11/month for a db-f1-micro instance. Vertex AI embedding costs are negligible at typical usage volumes.
Authentication (optional)¶
Enable git-based identity with Row-Level Security:
export AUTH_ENABLED=true
This uses your git identity (user.email) to tag memories and enforce ownership via PostgreSQL RLS policies. Anonymous users get read-only access.