How to Connect Cursor to Cold Email
Connect Cursor to your cold email setup: the agent calls the Outreach2day API or a local MCP server to check domains, mailboxes, warm-up and replies.

On this page
Short answer: Cursor's agent has supported MCP servers since version 0.45 (January 2025), and since Cursor 1.0 (June 2025) remote servers can use OAuth or fixed headers. You connect Cursor to Outreach2day today in one of two ways: the agent calls the REST API from your terminal with your key in an environment variable, or you run a small local MCP server over the same API. Both read domains, mailboxes, warm-up state and replies. The hosted Outreach2day MCP server is in early access, so there is no URL to paste yet.
Checked September 2026 against Cursor's MCP documentation, the Cursor 0.45 changelog and the Cursor 1.0 changelog.
Connection Methods
Method | Works with Outreach2day today | What the agent can do | Setup |
|---|---|---|---|
Agent runs | Yes | Every API endpoint your key allows | Key in an env variable, one prompt |
Local MCP server (stdio) in | Yes, you run it | The tools you write: read-only in our example | Python script plus one JSON entry |
Hosted Outreach2day MCP server ( | Early access | Domains, mailboxes, warm-up, replies as tools | One JSON entry when it is live |
Cursor is a good fit when your cold email work already lives in files: lead CSVs, copy drafts, a script that sizes domains for a volume. The agent reads the repo and the API in the same session.
What Cursor Can Do With Your Cold Email Setup
With the API key available to the agent, Cursor can:
Domains: check which names are free with
POST /check_domains(up to 50 at a time) and list the workspace's domains withGET /domains. Buying domains through the API is paid right away — give an agent a billing-scoped key only if you want it to buy.Mailboxes: list mailboxes and their status with
GET /mailboxes. New mailboxes are ordered in the app; the API lists and edits them.Warm-up: read
warmupStateper mailbox withGET /warmup/mailboxes, and start or pause warm-up withPOST /warmup/operationsand an idempotency key.Replies: list reply threads with a
replyIntentlabel withGET /threads.Campaigns: draft sequences and copy in your repo. The campaign API is not enabled for every workspace yet; if you send from Instantly or Smartlead, the export endpoints add your mailboxes there.
Connect Cursor to Outreach2day, step by step
Create an API key for Cursor. In the app, open the API keys page and create a key only for this use (
ot2d_...). A key acts as your user in every workspace you belong to, so a separate key is easy to revoke.Put the key in your shell, not in the repo. Add
export O2D_KEY=ot2d_...to your shell profile or a git-ignored.env, and note your workspace ID fromGET /workspaces.Tell the agent where the API is. Start a chat with: "The Outreach2day API is at https://public.outreach2day.com, auth is
Authorization: Bearer $O2D_KEY, docs at dev.outreach2day.com. Never print the key." Review each terminal command the agent proposes before it runs.Optionally add a local MCP server. Save the read-only server from our cold email MCP server guide and register it in
~/.cursor/mcp.json(all projects) or.cursor/mcp.json(one project), as below.Check the tools. In Cursor's settings, confirm the server is listed with its tools. Ask "list my domains" and compare the answer with the app.
The local server entry. Cursor fills ${env:NAME} from your environment, so the key stays out of the file:
{
"mcpServers": {
"outreach2day": {
"type": "stdio",
"command": "/path/to/.venv/bin/python",
"args": ["/path/to/o2d_mcp.py"],
"env": {
"O2D_API_KEY": "${env:O2D_KEY}",
"O2D_WORKSPACE_ID": "${env:O2D_WORKSPACE_ID}"
}
}
}
}
The Hosted MCP Server (Early Access)
Cursor can already talk to remote servers: an entry with a url and headers instead of a command. The hosted Outreach2day MCP server that will use that format is in early access and has no public URL yet, so this page shows no remote config. When it is generally available, this section will carry the one entry to add. Get early access on the home page.
Prompts to Try in Cursor
"Read
leads/q4.csv, count rows, and tell me how many mailboxes I need at 25 cold emails per mailbox per day to reach everyone in 10 working days.""Check whether these 10 domain ideas are free, and write the free ones to
domains.txt. Do not buy anything.""Which mailboxes have been warming for less than 14 days? Output a table with address, domain and start date."
"Lint
copy/sequence.md: no links in any step, spintax on every subject, follow-up gaps 2, 3, 5 and 5 days."
More, grouped by task, in Cursor prompts for cold email.
Limits and Safety
Rate limits: 10 requests a second, 300 a minute, 1,000 an hour, 10,000 a day per user and per workspace. Over the limit the API answers
429withRetry-After.Mailbox credentials:
GET /mailboxeslists your mailboxes. The response includes SMTP/IMAP credentials — store the API key like a password. Our MCP example drops that field in code.Reply text is untrusted. Replies are written by outsiders. The agent should treat them as data, never as instructions.
Spending: Buying domains through the API is paid right away — give an agent a billing-scoped key only if you want it to buy.
FAQ
Does Cursor support remote MCP servers?
Yes. An entry with url (and optional headers) connects to a remote server over Streamable HTTP or SSE; an entry with command starts a local stdio server. Cursor 1.0 added OAuth for servers that support it.
Is there an Outreach2day MCP URL I can paste into Cursor?
Not yet. The hosted server is in early access. Today Cursor works through the REST API or a local server you run.
Can Cursor buy domains or order mailboxes?
It can call POST /domains/purchase. Buying domains through the API is paid right away — give an agent a billing-scoped key only if you want it to buy. Mailboxes are ordered in the app.
Where does Cursor store MCP settings?
In ~/.cursor/mcp.json for all projects or .cursor/mcp.json inside a project. Commit the project file only if it holds no secrets; use ${env:NAME} for keys.
Can Cursor send cold emails?
Not through Outreach2day's public API unless campaigns are enabled for your workspace. It can draft and lint the copy, prepare lead files and add mailboxes to Instantly or Smartlead through the export endpoints.
Related
Outreach2day MCP for Cursor: what the hosted MCP server covers (early access)
Other assistants: Claude, Claude Code, ChatGPT, Grok, Gemini, GitHub Copilot, Windsurf, Copilot Studio, Le Chat, n8n
AI assistants for cold email: every assistant and how it connects
Create an account, add mailboxes, then create a key for Cursor on the API keys page.
Keep reading
Send 100,000 cold emails a month
How to send 100,000 cold emails a month while keeping quality, engagement and conversion rates high: domains, mailboxes, warm-up, leads, copy and scaling.
Step-by-step playbook · 19 min readEmail tools5 min read
How to Connect Claude Code to Cold Email
Email tools5 min read
How to Connect ChatGPT to Cold Email
Email tools5 min read
How to Connect Claude to Cold Email

