Getting started
Local development
npm install
npm run db:setup
npm run dev:appdb:setup starts PostgreSQL 17 through Docker Compose and applies migrations.
The local connection is postgresql://aka_phone_ai:aka_phone_ai@127.0.0.1:5432/aka_phone_ai.
Run each surface in its own terminal:
npm run dev:app # operations app + API → http://localhost:3000
npm run dev:landing # marketing landing page → http://localhost:3001
npm run dev:server # realtime + MCP backend → ws/http on :8080
npm run dev:docs # this documentation site → http://localhost:3002Configuration
Copy .env.example to .env.local. Required live-provider values are:
DATABASE_URLfor PostgreSQL. SetPOSTGRES_SSL=truewhen the hosted database requires TLS.OPENROUTER_API_KEYfor the LLM that voices calls and runs themake_callsafety check. Override the model withOPENROUTER_MODEL.ELEVENLABS_API_KEY(and optionalELEVENLABS_MODEL_ID) for call text-to-speech.TWILIO_ACCOUNT_SIDandTWILIO_AUTH_TOKEN(the Auth Token also verifies inbound webhooks).- Stripe secret, publishable, and webhook keys.
MCP_TOKEN_SECRETand optionallyVOICE_BRIDGE_SECRET.
For the split deployment, point the landing site at the app with
NEXT_PUBLIC_APP_URL, and point MCP clients at the backend with
MCP_PUBLIC_URL.
Connect an MCP client
Mint an API key from the app’s integrations view, then register the endpoint:
claude mcp add --transport http aka-phone-ai https://your-host/mcp \
--header "Authorization: Bearer ak_mcp_…"Last updated on