Cursor is a code editor. Using it to run LinkedIn outreach sounds like a category error, and for a while we thought so too. Then we noticed how much of our week was spent alt-tabbing out of an editor to do something an editor could have asked for on our behalf.
This is how our team uses Cursor as a sales tool, what it can genuinely do, and the hard line it cannot cross.
Why an editor, of all things
Two reasons, and neither is novelty.
The first is that Cursor already speaks the protocol. Cursor supports the Model Context Protocol, and its documentation describes config living in two places: .cursor/mcp.json in a project root for project-specific tools, and ~/.cursor/mcp.json in your home directory for tools available everywhere. It supports stdio, SSE and Streamable HTTP transports, and it handles OAuth for remote servers. So connecting an outreach tool is the same shape of work as connecting anything else.
The second is approvals. Cursor “requests approval before executing MCP tools” by default, and shows the arguments and results in an expandable view in chat. For a tool that touches client outreach, being shown the exact arguments before a call runs is not a nice-to-have. It is the reason we were willing to try this at all.
The setup
Create .cursor/mcp.json in your project root — or the one in your home directory if you want it everywhere — and put this in it:
{
"mcpServers": {
"warmysender": {
"url": "https://warmysender.com/mcp"
}
}
}That is the whole thing. It is the same block WarmySender publishes on its connect-your-agent guide and on the Cursor LinkedIn page. Sign in when prompted, and Cursor is talking to your own workspace.
If you would rather install the packaged version with skills bundled on top of the raw tools, the plugin repo is public:
npx skills add fortuneflick/warmysender-claude-pluginSee github.com/fortuneflick/warmysender-claude-plugin. In Cursor itself you can also open Customize in the sidebar, find WarmySender and select Install.
What Cursor can do with LinkedIn
WarmySender’s Cursor page is specific, and we will quote it rather than paraphrase, because the specificity is the point. Cursor can:
- “Create a connection-and-message campaign and choose the account and steps.”
- “Start, pause and resume a campaign, and enroll the people you choose.”
- “Draft, publish and delete posts, and read their engagement.”
- “Create, publish and close recruiter job postings and read the applicants.”
- “Report on campaign stats, account health, and why an account is quiet today.”
The last one is the sleeper. “Why is this account quiet today” is the question every agency asks about every LinkedIn seat, every day, and the honest answer is usually a limit doing its job. Getting that answer in the editor, in one sentence, without opening a dashboard, changed our morning.
What it cannot do, and why we are glad
Cursor “never sends a message itself and can never raise a limit.” It “writes the campaign and hands it to WarmySender’s scheduler, which paces every email, LinkedIn, Instagram and WhatsApp action inside safe limits.”
The limits are not advisory. WarmySender’s server documentation describes them as non-negotiable and gives the shape of the LinkedIn ramp: “A new account starts at ~10 invites/day and grows over 4 weeks to safe maximums.” There is no tool that shortens that. There is no argument you can pass to make it go faster. An agent asking for more gets the same answer a human asking for more gets.
This matters for an agency in a way it might not for a solo operator. Our clients hand us LinkedIn accounts that are years old and, in some cases, the single most valuable asset in their pipeline. A restricted account is not a bad afternoon, it is a relationship-ending event. We are not willing to put a system in front of those accounts that can be talked into going faster, and this one structurally cannot be.
Connecting and disconnecting accounts also stays in the app. As WarmySender puts it: “a credential should never pass through an agent or a chat log.”
Email from the same window
The LinkedIn tools sit next to the email ones, so a single conversation covers both halves of a sequence. In a typical client kickoff we will, in one Cursor session:
- Verify the imported list before anyone is enrolled — verification tools live on the same connection and share the same allowance and pacing.
- Create the cold email campaign with its sending window and daily cap.
- Create the LinkedIn connection-and-message campaign against the right seat.
- Add the client’s existing customer list to suppression so nobody currently paying gets prospected.
- Ask for a summary of what was just built, and read it properly before anything starts.
That last step is not optional in our process. Cursor’s approval prompts mean nothing runs unseen, but a campaign that was built correctly by every technical measure can still be the wrong campaign. A human reads it.
The honest downside
If your sales team does not already use an editor, do not make them. The value here is entirely in removing a context switch for people who were already in Cursor. For anyone else, the same tools reach the same workspace from a chat window, and that is a better fit. WarmySender’s agents page lists the full set of clients that connect to the same address.
FAQ
Where does the Cursor MCP config file live?
Either .cursor/mcp.json in your project root for project-specific tools, or ~/.cursor/mcp.json in your home directory to make it available everywhere.
Will Cursor run outreach tools without asking me?
By default Cursor requests approval before executing MCP tools and shows you the arguments. Allowlisted tools can run immediately in auto-review mode, so choose what you allowlist carefully.
Can Cursor send a LinkedIn invite or message directly?
No. It writes and launches the campaign; WarmySender’s scheduler performs and paces every action inside daily and weekly limits and the ramp.
Can it shorten a new LinkedIn account’s ramp?
No. A new account starts at roughly ten invites a day and grows over four weeks. No agent instruction changes that.
Can Cursor connect my LinkedIn account for me?
No. Connecting and disconnecting accounts stays in the app on purpose.