AI Email Prospecting

Why AI Email Prospecting Fails Without MCP Tools

Paste 40 names and company domains into a chat assistant and ask for their work emails. You’ll get 40 back, neatly formatted, usually in firstname.lastname style. Not one blank cell.

That perfect score should worry you. A language model with no tools can’t look anything up. It predicts what an address probably looks like, and it does so in the same calm tone whether it’s right or wrong. Connect a real lookup, such as Scrupp’s email finder MCP server for Claude, and the table gets emptier. On the company’s own numbers, roughly a third of rows come back with an address. That emptier table is the more useful one.

So What Does MCP Actually Plug In?

Anthropic open-sourced the Model Context Protocol (MCP) in late 2024. It’s a standard way to hand an AI assistant tools. An MCP server exposes a set of functions in a format clients understand. The client discovers those tools, and the model decides when to call them based on what you ask. Clients include Claude.ai, Claude Desktop, Claude Code, Cursor, and Windsurf.

The practical change is where the work happens. You no longer describe a task to the assistant and then go do it in another tab. The assistant runs the tool, the result lands back in the chat, and it keeps working with it: sorting, summarising, turning rows into a table.

Servers usually arrive in one of two ways:

  • Hosted: added as a remote connector with a URL and a sign-in.
  • Local: run on your own machine, often as an npm package started with one npx command, reading an API key from a config file.

An official MCP registry also lists published servers, so you can check what something is before you connect it.

Developers met MCP first inside code editors. Sales and marketing teams are now pointing it at one of their most tedious jobs: building and cleaning prospect lists.

The 100% Problem

Prospect research is a chain of small lookups. Who runs sales here? What’s their work email? Is that address safe to send to? Each step takes a minute, and forty names eat an afternoon. An assistant is good at running exactly this kind of chain, provided each step is a real lookup rather than a recollection.

Here’s how it goes wrong. Picture a made-up SDR, Priya, who asks a tool-less assistant for emails at a company that uses first-initial-plus-surname addresses. Every guess follows the firstname.lastname pattern, so every one bounces. Her sequencer sends to all of them anyway, and her sending domain takes the hit for a list that looked complete.

The model didn’t malfunction. It did what language models do and produced the most plausible text. An email finder flips that incentive because it’s allowed to come back empty, and an empty result is information. A blank cell tells Priya to find another route to that person. A wrong address tells her nothing until it bounces.

What a Real Lookup Looks Like in the Chat

Scrupp’s server shows how this works in practice:

  • Claude.ai or Claude Desktop: open Settings, then Connectors, choose Add custom connector, paste the server URL and sign in. There’s no API key to copy.
  • Cursor, Windsurf and other clients: run the server locally with npx -y scrupp-mcp-server and put a Scrupp API key in the config.
  • Claude Code: add it with a one-line claude mcp add command.

Once it’s connected, requests stay in plain English:

  • “Find the work email of Jane Cooper at acme.com.”
  • “Here are 40 names with company domains. Find their emails and give me a table.”
  • “Check these five addresses before I send.”

The assistant calls the find or verify tool, waits for longer jobs, and reports back. Job status and credit balance are exposed as tools too, so the assistant can tell you what’s left without you opening a dashboard. The server has no tool for sending email or messaging anyone on LinkedIn. Sending stays in whatever sequencer you already use.

Now the numbers, which are company-reported. Across all its exports, Scrupp says a work email comes back for 36.3% of rows, and 10.0% of rows are confirmed by an accepted delivery. The company also says the share varies from list to list and suggests testing on your own data first. Lookups are charged only when an email is found. Verifying an address costs one credit, and the free plan includes 100 credits a month.

Read those two figures together. “Found” and “confirmed” are different claims, and an honest tool reports both. The assistant on its own “finds” 100% and confirms nothing.

Garbage In, Guesses Out

A lookup tool can only be as good as the row you hand it. Many prospect lists start life in LinkedIn Sales Navigator, and Sales Navigator links have a habit of breaking downstream.

A lead link looks like linkedin.com/sales/lead/ACwAAA… and only opens for people with a Sales Navigator seat. That’s a problem for a CRM, an enrichment tool, or a teammate without a licence. The segment starting with ACw is the person’s member ID. Put it after linkedin.com/in/ and you have a regular profile link that opens for anyone signed in to LinkedIn.

A free Sales Navigator URL converter does this for up to 1,000 links at a time. It runs in the browser and doesn’t upload your list. If the links already sit in Google Sheets or Excel, a spreadsheet formula does the same swap. One quirk: the converted link shows the member ID, not the person’s name. LinkedIn switches to the public name once the page loads.

It’s a small fix, but it belongs to a bigger pattern. An assistant fed half-broken rows won’t flag what’s missing. It fills the gaps, confidently. The same capture gap undermines AI-ready CRM data: nobody can enrich a field that was never captured, and no model should be inventing it. Give the tool clean inputs (a name, a company domain, a working profile URL), and the lookups become more reliable.

Before You Connect Anything

Plugging tools into an assistant gives it real reach. A few habits keep that reach sensible:

HabitWhat to checkWhy it matters
Check the sourceIs the server in the official registry, and does the listing trace back to the vendor?Anyone can publish an MCP server
Read the billingCharged per attempt or per result? Can the assistant read the balance?Bulk lookups add up fast
Verify before sendingRun found addresses through a deliverability checkA found email isn’t a confirmed one
Scope the accessGive the connector only the tools the job needsAgents use whatever access they hold
Respect data rulesCollect only what outreach needs and make opting out easyGDPR, PECR and CAN-SPAM differ by market

Access deserves more attention than it usually gets. An assistant with a connected tool will use it wherever your instructions lead. Learn how to limit what agents can reach before you wire in a third or fourth server.

Scrupp’s own setup is a useful model here. One connector URL exposes only the email tools. A separate URL unlocks the full set, including LinkedIn search exports.

Rules on cold B2B email vary by country and change over time. Check the regulations for every market you’re emailing before a list goes into a sequence.

Where This Leaves Your Prospecting Stack

MCP moves research, lookup, and clean-up into the same conversation where you plan the campaign, with the assistant stitching them together. That means fewer tabs and fewer copy-paste errors.

The bigger shift is in how teams think. A tool that says “not found” two times out of three forces a better question: what do you do about the rows nobody can find? Some teams will try another data source. Others will decide those accounts need a different first touch. Either way, the decision rests on real data instead of a confident guess, and that’s a call your AI was never going to make for you.

Related: AI Reads Your Emails First. Is Your Marketing Ready?

Tags: