To send email with Windsurf, connect Cascade to an email platform over the Model Context Protocol (MCP). Once the MCP server is in your Windsurf config, you can ask Cascade to draft, test, and send email without leaving the editor.
I've spent more time in Windsurf's Cascade than I expected to this year. It's quick, and the agent mode genuinely changes how I prototype. What it doesn't do out of the box is send an email, which matters the moment you build anything with a signup, a receipt, or a nudge. The usual answer is "leave the editor, go set up an email service, come back." I've been building email platforms for over a decade and that round-trip still annoys me.
Here's how to skip it and send from inside Windsurf.
1. The short answer
Cascade can't send email itself, but it can call any tool you connect over the Model Context Protocol. MCP is the open standard that lets an AI assistant talk to outside services through typed tools. So the job is: add an email platform's MCP server to Windsurf once, then ask. I'll use Nitrosend because it's what we build, and it's MCP-first rather than a dashboard with an API bolted on. Judge that for yourself as you go.
2. Add Nitrosend to Cascade
Windsurf keeps MCP servers in a config file you reach from Settings, then Cascade, then Manage MCPs. Open mcp_config.json and add the Nitrosend entry. The current path is documented in the Windsurf MCP docs if the menu moves.
{
"mcpServers": {
"nitrosend": {
"serverUrl": "https://api.nitrosend.com/mcp"
}
}
}Save, refresh Cascade, and you're connected. Nitrosend is a remote server with OAuth, so there's no API key sitting in that file: the first tool call opens a browser to sign you in. The full Windsurf walkthrough lives in the Nitrosend Windsurf docs.
3. Send your first email
Now just ask Cascade. It checks your account is ready with nitro_get_status, then composes.
> Send a welcome email to new signups. Friendly,
short, one button to the docs.Cascade calls nitro_compose_campaign to draft it on your brand, hands back a preview, and waits. You can fire a test with nitro_send_test_message and check the spam score with nitro_review_delivery before anything ships. For a single transactional send from your app code, nitro_send_message does the one-to-one version.
4. Why I stopped using a send-only tool here
For a long time my answer for "send from code" was a transactional API. It's fine for the first email. The trouble starts on the second one. The moment you want a welcome sequence, or to send only to people who haven't opened in 90 days, or to know whether any of it worked, a send-only tool runs out of road and you're back to a dashboard somewhere else.
That gap is the reason Nitrosend exists. At SmartrMail we sent over six billion emails and spent years building the flow and segmentation machinery marketers needed. When we started Nitrosend, the bet was that an AI agent should be able to reach all of that, campaigns, flows, segments, deliverability, not just a single send endpoint. So when Cascade connects to Nitrosend, it gets the whole surface: nitro_compose_flow for sequences, nitro_define_segment for targeting, nitro_get_insights for what landed. That's the thing I felt was missing everywhere else, so we built it.
5. A few notes from using Windsurf for this
Cascade has occasionally lost the thread on a long multi-step task for me and needed a nudge to re-read the MCP tool list, so if it says it can't send, refreshing the MCP panel usually sorts it. And because Windsurf stores MCP config per setup rather than per project, the Nitrosend connection follows you across repos, which I happen to like. None of this is a knock on Windsurf; it's a fast editor and the MCP support is genuinely good. It's just email that was the missing piece, and now it isn't.
Frequently asked questions
Can Windsurf send email?
Not on its own. Windsurf's Cascade can call any MCP server you add, so once you connect an email platform's MCP it can draft, test, and send through it. With Nitrosend connected, you just ask Cascade in plain language.
How do I add an MCP server to Windsurf?
In Windsurf, go to Settings, then Cascade, then Manage MCPs, and edit the mcp_config.json file. Add the Nitrosend server entry, save, and refresh. The official steps are in the Windsurf MCP docs.
Do I need an API key in my Windsurf config?
For Nitrosend, no key in your config: it's a remote MCP server with OAuth, so you sign in through the browser on first use. That keeps credentials out of a file in your repo.
Can Cascade send a marketing campaign, not just one email?
Yes. Ask it for a campaign or a flow and it calls the relevant Nitrosend tools (compose, test, approve). A single transactional send uses a different tool, same connection.
Is it safe to let Cascade send email?
Sending goes through an approval step. Cascade composes, you review the preview and spam score, and nothing leaves until you approve. You can always send a test to yourself first.