Settings → Integrations sets Ozi up against the tools you already run. Every page there prints the settings for your deployment - its own URL, its own SMTP host, the domains that are actually verified - so what you copy is what works, not an example to adapt. Each integration authenticates with an ordinary API key. The page can create one for you; it then appears under Developer settings → API keys like any other, and revoking it there disconnects the integration.

MCP server

Ozi speaks the Model Context Protocol, so an agent - Claude, Cursor, or anything else that speaks MCP - can send mail and check what happened to it without any glue code of yours. The server runs inside your deployment; there is nothing extra to host. The endpoint is POST /api/v1/mcp, using streamable HTTP. Point a client at it with a Bearer key:
Or, for a client that takes a configuration file:

Tools

Each tool runs as the key that called it, and can do nothing that key could not already do through the REST API: a key restricted to one domain is restricted here too, and every call appears in Logs with the rest of the API traffic.

Supabase

Supabase Auth’s built-in email is rate limited and sends from Supabase’s own address. Point it at Ozi’s SMTP and confirmations, magic links and password resets go out from your domain and show up in your logs. In your Supabase project, open Project Settings → Authentication → SMTP Settings, enable custom SMTP, and fill in the host, port, username and sender address the integration page shows. The password is the API key.
The sender address must be on a domain that is verified in Ozi. Supabase accepts anything you type, and auth emails then fail silently.
After switching, raise the cap under Authentication → Rate Limits. Supabase leaves it at the built-in default, which you will reach long before Ozi’s own limit.

Vercel

ozi-js reads its settings from the environment, so on Vercel the integration is two variables:
Add them under Project Settings → Environment Variables for every environment you want to send from, then:
OZI_BASE_URL is optional: the SDK sends to https://app.getozi.com unless it is set.