Skip to content

Self-hosting status

Extrovert currently provides a hosted API, console, DNS service, and mail platform. You can run the packaged MCP server yourself, but the repository is not a turnkey, supported distribution of the full mail platform.

ChoiceWhat runs locallyWhat remains hosted
Hosted MCP OAuthThe MCP client onlyMCP endpoint, API, console, DNS, mail, and storage
Packaged MCP over stdioThe MCP adapter processAPI, console, DNS, mail, and storage
Packaged MCP over Streamable HTTPThe MCP adapter serviceAPI, console, DNS, mail, and storage
Mock modeMCP or SDK plus deterministic fixturesNothing is contacted; no real delivery occurs

Point SDK and MCP clients at a different API with EXTROVERT_API_BASE_URL only when that API is a compatible deployment you operate. Changing the URL does not create the required services.

A complete deployment needs all of the following:

ComponentResponsibility
Agent and admin APIAuthentication, tenancy, inbox lifecycle, mail operations, Review Loop, commerce, and jobs
PostgreSQLShared durable state, claims, leases, audit, billing, review, and DNS records
Zone renderer and authoritative DNSRender database-backed zones and serve delegated domain records
Receiving serviceStore mail and expose IMAP-backed message, thread, search, and attachment operations
Sending serviceDeliver authenticated mail and report delivery outcomes
MCP serverTranslate tools and hosted OAuth into API calls
ConsoleHuman membership, credentials, inboxes, mail, review, domains, deliverability, and billing controls
Background workersPoll inbound mail, deliver webhooks, process purchases, provision domains, and advance durable jobs

The old live-read DNS binary is retired. Current deployments render zone files from PostgreSQL and serve them through authoritative DNS instances. Do not design a new deployment around the retired single-process DNS path.

The hosted service runs application services on every node of a three-node cluster. Shared workers use durable claims, idempotency, and leader fencing rather than relying on a single replica. Authoritative DNS runs once per node. A self-operated production design would need equivalent database durability, worker safety, DNS availability, secret management, mail-state backups, and rolling-deploy behavior.

This topology is an operational description, not a supported self-hosting installer.

A compatible deployment must preserve:

  • organization, project, agent, and inbox ownership checks on every request;
  • fixed key ceilings and explicit permissions;
  • authenticated human sessions kept separate from agent credentials;
  • HMAC verification over raw webhook bodies;
  • encrypted inbox credentials and narrow export permission;
  • bounded request bodies, lists, pagination, waits, and external fan-out;
  • durable idempotency for outbound mail, review mutations, and commerce requests;
  • public errors and logs that do not expose infrastructure provider names or secrets.

Use the SDK mock transport or set EXTROVERT_MOCK=1 for MCP when developing without network access. The fixtures cover identity, inboxes, message reads, review outcomes, and waits as deterministic contract examples. They do not validate DNS propagation, delivery, receiving, OAuth, or payment.