prospector
Allows scraping and searching Crunchbase company data through saved searches to build and qualify the lead pipeline.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@prospectorRun the Clutch scrape for our ICP, then hold qualified leads for my approval."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Prospector
A B2B outbound lead pipeline you configure to your own ICP: Clutch and Crunchbase scraping, Apify intent signals, Clay enrichment over MCP, disqualifying gates, and a human approval step before any lead ships.
Install as an augment
Hand any agent the repo URL and say install, or pick a package directly:
Repo-link door:
https://github.com/gabchess/prospectorplus "read START-HERE.md and install". One document covers both hosts.Codex tree: codex/prospector/, the skill your agent host loads. Guide: docs/INSTALL-CODEX.md.
Claude zip: claude/prospector-v0.2.0.zip, the same skill as a single-root archive. Guide: docs/INSTALL-CLAUDE.md.
The skill packages are the door; the engine (src/) lives in this repo and is
not bundled in either. A skill-only install gives your agent guidance and the
exact commands. The scrapers need a clone.
Related MCP server: SignalPipe
How it works
Step | Where | What it does |
ICP |
| Your customer profile as zod schemas: the company gate and the shape of a shipped lead |
Scrape 1 |
| Playwright over Clutch category listings, with a null-rate check before it writes anything |
Scrape 2 |
| Playwright over a logged-in Crunchbase saved search, 2s between requests, stops on CAPTCHA |
Normalize |
| Merges both sources, normalizes domains, applies the geo and headcount gates, dedupes by domain |
Signals | Apify actors | LinkedIn jobs and posts as the intent signal, needs |
Enrich | Clay | Decision maker, sales owner, and work email through Clay's MCP server |
Finalize |
| Joins the Clay export, runs the MX check, drops non-sales titles, ranks by tier, validates every row |
Serve |
| Exposes the pipeline as an MCP server with four tools |
Qualify |
| A ReAct loop that scores each lead against the ICP and stops at a human approval gate |
Configure it for your company
Everything that makes this pipeline yours lives in three places:
Your ICP, in
src/icp.ts. Zod schemas you edit directly:CountrySchema(geo), the headcount.min()/.max()onCompanySchema(size band),arr_estimate_usdbounds (revenue ceiling),CompanyTypeSchema(service categories). The test suite parses every gate, so a typo fails atpnpm test, not mid-scrape.Gate thresholds. The approval score floor lives in
src/agent/qualify.ts; leads below it are auto-rejected, leads at or above it wait for a human.Your keys.
APIFY_TOKENin.env(copy.env.example).
What you need:
An Apify token for the signal step.
A Clay seat, with Clay's MCP server configured in your agent host. Without it you still get scraped and filtered companies; you lose the contact columns.
Optional: a Crunchbase login, saved once as
.crunchbase.storageState.json, for the second source. Clutch alone works.
What it costs:
About $4 in Apify credit per run. Scraping and filtering cost $0.
About 15 minutes to first leads: run
/onboardin Claude Code and it walks your ICP into the gates, your key into.env, and the run order. Manual version: .claude/skills/onboard/SKILL.md.
The gates disqualify, not score
Dead site, info@ only, nobody who owns sales. A row that trips one is out, and the row says which gate killed it. A binary gate can be debugged; a weighted score cannot. No lead is marked qualified without a person saying so.
Precision doctrine
The rule the gates enforce: a vague spec makes a clean-running workflow ship garbage. "Find the email" is vague; "verified work email only, unverified gets flagged, never auto-sent" is precise, and every precise version already exists as code. The full mapping, vague instruction to real file path, plus a self-check for your own ICP edits: codex/prospector/knowledge/precision-doctrine.md.
Docs
Doc | What it answers |
The one door: host, install, dry run, first ask | |
Installing the codex skill tree beside a repo clone | |
Zip route and repo route for Claude hosts, and what the zip does not carry | |
The five-minute fictional dry run and the first-ask ritual | |
Run order, gate reading, and the per-run log | |
One narrated dry run: sample CSV in, gate decisions, approval stop | |
Why lead data never ships and what the approval gate protects | |
What the tests prove, what they do not, and what email_status really means | |
Kill switches, null-rate aborts, Apify, Clay, and Playwright failures | |
Resetting a run, re-entering any stage, and uninstalling | |
Optional send and trigger tools downstream of the export CSV | |
The decisions that stay human, and why each is a feature | |
Which piece runs on which host, with honest evidence levels | |
Where the repo came from and what is fixture data | |
Release history | |
What MIT covers here and what it does not |
Three design calls the first run forced
Measure the source before building on it. A 300-company Crunchbase scrape showed 74% had raised past the revenue ceiling and 7% fit the ICP, so Clutch became the primary source on day one.
Fail loudly or you fail silently. The null-rate check in the Clutch scraper runs before any file write, because an early run reported success while every row was null.
Never claim more than you checked. Emails pass syntax, live DNS MX, and a role-account check, and
email_statusnever saysvalidbecause no SMTP handshake runs. A CAPTCHA ends a Crunchbase run instead of being routed around.
Run
pnpm install
npx playwright install chromium
pnpm test # green before you trust anything
pnpm scrape:clutch
pnpm scrape:crunchbase # optional; needs .crunchbase.storageState.json from a logged-in session
pnpm normalize # writes data/companies.csv
pnpm finalize path/to/clay-export.csv # writes data/leads_final.csv
pnpm mcp # the pipeline as an MCP server
pnpm agent # reads data/companies.csv
pnpm manifests # regenerate release + documentation manifests
pnpm zip # rebuild claude/prospector-v0.2.0.zip from the codex treeDry-run on a fresh clone: cp data/sample-companies.csv data/companies.csv gives
pnpm agent three FICTIONAL rows to chew on before you scrape anything real.
The signal step needs APIFY_TOKEN (copy .env.example to .env). The Clay step
runs through Clay's MCP server, configured in your agent host, not scripted here.
Fresh clone and don't know where to start? START-HERE.md is the one door. Which piece runs on which agent host: HOST-MATRIX.md.
What it will not do
Send email, buy data, solve or bypass a CAPTCHA, mark a lead qualified without a human, or ship anyone's personal data in the repo.
Provenance
Extracted from a production GTM trial run, August 2026: 100 leads, every email
backed by a live DNS MX record, one human approval gate. No lead data ships here:
lead lists are personal data, so you generate your own (see
data/README.md).
License: MIT. LICENSE.md.
This server cannot be deployed
Maintenance
Related MCP Connectors
B2B lead generation, email verification, company enrichment, and agentic GTM Ops.
Human-in-the-loop LinkedIn outreach and a built-in sales CRM for AI agents. Safety-gated, anti-spam.
Autonomous LinkedIn SDR — voice-matched outreach, ICP generation, and campaign management.
- LayrcakeOAuthdev.layrcake
Unified GTM API for AI agents: find, enrich, verify, intent, sending, campaigns, replies. One key.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to automate sales prospecting by finding contacts by role and industry, enriching data with emails and tech stacks, scoring against ideal customer profiles, and generating personalized outreach sequences. Streamlines lead generation and sales engagement workflows through integrated research and sequence generation tools.-
- AlicenseNot gradedqualityBmaintenanceAgentic sales pipeline that detects buying intent from social feeds, scores leads via an AI swarm, and auto-drafts calibrated replies for prospect nurturing.27 npmMIT
- AlicenseBqualityDmaintenanceEnables AI-assisted B2B lead generation by discovering, extracting, scoring, and exporting company leads from any MCP-compatible agent.34 npmMIT
- FlicenseNot gradedqualityBmaintenanceEnables autonomous B2B lead generation by discovering companies, scraping websites for contacts, decoding obfuscated emails, generating email permutations, and verifying email deliverability via MX and SMTP checks.-