Tutorial 10 min read ← All posts

Enrich 25,000 Leads
in One Claude Conversation.

No spreadsheet. No Clay table. No SQL. No Python script. Just a chat with Claude Desktop and a CSV in your downloads folder five minutes later.

If you've never used the Model Context Protocol (MCP) before, this is the wedge demo. Once you see it work, you don't go back to building enrichment tables.

Setup: 60 seconds

You need two things: a Claude Desktop install (free) and an AgentEnrich API key (7-day free trial on Builder, no card).

Step 1: Install Claude Desktop

Download from claude.ai/download. Sign in with your Anthropic account.

Step 2: Add the AgentEnrich MCP server to your config

Open Claude Desktop's settings. Find the MCP servers config (Settings → Developer → Edit Config). Add:

claude_desktop_config.json
{
  "mcpServers": {
    "agentenrich": {
      "command": "npx",
      "args": ["-y", "@agentenrich/mcp"],
      "env": {
        "AGENTENRICH_API_KEY": "ae_live_..."
      }
    }
  }
}

Step 3: Restart Claude Desktop

You'll see "agentenrich" in the tools panel. 12 tools available: enrich_person, enrich_company, find_email, find_phone, find_decision_maker, buying_committee, prospect_package, congrats_trigger, job_change_radar, funding_radar, sales_deck_bundle, recruiter_pack_bundle. Plus search and combo endpoints accessible via tool calls.

Total setup time: 60 seconds if your config file is already there. 3 minutes if you're configuring MCP for the first time.

The prompt that does it all

Type this into Claude Desktop and hit enter:

Build me a list of 25,000 VPs of Marketing at US-based B2B SaaS companies with 50-500 employees. I want fullName, title, company name, company domain, LinkedIn URL, and verified work email. Return as CSV. Save it to ~/Downloads/vp-marketing-saas.csv.

That's the whole prompt. No code, no SQL, no API call by hand. Hit enter and walk away for 5 minutes.

What Claude actually does (under the hood)

Three things happen sequentially:

Call 1: search/people

Claude's first tool call
POST /v1/search/people
{
  "titles": ["VP of Marketing", "VP Marketing", "Vice President of Marketing"],
  "seniority": ["vp"],
  "departments": ["marketing"],
  "industries": ["b2b_software", "saas"],
  "employeeMin": 50, "employeeMax": 500,
  "locations": ["United States"],
  "limit": 25000
}
// Returns 25,000 matched profiles in 3-5 seconds.
// Cost: 1 base + 1 per resolved = 25,001 credits.

Claude maps your natural-language filters ("VPs of Marketing", "B2B SaaS", "50-500 employees", "US") to the structured search parameters. The MCP tool descriptions tell Claude what each parameter accepts. Claude infers the right enums (department: "marketing", seniority: "vp") without you specifying them.

Call 2: find-email (batched)

Optional. If you ask for verified emails, Claude loops POST /v1/find-email against each LinkedIn URL in the result set. 25,000 emails × 2 credits = 50,000 credits. At 650 cr/min burst on Pro, that's ~77 minutes wall time.

Most teams skip this step in the conversation and run it as a follow-up bulk-async job (see Scaling section below). For a fast preview, ask Claude for only the first 1,000 with emails. That's 2,001 credits and completes in 90 seconds.

Call 3: CSV formatting + filesystem write

If you have the official filesystem MCP installed (separate from AgentEnrich's), Claude calls it to write vp-marketing-saas.csv to your Downloads folder. Otherwise Claude returns the CSV inline in chat and you copy-paste.

Cost vs Clay, Apollo, ZoomInfo for the same 25k

MethodCostTimeMaintenance
ZoomInfo SaaS UI export$30k+/yr contract3-4 weeks (procurement)contract renewal annually
Apollo Pro plan UI export$59/mo per seat, 10k credits~30 minutes (3 exports)per-seat fees, credit packs
Clay 25k-row table$149-$299/mo Clay + ~$1,200 in vendor credits2-3 hours (build + run)row failure debugging weekly
Claude Desktop + AgentEnrich$97/mo Pro (~25k credits = 19% of pool)5 minutesnone

The shocker is the time column. Claude does in 5 minutes what Clay does in 2 hours and ZoomInfo does in 3 weeks.

Variations: different ICPs, different fields

Variation 1: SMB / local business owners

Find me 5,000 HVAC company owners in Florida with mobile phones. CSV with owner name, business name, city, mobile phone, email.

Claude routes to /v1/local-business-owners instead of /v1/search/people. our local-business index handles this. Cost: ~15,000 credits (3 per resolved).

Variation 2: Funded companies with decision makers

Find every Series A SaaS company funded in the last 60 days. For each, give me the VP of Engineering with verified email and LinkedIn.

Claude calls /v1/funding-radar which returns the funded company + decision maker in one call. Cost: ~150-450 credits depending on result count (3 per resolved).

Variation 3: Buying committee for an account

Map the data-infrastructure buying committee at Stripe. Want CTO, VP Eng, Head of Data, and Lead Data Engineer. Each with email and LinkedIn.

Claude calls /v1/buying-committee. Returns 5-15 people across decision/influencer/user roles. Cost: 3 credits per resolved person = ~15-45 credits for one company.

Variation 4: Watch list with daily updates

Track these 500 companies. Whenever any of them announces funding, makes a senior hire, or any current employee changes jobs, email me a digest.

Claude calls POST /v1/watch-lists to create the list, then POST /v1/watch-lists/:id/run on a cron. Webhook delivers events to your inbox. Cost: free to create, 2 credits per matched event.

Saving to CSV (with filesystem MCP)

The official MCP filesystem server lets Claude read and write to specific paths you whitelist. Install it alongside AgentEnrich:

claude_desktop_config.json
{
  "mcpServers": {
    "agentenrich": {
      "command": "npx",
      "args": ["-y", "@agentenrich/mcp"],
      "env": { "AGENTENRICH_API_KEY": "ae_live_..." }
    },
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/you/Downloads"]
    }
  }
}

Now Claude can write directly to your Downloads folder. Prompt explicitly: "Save as vp-marketing-saas.csv."

Security note: the filesystem MCP only accesses the directory you whitelist. Don't whitelist your entire home directory. Use a dedicated ~/Downloads or ~/agentenrich-csv folder. Claude can read/write inside the whitelist; anything outside is blocked at the MCP layer.

Scaling: from 25k to 250k

25,000 in one call works. 250,000 needs batching.

Option A: Bulk async

Use POST /v1/bulk/enrich with up to 500 LinkedIn URLs per job. Returns a job ID instantly. Webhook delivers results when complete. Use this when:

Option B: Loop with rate-limit respect

If you're doing 250,000 simple searches (not enrichments), loop the search endpoint with page numbers. Pro tier ships 650 cr/min burst = ~10 batches of 25k per hour. Whole job runs in under 12 hours.

Option C: Upgrade to Agency

Agency tier ships 2,500 cr/min burst and 550k credits/mo. A 250k full-enrichment batch fits in one month's pool with headroom. Run it in a 5-hour cron.

When to use Claude Desktop vs the API directly

Use Claude Desktop whenUse the API directly when
One-off pulls (weekly, ad-hoc)Production workflows running daily on cron
Exploring ICP filtersYou know the exact filters
Want to chain with other MCPs (filesystem, Slack, CRM)Stack is purely server-side
Prefer natural-language interfacePrefer programmatic control
Building a personal workflowBuilding infrastructure for a team

Most teams use both. Claude Desktop for the exploration and one-offs. Direct API + cron for the daily production jobs. Same data layer underneath.


FAQ

Can Claude really do this in one conversation?

Yes. The MCP server exposes the search and enrichment endpoints as tools. Claude reasons over the tool descriptions and calls the right ones. limit: 25000 is supported in a single /v1/search/people call. Returns in 3-5 seconds.

How many credits does 25,000 rows cost?

Just the search: ~25,001 credits (1 base + 1 per resolved). With verified emails: ~50,000 additional credits. With mobile phones: ~300,000 additional credits. Most teams skip phones at scale.

What's the alternative cost in Clay?

$1,200-2,500 in vendor credits + Clay seat fees + 2-3 hours of build/debug time. See our Clay user post for the full migration math.

Can I save the output as CSV directly?

Yes, with the official filesystem MCP installed alongside @agentenrich/mcp. Prompt: "Save as filename.csv to ~/Downloads."

Will Claude hit rate limits?

The single search call won't. If you ask Claude to follow up with find-email on each of 25k rows, that's 25k API calls and Claude will respect the 650 cr/min burst on Pro (which translates to ~325 emails/min at 2 cr each). For high-volume enrichment loops, use the bulk async endpoint instead.

What if the search returns less than 25,000 results?

You're charged only for resolved results, not the limit. If your filters return 8,000 matches, you pay 8,001 credits. Unresolved or partial queries are not charged.

Does this work with Cursor or Windsurf?

Yes. Same MCP server config. Cursor and Windsurf both support MCP. The Claude Desktop install path is the most common, but the underlying capability is identical across MCP-aware editors.

Try it in your next Claude conversation.

Builder tier $49/mo with a 7-day free trial. Install the MCP, run your first prompt in under 5 minutes.

Get a key See live demos

← All posts  ·  Read: How to build an AI SDR agent in 60 lines →