Add Governed Email to Stripe Projects.dev Agent Stacks

When your agent runs stripe projects add, ship it MultiMail instead of a generic SMTP provider. Verifiable sender identity and oversight gating come standard.


Stripe launched Projects.dev in March 2026, a CLI that lets agents and developers provision third-party services directly from the terminal. Launch partners cover analytics (PostHog), hosting (Vercel, Railway), databases (Supabase, Neon, PlanetScale, Turso, Chroma), auth (Clerk), and email. The same 48-hour window saw companion CLI launches from Ramp, Sendblue, ElevenLabs, Visa, Resend, and Google Workspace — the broader “everything is CLI” convergence Latent Space documented.

MultiMail is the agent-governed email option for stacks bootstrapped through Projects.dev. Generic email providers solve transactional throughput; MultiMail adds the layer agents actually need: oversight modes that gate sends before delivery, ECDSA-signed sender identity that survives the agent context, and an MCP server the coding agent already knows how to call.

The mental model: Stripe's Shared Payment Tokens identify the agent at the billing layer; MultiMail's X-MultiMail-Identity header identifies the agent at the messaging layer. Together they cover the two main surfaces an agent acts through.

Built for CLI-provisioned agent stacks

Drop-In Agent Provisioning

MultiMail exposes a provisioning shape compatible with the Agentic Provisioning Protocol pattern Projects.dev uses. The MCP setup_multimail tool returns the same kind of structured config the agent expects from any partner.

Sender Identity That Survives the Agent

Every outbound email carries a cryptographically signed identity header. The sender remains verifiable long after the agent session ends — so audit, compliance, and downstream systems can independently check who sent what.

Oversight, Not Just Delivery

Five oversight modes from read_only through autonomous. Coding agents typically start in gated_send (every email approved before delivery) and graduate as trust builds — the trust ladder built into the API.

Same MCP Your CLI Agent Already Speaks

Claude Code, Cursor, Windsurf, and Zed all support MCP. One config line at mcp.multimail.dev gives the agent 41 email tools — no SDK install, no credential juggling, no per-CLI auth flow.


Wire up in minutes

Provision MultiMail through Projects.dev (illustrative manifest)
bash
"cm"># Illustrative — partner manifest entry the agent would resolve
stripe projects add multimail/email \
  --plan builder \
  --domain agent.example.com

"cm"># Stripe handles billing, MultiMail provisions the mailbox.
"cm""># The CLI returns a scoped API key into the project env:
"cm"># MULTIMAIL_API_KEY=mm_live_...
"cm"># MULTIMAIL_MAILBOX_ID=mb_...

MultiMail is not yet a Projects.dev launch partner — the manifest entry above shows the shape the integration would take. Today, run stripe projects init and add MultiMail credentials manually as project env vars; the rest of the flow is identical.

Send from a Projects.dev-bootstrapped agent (Python)
python
import os, requests

"cm"># Stripe Projects.dev injects these env vars into the project
API_KEY = os.environ["MULTIMAIL_API_KEY"]
MAILBOX = os.environ["MULTIMAIL_MAILBOX_ID"]

"cm"># Mailbox is configured in gated_send mode —
"cm""># every send queues for approval before delivery
resp = requests.post(
    "https://api.multimail.dev/v1/send",
    headers={"Authorization": f"Bearer {API_KEY}"},
    json={
        "mailbox_id": MAILBOX,
        "to": "[email protected]",
        "subject": "Your MRR is up 12% this week",
        "body": "Hey — quick weekly update from the agent..."
    }
)
print(resp.json())  "cm"># {"status": "pending_approval", "message_id": "msg_..."}

The MultiMail API key arrives as a project env var alongside Stripe's other partner credentials.

MCP config for Claude Code / Cursor / Windsurf
json
{
  "mcpServers": {
    "multimail": {
      "type": "sse",
      "url": "https://mcp.multimail.dev/mcp",
      "headers": {
        "Authorization": "Bearer ${MULTIMAIL_API_KEY}"
      }
    }
  }
}

Drop into ~/.cursor/mcp.json, ~/.claude/mcp.json, or your editor's equivalent. The agent picks up all 41 email tools on next restart.


Step by step

1

Create a MultiMail account

Sign up at multimail.dev and verify your sending domain. Generate an API key — it will start with mm_live_.

2

Initialize a Stripe project

Run stripe projects init in your repo. This creates a project that aggregates billing across partner services.

3

Add MultiMail credentials to the project env

Add MULTIMAIL_API_KEY and MULTIMAIL_MAILBOX_ID as project env vars. The coding agent will see them on next session start, alongside whatever Vercel, Supabase, or Clerk keys Projects.dev injected.

4

Register MultiMail in your editor's MCP config

Drop the MCP config snippet above into your editor. The agent now has 41 email tools available without writing any SDK code.

5

Set the mailbox to gated_send and approve early sends

While the agent is new to your stack, leave the mailbox in gated_send mode. Approve emails through the MultiMail dashboard. Promote to monitored or autonomous once the agent has demonstrated correct behavior.


Common questions

What is Stripe Projects.dev?
Stripe Projects.dev is a CLI tool launched in March 2026 that lets agents and developers provision third-party services directly from the terminal. Run a command like stripe projects add posthog/analytics and Projects.dev creates an account on the partner service, returns an API key, and sets up unified billing — without touching the partner's signup flow. Launch partners include Vercel, Railway, Supabase, Neon, PlanetScale, Turso, Chroma, PostHog, Clerk, and others.
How does MultiMail differ from a generic SMTP provisioning partner?
Generic email providers focus on transactional throughput and deliverability. MultiMail is built for agent-initiated email specifically: every send goes through a chosen oversight mode (read_only, gated_all, gated_send, monitored, autonomous), every outbound message carries a cryptographically signed X-MultiMail-Identity header, and every action is logged with the agent's identity. Drop-in throughput plus an agent governance layer.
Why does the agent need a separate identity for email if Stripe already has Shared Payment Tokens?
Shared Payment Tokens identify the agent at the billing layer — who pays for the action. MultiMail identifies the agent at the messaging layer — who is the sender of this specific email. The two work together: Stripe handles the financial accountability of the agent's actions, MultiMail handles the sender authenticity of the agent's communications. Together they cover the two main agent-action surfaces.
Can Claude Code, Cursor, or other coding agents use MultiMail this way?
Yes. Coding agents are the primary consumers of CLI provisioning tools, and they all already speak MCP. Point your editor's MCP config at https://mcp.multimail.dev/mcp and the agent picks up 41 governed email tools (send, reply, inbox, contacts, attachments, oversight, audit). One config line replaces multiple SDK installs.

Explore more

The only agent email with a verifiable sender

Email infrastructure built for AI agents. Verifiable identity, graduated oversight, and a 38-tool MCP server. Formally verified in Lean 4.