How to Connect Windsurf to Cold Email
Connect Windsurf, now Devin Desktop, to your cold email setup: add the Outreach2day MCP server by URL in mcp_config.json and sign in from Cascade.

On this page
Connect Windsurf / Devin Desktop to Outreach2day
{
"mcpServers": {
"outreach2day": {
"serverUrl": "https://public.outreach2day.com/mcp"
}
}
}Copies the server entry; the installer below merges it into your existing configuration
Setup guide
- Run the installer below, or add the outreach2day entry to your MCP configuration
- Refresh MCP servers in Cascade
- Sign in with your Outreach2day account
Use an install script
curl -fsSL https://outreach2day.com/install | sh -s -- --client windsurf$env:O2D_CLIENT="windsurf"; irm https://outreach2day.com/install.ps1 | iexAdds the server to Windsurf / Devin Desktop, after a backup of each config. Each client asks you to sign in to Outreach2day on first use. View the script
Short answer: Windsurf's Cascade agent has supported MCP servers since Windsurf Wave 3 on 13 February 2025. Windsurf is now called Devin Desktop, and its documentation calls Cascade the legacy agent; the MCP setup is the same mcp_config.json file. The hosted Outreach2day MCP server is live at https://public.outreach2day.com/mcp: one serverUrl entry in that file adds it, you sign in to Outreach2day when Cascade asks (OAuth, no API key), and Cascade can then check domains, quote mailboxes, run warmup and read replies. Cascade also runs local servers, so a small read-only server over the REST API works too.
Checked September 2026 against Cascade MCP integration in the Devin Desktop docs and the Windsurf Wave 3 announcement.
Connection Methods
Method | Works with Outreach2day today | Where the key lives | Notes |
|---|---|---|---|
Hosted Outreach2day MCP server ( | Yes | No key: OAuth sign-in; or | One |
Local server ( | Yes, you run it |
| Our read-only example server |
Cascade runs | Yes | Your shell environment | Review each command |
The config file lives at ~/.config/devin/mcp_config.json on macOS and Linux (or under $XDG_CONFIG_HOME/devin/) and %APPDATA%\devin\mcp_config.json on Windows. Open it from Cascade: the ... (Actions) menu at the top right of the Cascade panel, then "Open MCP config file" in the MCPs section.
On Teams and Enterprise, admins can turn MCP access on or off and allowlist approved servers, so a company account may need an admin to add yours. Cascade can use at most 100 tools at a time across all servers; our example server has six.
What Cascade Can Do With Your Cold Email Setup
Cascade reads your project and your infrastructure in the same session. Useful jobs:
Size the send. From a lead file and a deadline, work out how many mailboxes and domains you need at 25 cold emails per mailbox a day and 5 mailboxes per domain.
Shortlist domains. Check up to 50 domain ideas per call with
check_domainsand write the free ones to a file. Buying domains through the API is paid right away — give an agent a billing-scoped key only if you want it to buy.Watch warmup. List each mailbox's
warmupStateand how long it has warmed. New mailboxes need at least 14 days before cold email.Read replies. Pull recent threads with their intent label and summarise what needs an answer.
Check copy. Flag links, missing spintax on subjects and follow-up gaps other than 2, 3, 5 and 5 days in your sequence files.
Connect Cascade to Outreach2day, step by step
Add the server. Paste an
outreach2dayentry with"serverUrl": "https://public.outreach2day.com/mcp"undermcpServersinmcp_config.json; the installer writes the same entry:curl -fsSL https://outreach2day.com/install | sh -s -- --client windsurfSign in from Cascade. Refresh the MCP servers in the Cascade Actions menu and sign in to Outreach2day when it asks; Cascade supports OAuth for Streamable HTTP servers
Enable and check the tools. In the MCPs section of the Cascade Actions menu, check that the server is on and lists its tools
Ask a read-only question. Ask "list my domains" and compare the answer with the app
No browser? Use an API key. For CI or a machine without a browser, run the installer with
--use-key: it asks for the key once and the client config reads it from$OUTREACH2DAY_API_KEY
Cascade also runs local servers. To run your own read-only server over the REST API instead, create a key only for Cascade on the API keys page and keep it outside the config: export it as OUTREACH2DAY_API_KEY in your shell profile, or save it to a file readable only by you, such as ~/.secrets/o2d_key. Copy o2d_mcp.py from the cold email MCP server guide, install mcp and requests in a virtual environment, and add the block below under mcpServers. The config supports ${env:NAME} and ${file:/path} in command, args, env and headers; the example server shows six tools.
{
"mcpServers": {
"outreach2day-local": {
"command": "/path/to/.venv/bin/python",
"args": ["/path/to/o2d_mcp.py"],
"env": {
"OUTREACH2DAY_API_KEY": "${env:OUTREACH2DAY_API_KEY}",
"O2D_WORKSPACE_ID": "123"
}
}
}
}
To read the key from a file instead, use "OUTREACH2DAY_API_KEY": "${file:~/.secrets/o2d_key}". If a variable is not set, ${env:...} resolves to an empty string, and the API will answer 401.
Add the Server by URL
Paste the entry under mcpServers in mcp_config.json (~/.config/devin/ on macOS and Linux, %APPDATA%\devin\ on Windows), refresh the MCP servers in Cascade and sign in to Outreach2day when it asks:
"outreach2day": {
"serverUrl": "https://public.outreach2day.com/mcp"
}
The installer writes the same entry:
curl -fsSL https://outreach2day.com/install | sh -s -- --client windsurf
On Windows, in PowerShell: $env:O2D_CLIENT="windsurf"; irm https://outreach2day.com/install.ps1 | iex. The installer asks for no API key. It backs up mcp_config.json (~/.config/devin/ on macOS and Linux, %APPDATA%\devin\ on Windows) and adds an outreach2day entry with serverUrl only. Refresh the MCP servers in Cascade and sign in to Outreach2day when it asks; Cascade supports OAuth for Streamable HTTP servers. For CI or a machine without a browser, run the installer with --use-key: it asks for the key once and the client config reads it from $OUTREACH2DAY_API_KEY.
More clients are on the MCP page.
Prompts to Try in Cascade
"Read
leads/list.csv. At 25 cold emails per mailbox a day and 5 mailboxes per domain, how many mailboxes and domains do I need to reach everyone in two weeks?""Check the names in
domains/ideas.txtand write the free ones todomains/free.txt. Do not buy.""Which mailboxes are paused or in error? Group them by domain."
"Summarise yesterday's replies by intent and list the leads who asked for a call."
Free guide19 min read
Send 100,000 cold emails a month
Domains and mailboxes you need, DNS, warmup, lists, copy and follow-ups, with a launch checklist, sent to your inbox.
Limits and Safety
One key per tool. If you use a key (CI, local server), create one only for Cascade and revoke it on the API keys page without breaking other integrations
API limits and key safety: cold email API.
FAQ
Is Windsurf still available?
Windsurf is now Devin Desktop. The Windsurf documentation and blog redirect to devin.ai, and the Cascade MCP setup is documented there.
Where is the Windsurf MCP config file?
In current Devin Desktop docs: ~/.config/devin/mcp_config.json on macOS and Linux, %APPDATA%\devin\mcp_config.json on Windows. Open it from the Cascade panel's Actions menu.
Can Cascade use a remote MCP server with OAuth or an API key header?
Both. Cascade signs in with OAuth to remote servers over Streamable HTTP, which is how the Outreach2day server connects. A remote entry can also take headers, and ${env:NAME} works inside the header value, for machines without a browser.
Can Cascade send my cold emails?
Yes, through a campaign on the hosted Outreach2day MCP server: Cascade builds the sequence and launch_campaign runs after 14 days of warmup, a passed preflight and your yes in the chat. The local read-only server has no send tool.
Does the API cost extra?
No. It is part of every Outreach2day plan; see pricing.
Related
Create an account, add the server in Cascade and sign in; for CI, create a key 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, warmup, leads, copy and scaling
Step-by-step playbook · 19 min readEmail tools6 min read
How to Connect Cursor to Cold Email
Email tools5 min read
How to Connect Gemini to Cold Email
Email tools6 min read
How to Connect Grok to Cold Email
Answer2 min read
My Warmup Inbox Rate Dropped. What Does It Mean?
Agent skill
Cold email campaign metrics reader