Skip to main content
Glama

Supabase MCP Server

docker-compose.ymlโ€ข5.44 kB
version: '3.8' services: # Supabase MCP Server mcp-server: build: context: . dockerfile: Dockerfile container_name: supabase-mcp-server restart: unless-stopped environment: - SUPABASE_URL=${SUPABASE_URL} - SUPABASE_SERVICE_ROLE_KEY=${SUPABASE_SERVICE_ROLE_KEY} - LOG_LEVEL=${LOG_LEVEL:-INFO} env_file: - .env ports: - "8085:8000" # Map port 8085 on host to port 8000 in container volumes: - ./logs:/app/logs networks: - mcp-network depends_on: - supabase-db healthcheck: test: ["CMD", "python", "-c", "import sys; sys.exit(0)"] interval: 30s timeout: 10s retries: 3 start_period: 30s # Self-hosted Supabase Components (Optional) # PostgreSQL Database supabase-db: image: postgres:15-alpine container_name: supabase-db restart: unless-stopped environment: POSTGRES_DB: ${POSTGRES_DB:-supabase} POSTGRES_USER: ${POSTGRES_USER:-supabase} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_PORT: ${POSTGRES_PORT:-5432} volumes: - postgres_data:/var/lib/postgresql/data - ./docker/postgres/init.sql:/docker-entrypoint-initdb.d/init.sql:ro ports: - "${POSTGRES_PORT:-5432}:5432" networks: - mcp-network healthcheck: test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-supabase} -d ${POSTGRES_DB:-supabase}"] interval: 30s timeout: 10s retries: 5 start_period: 30s # Supabase Kong API Gateway (Optional) supabase-kong: image: kong:3.4 container_name: supabase-kong restart: unless-stopped environment: KONG_DATABASE: "off" KONG_DECLARATIVE_CONFIG: /var/lib/kong/kong.yml KONG_DNS_ORDER: LAST,A,CNAME KONG_PLUGINS: request-id,cors,key-auth,acl,basic-auth KONG_LOG_LEVEL: info volumes: - ./docker/kong/kong.yml:/var/lib/kong/kong.yml:ro ports: - "${KONG_HTTP_PORT:-8000}:8000" - "${KONG_HTTPS_PORT:-8443}:8443" networks: - mcp-network depends_on: - supabase-db # Supabase Auth (Optional) supabase-auth: image: supabase/gotrue:v2.143.0 container_name: supabase-auth restart: unless-stopped environment: GOTRUE_API_HOST: 0.0.0.0 GOTRUE_API_PORT: 9999 API_EXTERNAL_URL: ${API_EXTERNAL_URL} GOTRUE_DB_DRIVER: postgres GOTRUE_DB_DATABASE_URL: postgres://${POSTGRES_USER:-supabase}:${POSTGRES_PASSWORD}@supabase-db:5432/${POSTGRES_DB:-supabase}?search_path=auth&sslmode=disable GOTRUE_SITE_URL: ${SITE_URL} GOTRUE_URI_ALLOW_LIST: ${ADDITIONAL_REDIRECT_URLS} GOTRUE_DISABLE_SIGNUP: ${DISABLE_SIGNUP} GOTRUE_JWT_ADMIN_ROLES: service_role GOTRUE_JWT_AUD: authenticated GOTRUE_JWT_DEFAULT_GROUP_NAME: authenticated GOTRUE_JWT_EXP: ${JWT_EXPIRY} GOTRUE_JWT_SECRET: ${JWT_SECRET} GOTRUE_EXTERNAL_EMAIL_ENABLED: ${ENABLE_EMAIL_SIGNUP} GOTRUE_MAILER_AUTOCONFIRM: ${ENABLE_EMAIL_AUTOCONFIRM} GOTRUE_SMTP_ADMIN_EMAIL: ${SMTP_ADMIN_EMAIL} GOTRUE_SMTP_HOST: ${SMTP_HOST} GOTRUE_SMTP_PORT: ${SMTP_PORT} GOTRUE_SMTP_USER: ${SMTP_USER} GOTRUE_SMTP_PASS: ${SMTP_PASS} GOTRUE_SMTP_SENDER_NAME: ${SMTP_SENDER_NAME} GOTRUE_MAILER_URLPATHS_INVITE: ${MAILER_URLPATHS_INVITE} GOTRUE_MAILER_URLPATHS_CONFIRMATION: ${MAILER_URLPATHS_CONFIRMATION} GOTRUE_MAILER_URLPATHS_RECOVERY: ${MAILER_URLPATHS_RECOVERY} GOTRUE_MAILER_URLPATHS_EMAIL_CHANGE: ${MAILER_URLPATHS_EMAIL_CHANGE} networks: - mcp-network depends_on: - supabase-db # Supabase REST API (Optional) supabase-rest: image: postgrest/postgrest:v12.0.1 container_name: supabase-rest restart: unless-stopped environment: PGRST_DB_URI: postgres://authenticator:${POSTGRES_PASSWORD}@supabase-db:5432/${POSTGRES_DB:-supabase} PGRST_DB_SCHEMAS: ${PGRST_DB_SCHEMAS} PGRST_DB_ANON_ROLE: anon PGRST_JWT_SECRET: ${JWT_SECRET} PGRST_DB_USE_LEGACY_GUCS: "false" PGRST_APP_SETTINGS_JWT_SECRET: ${JWT_SECRET} PGRST_APP_SETTINGS_JWT_EXP: ${JWT_EXPIRY} networks: - mcp-network depends_on: - supabase-db # Supabase Studio (Optional) supabase-studio: image: supabase/studio:20240422-5cf8f30 container_name: supabase-studio restart: unless-stopped environment: STUDIO_PG_META_URL: http://supabase-meta:8080 POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} DEFAULT_ORGANIZATION_NAME: ${STUDIO_DEFAULT_ORGANIZATION} DEFAULT_PROJECT_NAME: ${STUDIO_DEFAULT_PROJECT} SUPABASE_URL: ${API_EXTERNAL_URL} SUPABASE_PUBLIC_URL: ${SUPABASE_PUBLIC_URL} SUPABASE_ANON_KEY: ${ANON_KEY} SUPABASE_SERVICE_KEY: ${SERVICE_ROLE_KEY} ports: - "${STUDIO_PORT:-3000}:3000" networks: - mcp-network # Supabase Meta API (Optional) supabase-meta: image: supabase/postgres-meta:v0.80.0 container_name: supabase-meta restart: unless-stopped environment: PG_META_PORT: 8080 PG_META_DB_HOST: supabase-db PG_META_DB_PORT: 5432 PG_META_DB_NAME: ${POSTGRES_DB:-supabase} PG_META_DB_USER: ${POSTGRES_USER:-supabase} PG_META_DB_PASSWORD: ${POSTGRES_PASSWORD} networks: - mcp-network depends_on: - supabase-db volumes: postgres_data: driver: local networks: mcp-network: driver: bridge

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/CloudMediaServices/supabase-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server