← All posts

StormGTM Team

Give your AI agent a lead list it can trust: MCP setup for Claude and Cursor

Connect Claude, Claude Code or Cursor to StormGTM over MCP so your agent finds leads from a website, takes only new ones, and checks every address before it sends.

Lead tools for AI agents, over MCP.

AI agents are good at writing a first email. They are bad at knowing who to send it to, and worse at knowing whether the address will bounce. Give an agent a scraped list and a send tool, and it will happily email every dead address on it.

StormGTM gives agents the missing pieces: a way to find leads from a website, a way to take only the leads it has not seen yet, and a way to check each address before sending. They come as an MCP server, so any agent that speaks the Model Context Protocol (Claude Desktop, Claude Code, Cursor and others) can use them.

What your agent gets

ToolWhat it does
find_leadsFinds people who would buy from a website, the same as Radar in the dashboard.
list_radar_leadsLists your leads. Pass after to get only the ones added since last time.
qualify_radar_leadsChecks leads you already have before sending.
add_leadsAdds leads from somewhere else, such as a CRM export. Free.
check_leadChecks one address, with any context you have about the person.
check_batch, batch_statusChecks a large list in the background.
report_outcomeRecords what happened after a send: delivered, bounced or replied. Free.
creditsShows the remaining balance.

Your agent does not need a mailbox connected to StormGTM. It can take leads out, check them, and send from whatever tools it already uses.

Setup

First, sign in and create an API key under API keys in the dashboard. New accounts start with up to 100 free credits.

Claude Desktop or Cursor

Add the server to your MCP settings file:

json
{
  "mcpServers": {
    "stormgtm": {
      "command": "npx",
      "args": ["-y", "stormgtm-mcp"],
      "env": {
        "STORMGTM_API_KEY": "sgtm_live_...",
        "STORMGTM_API_URL": "https://stormgtm.com"
      }
    }
  }
}

Restart the app, and the StormGTM tools show up in the tool list.

Claude Code

One command:

bash
claude mcp add stormgtm \
  --env STORMGTM_API_KEY=sgtm_live_... \
  -- npx -y stormgtm-mcp

No MCP? Use the CLI

The same tools work from a terminal, which suits agents that run shell commands:

bash
npm install -g stormgtm
stormgtm login
stormgtm radar "acme.io"
stormgtm leads --csv

The rules we recommend agents follow

Agents follow rules well when the rules are short. Put these in your agent's instructions:

  1. Send only when the verdict is deliverable and the address passes your policy.
  2. On risky, get more context first. Add the person's name, company and the page where you found them, and check again with the deep tier, or ask a human.
  3. On undeliverable, never send.
  4. On unknown, try again later. Unknown checks are free.
  5. Report every outcome. Bounces, deliveries and replies all make later checks sharper, and reporting is free.

A daily loop for new leads

The pattern that works best for agents that run every day:

  1. Call find_leads with your website and who you want, for example "founders of small accounting firms in Ohio".
  2. Call list_radar_leads with after set to the string "0" the first time, and hold on to the leads it returns. Do not save the cursor yet.
  3. Call qualify_radar_leads on those new leads and keep the deliverable ones.
  4. Write and send the emails with the agent's own tools.
  5. Call report_outcome for every outcome: delivered, bounced or replied.
  6. Only after steps 3 to 5 are done for those leads, save the nextAfter value from step 2 and pass it the next day, so the agent only ever sees leads it has not handled. If the run stops earlier, keep the previous cursor, so the next run starts with the same leads. Those leads can then be emailed again, so write each address to a sent log as you send it in step 4, and skip any address already in that log.

Because a lead you already have is never charged twice and searches that find nobody are free, running this every day costs only what it finds. A new lead is 1 credit and a fast check is 1 credit. See pricing.

Why not just let the agent search the web?

It can, and it will find addresses. But it will also guess them, pick up recruiters and job boards, and email the same company three times. Radar's rules are built in: every address was seen on a page or in a search result, or confirmed by the company's mail server, each lead says where it came from, named decision makers come before shared inboxes, and there is one lead per company. Read more in How to find B2B leads from your website URL.

And however the agent finds an address, checking it before sending protects the domain the agent sends from. The verification guide explains what each verdict means.

Next steps

  • The full tool and API reference is in the docs.
  • Sign in, create a key, and add the server. Your agent can find and check its first leads in the next few minutes.