Environment Variables
This document lists all environment variables used by Village Data.
UI (Next.js)
Required
| Variable | Description |
|---|---|
NEXT_PUBLIC_SUPABASE_URL | Supabase project URL |
NEXT_PUBLIC_SUPABASE_ANON_KEY | Supabase anon/public key |
NEXT_PUBLIC_APP_URL | Application URL (for OAuth redirects) |
SUPABASE_SERVICE_ROLE_KEY | Supabase service role key (server-side only) |
Optional
| Variable | Description | Default |
|---|---|---|
NEXT_PUBLIC_MCP_ENDPOINT_TEMPLATE | MCP server URL template | - |
OPENAI_API_KEY | OpenAI API key for embeddings/chat | - |
GOOGLE_API_KEY | Google AI API key | - |
API Server
| Variable | Description |
|---|---|
SUPABASE_URL | Supabase project URL |
SUPABASE_ANON_KEY | Supabase anon key |
SUPABASE_SERVICE_ROLE_KEY | Supabase service role key |
OPENAI_API_KEY | OpenAI API key |
GOOGLE_API_KEY | Google AI API key |
PORT | Server port (default: 3002) |
MCP Server
| Variable | Description |
|---|---|
SUPABASE_URL | Supabase project URL |
SUPABASE_ANON_KEY | Supabase anon key |
SUPABASE_SERVICE_ROLE_KEY | Supabase service role key |
OPENAI_API_KEY | OpenAI API key |
PORT | Server port (default: 3001) |
TRANSPORT_TYPE | Transport type (httpStream) |
Local Development
For local development, copy from Supabase CLI output:
supabase start
# Outputs API URL, anon key, and service_role key
Example .env.local:
NEXT_PUBLIC_SUPABASE_URL=http://localhost:54321
NEXT_PUBLIC_SUPABASE_ANON_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
NEXT_PUBLIC_APP_URL=http://localhost:3000
SUPABASE_SERVICE_ROLE_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
OPENAI_API_KEY=sk-...
Production Notes
NEXT_PUBLIC_*variables are embedded at build time- Changing them requires a rebuild, not just a redeploy
- Keep
SUPABASE_SERVICE_ROLE_KEYsecret - never expose to client