Table of contents
Get insights delivered straight into your inbox every week!

How I Use Claude Code to Automate My Entire Cold Email Operation

Most people running cold email outreach are doing everything manually. Checking mailboxes one by one. Copy-pasting templates. Eyeballing open rates in a dashboard without really understanding what's working or why.

That works fine when you have 5 mailboxes and one campaign. But when you're managing 50 to 100 mailboxes per client, running multiple campaigns with different messaging, and trying to figure out which messages actually get replies, doing it manually becomes a full-time job.

That's exactly the situation I was in before I started using Claude Code. Going into each tool, checking which mailboxes had problems, manually identifying which ones had less than 1% reply rates, figuring out which ones weren't getting any replies in a given week. Then creating and testing different messages for each client, for each pain point, for each CTA variation. And the weekly reporting? Going into the platforms manually, checking where replies came from, copy-pasting messages to analyze them by hand.

When I saw what Claude Code could do, that it was just a matter of giving it the MCP server I was using, I realized this entire process could be automated.

TL;DR

I used to run weekly mailbox health checks, campaign creation, and performance analysis by clicking through dashboards and copy-pasting into spreadsheets. Now Claude Code does all of it through the Forge MCP Server, a single endpoint that exposes Salesforge, Infraforge, Primeforge, Mailforge, Warmforge, and Leadsforge as native tools. Setup takes five minutes. The rest of this article walks through exactly how I use it across mailbox health, campaign creation, weekly analysis, and LinkedIn outreach.

Email Infrastructure: How Do I Run a Weekly Health Check?

The first thing anyone managing email campaigns should do every week is check the general health of all their mailboxes. This is the foundation. If your mailboxes aren't healthy, nothing else matters.

Here's what to look at:

• Overall reply rates. If a campaign is below 1%, there's a deliverability problem.

• Individual mailbox performance. Any mailbox under 1% reply rate gets flagged.

• Zero-reply mailboxes. If a mailbox didn't receive a single reply in the week, not even an out-of-office, something is wrong.

I just ask Claude Code to list my Salesforge mailboxes and flag anything under 1 percent reply rate over the last 7 days. It calls the mailbox analytics tools through the Forge MCP Server, pulls the data, and returns a clean table. No clicking through dashboards. No spreadsheets.

When a mailbox gets flagged, the process is straightforward: pause it and let it recover, or replace it with one from the backup pool. A good practice is to keep around 50 percent of your installed capacity as backup mailboxes, because you need to be ready to swap. Once you use a backup, you need to buy a new one to refill the pool.

Claude Code handles replacements through the same MCP connection. If I need new mailboxes with dedicated IPs, I ask it to provision them via Infraforge. If I need Google Workspace or Microsoft 365 mailboxes, the Primeforge tools handle domain purchase and mailbox creation. And for distributed shared-IP infrastructure at scale, the Mailforge tools work the same way.

Once new mailboxes are live, I monitor warmup through Warmforge. The MCP exposes warmup stats and placement tests, so Claude Code can check heat scores and tell me when a mailbox is ready to send. I keep mailboxes warming for at least two weeks before they enter any live campaign.

What used to take hours every Monday morning now takes a few minutes of conversation.

Campaign Creation: How Do I Go From Research to Live Sequence?

Creating good campaigns starts with deep research. Not generic research. Real context about the company, the ICP, and what messaging has already worked.

Here's what I feed Claude Code before it writes a single word:

• Past emails that actually got positive replies

• Past email threads, including negotiations, objections, and conversations with customers

• Services documentation, pricing, and value propositions

• A detailed overview of the ICP and their specific pain points

• How I solve those pain points

• A list of CTAs and lead magnets that can be used in the messaging

The more context you give it, the better the output. This is the difference between Claude Code and just asking any AI tool to "write me a cold email." Claude Code has your entire second brain. It knows what works, what doesn't, and why.

But context alone isn't enough. You also need rules. For every campaign, Claude Code should follow specific guidelines:

For email:

• Keep messages short and structured

• Avoid spam trigger words that hurt deliverability

• No links in the email body

• No email signatures with images or links

For LinkedIn:

• Keep messages even shorter and more conversational

• Ask questions instead of pitching

• Never try to sell in the first message

These rules matter because what works on email does not work on LinkedIn. The channels are fundamentally different, and your messaging needs to reflect that.

A good practice is to keep sequences short, usually two messages. Bombarding people with follow-ups is not only annoying, it increases the risk of landing in spam, and that kills deliverability. Two well-crafted messages with the right context beat five generic follow-ups every time.

Once Claude Code has generated different campaign ideas with strong messages, I push them straight into Salesforge through the MCP. It creates the sequence, adds the steps, assigns mailboxes, sets the schedule, and activates. From research to live campaign without touching the UI.

Campaign Performance: How Does Weekly Analysis Actually Work?

This is the part that changes everything.

Every week, Claude Code pulls the stats across all campaigns: how many contacts were added, which campaigns are running, reply rates, open rates. But the real value isn't in the numbers. It's in analyzing the actual messages that are working.

Here's what the weekly analysis looks like:

• Identify top-performing campaigns. Which ones are getting the most replies.

• Pull the actual messages. Not just the metrics, but the email copy and LinkedIn messages that people are responding to.

• Break down the patterns: which CTAs convert, which opening lines work, which lead magnets get engagement, which pain points resonate, whether shorter or longer messages perform better.

• Map performance to ICP segments. Know exactly which audience responds to which messaging.

This is where it gets interesting. Once I know what's working, I can start testing systematically.

For example, if a message is performing well with one ICP, I test the same message with a different ICP. Did it still work? Then the messaging is strong. Did it drop? Then it was the ICP that made the difference, not the message.

I can also do it the other way: take an ICP that's responding well and test completely different messaging. If they still respond, that segment is just ready to buy, and I can optimize the message further.

Some real insights that came out of this process:

• On LinkedIn, being purely conversational outperforms any sales pitch. Just start with one question. Be short. Don't try to sell anything in the first message. If the conversation develops naturally, then you can talk about how you can help.

• Lead magnet placement matters. Sometimes saving the lead magnet for the second email works. But leading with the lead magnet right away ("Hey, I built this and I think it's a great fit for you, given your situation") can outperform the slow reveal. You wouldn't know this without testing both approaches systematically.

• Shorter emails consistently win. Not always, but often enough that it should be your default.

The ideal weekly report is simple: here are the messages that are working, here's what they have in common, here's what to test next week. That's it. Clear hypotheses based on real data, not gut feeling.

LinkedIn Outreach: Why Is It a Different Game?

LinkedIn is its own channel with its own rules. Here's the approach that works:

Connection requests should be blank. No note. The first real message is a DM after they accept.

From there, it's a two-step sequence:

• First DM. Short, conversational, one question. If you have good research or triggers on the person, include them. If not, keep it general. The goal is to start a conversation, not to pitch.

• Follow-up. Still short. Still a question. Add a bit more context or value, but don't switch to sales mode.

LinkedIn messages and email messages are not the same thing. What works in email will not work on LinkedIn. The platform is more personal, more conversational. People can see your profile, your posts, your activity. The message needs to match that context. Salesforge handles both email and LinkedIn outreach from one platform, so I can manage the full multi-channel workflow through a single API.

Claude Code understands this distinction when I give it clear rules for each channel, along with examples of what actually works on each one. It doesn't just swap the channel name and keep the same copy. It genuinely adapts the tone and structure.

What Capabilities Does Claude Code Need From Your Outreach Platform?

This whole approach is only possible because the Forge MCP Server exposes the right tools. Without programmatic access to mailbox data, sequence management, contact lists, and analytics, you are stuck doing everything through the UI.

Here is what the MCP needs to expose for this workflow to work:

MCP Tool Category What Claude Code Can Do
Mailbox management List all mailboxes, check status, and view performance metrics.
Sequence management Create sequences, define steps, assign mailboxes, set schedules, and activate or pause campaigns.
Contact management Create contacts, bulk import lists, assign contacts to sequences, and manage do-not-contact lists.
Analytics Pull campaign metrics, reply rates, and open rates across custom date ranges.
Thread access Read conversation threads and individual messages to review what is working.
Webhooks Get real-time notifications for replies, bounces, and other activity.

Which Forge Products Are Available Through the MCP?

The Forge Stack covers all of this through one endpoint. Here is what each product exposes as MCP tools:

Forge Product Tools Exposed Through the Forge MCP Server
Salesforge Workspaces, contacts, sequences, mailboxes, sender profiles, enrollments, webhooks, email validation, and do-not-contact lists.
Infraforge Workspaces, domains, mailboxes, DNS, domain availability, and credits.
Primeforge Workspaces, domains, mailboxes, DNS management, and prewarmed mailboxes.
Mailforge Workspaces, domains, mailboxes, DNS, and domain availability.
Warmforge Mailboxes, warmup stats, and placement tests.
Leadsforge Contact search, email, phone, and LinkedIn enrichment, plus lookalike search.

I run the core workflow through the Salesforge tools because it is the central hub. For infrastructure, I use the Infraforge, Primeforge, and Mailforge tools to provision mailboxes on demand. Warmforge handles warmup monitoring. And for lead data, the Leadsforge tools give me access to 500M+ contacts with waterfall enrichment.

How Do I Connect Claude Code to the Forge MCP Server?

Step 1: Generate Your API Keys

Log into each Forge product you use and generate an API key under Settings > API. You only need keys for products you actually use. Anything you skip will simply not appear as tools.

Step 2: Configure Claude Desktop or Claude Code

For Claude Desktop, open Settings > Developer > Edit Config and paste this block into claude_desktop_config.json:

{

  "mcpServers": {

    "salesforge": {

      "command": "npx",

      "args": [

        "-y",

        "mcp-remote",

        "https://mcp.salesforge.ai/mcp",

        "--header",

        "X-Salesforge-Key:YOUR_SALESFORGE_API_KEY",

        "--header",

        "X-Primeforge-Key:YOUR_PRIMEFORGE_API_KEY",

        "--header",

        "X-Leadsforge-Key:YOUR_LEADSFORGE_API_KEY",

        "--header",

        "X-Infraforge-Key:YOUR_INFRAFORGE_API_KEY",

        "--header",

        "X-Warmforge-Key:YOUR_WARMFORGE_API_KEY",

        "--header",

        "X-Mailforge-Key:YOUR_MAILFORGE_API_KEY"

      ]

    }

  }

}

Replace each placeholder with your real API key. Delete any header line for a product you do not use. Save the file and restart Claude Desktop.

For Claude Code, run this single command in your terminal:

claude mcp add salesforge \

  --transport streamable-http \

  --url https://mcp.salesforge.ai/mcp \

  --header "X-Salesforge-Key: YOUR_SALESFORGE_API_KEY" \

  --header "X-Primeforge-Key: YOUR_PRIMEFORGE_API_KEY" \

  --header "X-Leadsforge-Key: YOUR_LEADSFORGE_API_KEY" \

  --header "X-Infraforge-Key: YOUR_INFRAFORGE_API_KEY" \

  --header "X-Warmforge-Key: YOUR_WARMFORGE_API_KEY" \

  --header "X-Mailforge-Key: YOUR_MAILFORGE_API_KEY"

That is it. After restart, try asking your AI assistant to list your Salesforge workspaces, show your Primeforge domains, or check your Warmforge warmup stats. If the connection is working, you will see data from your account immediately.

Step 3 (Optional): Managing Multiple Clients

If you run an agency and manage separate accounts for each client, you can run multiple MCP instances side by side. Each one gets its own name and its own set of API keys:

{

  "mcpServers": {

    "salesforge-client-a": {

      "command": "npx",

      "args": [

        "-y",

        "mcp-remote",

        "https://mcp.salesforge.ai/mcp",

        "--header",

        "X-Salesforge-Key:CLIENT_A_SALESFORGE_KEY",

        "--header",

        "X-Primeforge-Key:CLIENT_A_PRIMEFORGE_KEY"

      ]

    },

    "salesforge-client-b": {

      "command": "npx",

      "args": [

        "-y",

        "mcp-remote",

        "https://mcp.salesforge.ai/mcp",

        "--header",

        "X-Salesforge-Key:CLIENT_B_SALESFORGE_KEY",

        "--header",

        "X-Primeforge-Key:CLIENT_B_PRIMEFORGE_KEY"

      ]

    }

  }

}

In your prompts, just tell Claude Code which client you want to act on. It will pick the right tools from the right instance automatically. This is how I handle my own agency workflow across multiple accounts without mixing data.

What Is the Real Payoff?

The biggest change is not just saving time, although that matters. It is surfacing insights that you miss when you do things manually.

When Claude Code pulls all the data, analyzes the messages, and shows you the patterns, you see things you would have missed. Which ICP responds to which pain point. Which CTA converts in which context. Which message structure gets replies consistently.

If you are still doing this manually, checking mailboxes one by one, writing every message from scratch, eyeballing your campaign dashboards, you are not just slower. You are missing data that would make your campaigns measurably better.

Give Claude Code access to the Forge MCP Server. Hand it your best-performing messages as context. Let it run the scripts, pull the data, and analyze your campaigns weekly. You will create campaigns faster, catch underperforming mailboxes before they hurt you, and actually understand what is driving your replies.

FAQs

What is the Forge MCP Server?

The Forge MCP Server is a single endpoint that connects the entire Salesforge product suite to any AI assistant supporting the Model Context Protocol. Claude Desktop, Claude Code, Cursor, and Windsurf can all use it. It exposes Salesforge, Infraforge, Primeforge, Mailforge, Warmforge, and Leadsforge as native tools, so you can manage your outreach workflow through natural conversation.

Which Forge products does the MCP Server support?

All six Forge products through a single endpoint at https://mcp.salesforge.ai/mcp. You only provide API keys for the products you actually use. Tools for unconfigured products will not appear in your AI assistant.

Do I need coding skills to set this up?

Basic familiarity with the terminal helps, but you do not need to be a developer. The setup is a single config block with your API keys, and after that you describe what you want in plain English. Claude Code picks the right MCP tool to execute it.

How many mailboxes should I keep as backups?

About 50 percent of your installed capacity. If you are running 60 active mailboxes, keep 30 warmed-up backups ready to swap in. When a mailbox gets flagged for low performance, you pause it and replace it immediately so your campaigns do not lose momentum.

Can Claude Code handle both email and LinkedIn outreach?

Yes. Salesforge handles email and LinkedIn from one platform, and the Forge MCP Server exposes both channels as tools. Claude Code can manage the full multi-channel workflow through a single connection.

How often should I run the mailbox health check?

Weekly at minimum. Every Monday morning is a good rhythm. You are checking reply rates per mailbox, flagging anything below 1 percent, and catching zero-reply mailboxes before they damage your sender reputation. The earlier you catch a problem, the less damage it does to your infrastructure.