72bpm-leadgen-mcp-server

72bpm-leadgen-mcp-server

An MCP server that turns discovery → enrichment → scoring → outreach into callable tools, scoped to 72BPM's four practice areas.

Category
访问服务器

README

72BPM Lead-Gen MCP Server

An MCP server that turns discovery → enrichment → scoring → outreach into callable tools, scoped to 72BPM's four practice areas:

  • SaaS Product Development
  • E-mobility (EV) Applications & Infrastructure
  • IoT Platforms
  • AI Agent Creation

Why no LinkedIn API/scraper?

LinkedIn's Terms of Service prohibit automated scraping, and LinkedIn actively detects and blocks it — both technically (rate limits, IP bans) and legally. Rather than build something that breaks on day one and creates legal exposure, this server:

  • Crawls companies' own public websites directly (careers pages, blog posts, about pages) — fully fair game, standard practice.
  • Uses a real search engine (Brave Search API) to read back publicly indexed snippets — including of LinkedIn company/people pages — the same way a human researcher googling site:linkedin.com/company acme would. This is a search-engine query, not a scrape of linkedin.com itself.
  • Reads public job postings the same way.

If your team later gets access to LinkedIn's official Talent/Sales Navigator API (via their Partner Program) or a compliant data provider, swap src/services/searchProvider.ts — every tool depends only on that one file's webSearch() function.

Tools

Tool Purpose
leadgen_discover_companies Search-based candidate discovery for one category + region
leadgen_enrich_company Crawl a company's site + indexed LinkedIn/job signal, matched against all 4 categories
leadgen_score_lead Weighted 0-100 fit score + tier (hot/warm/cold) + confidence for one category
leadgen_find_contact Search-based candidate engineering contact (CTO/VP Eng/etc.) — unverified, always double-check before outreach
leadgen_generate_pitch Drafts 2 outreach email variants using the value-lead framework
leadgen_save_lead / leadgen_list_leads / leadgen_update_lead Simple pipeline tracking (JSON file by default)

Typical workflow: discover → enrich → score → find_contact → generate_pitch → save_lead, then update_lead as deals progress.

Setup

npm install
cp .env.example .env
# edit .env and set BRAVE_API_KEY (free tier: https://brave.com/search/api/)
npm run build

Run locally (stdio) — for Claude Desktop / Claude Code

npm start

Add to your Claude Desktop / Claude Code MCP config:

{
  "mcpServers": {
    "72bpm-leadgen": {
      "command": "node",
      "args": ["/absolute/path/to/72bpm-leadgen-mcp-server/dist/index.js"],
      "env": {
        "BRAVE_API_KEY": "your-key-here"
      }
    }
  }
}

Run as a hosted server (streamable HTTP) — for team-wide access

TRANSPORT=http PORT=3000 npm start
# or: npm run start:http

Exposes POST /mcp (the MCP endpoint) and GET /health. Point your team's MCP clients at https://your-host/mcp. Deploy behind your normal reverse proxy/TLS termination — this server does not handle auth itself, so put it behind your existing auth layer if exposing it beyond your VPN.

Customizing the ICP signals

src/constants.ts holds the weighted signal dictionary per category (ICP_SIGNALS). These are the phrases the scoring engine looks for and how many points each is worth. Tune them as you learn what actually converts — e.g. if "battery swapping" mentions never turn into real deals, drop its weight; if a new signal phrase keeps showing up in your best deals, add it.

Tier thresholds (tierFromScore) and confidence thresholds (confidenceFromSourceCount) live in the same file.

Customizing outreach voice

src/tools/pitch.ts has one AUTHORITY_LINES entry per category — the "parallel domain authority" sentence 72BPM's pitches lean on. Edit these to match your team's actual case studies as they accumulate; specific, verifiable claims outperform generic ones.

Known limitations (by design, not oversights)

  • No paid enrichment APIs (Apollo/Clearbit/Crunchbase/BuiltWith) — you said you don't have those yet. The signal quality here is real but bounded by what's publicly crawlable. If you add API keys later, this is the natural next upgrade — add a new services/ client and feed its text into matchSignals() alongside the site crawl.
  • Contact finding is unverified — leadgen_find_contact parses search snippet text, which is sometimes ambiguous. It's a research shortcut, not a verified contact database. Always confirm before sending outreach.
  • Pipeline storage is a JSON file — fine for one person or a small team running the stdio server locally. For the hosted HTTP deployment with multiple concurrent users, swap src/services/storage.ts for a real database (Postgres/SQLite) — every other tool only depends on the four functions that file exports.
  • Brave Search rate limits apply — the free tier is fine for exploration but will need a paid tier for high-volume prospecting.

Project structure

src/
├── index.ts              # Entry point, dual transport (stdio/HTTP)
├── constants.ts           # ICP signal weights, category labels, thresholds
├── types.ts                # Shared TypeScript types
├── services/
│   ├── searchProvider.ts   # Brave Search API wrapper (swap for another provider here)
│   ├── webCrawler.ts        # Company-site crawler (robots.txt-aware)
│   ├── companyIntel.ts       # Combines crawl + search into cached text bundles
│   ├── scoring.ts             # Weighted signal matching + scoring
│   └── storage.ts              # JSON-file lead pipeline (swap for a DB for hosted use)
└── tools/
    ├── discover.ts
    ├── enrich.ts
    ├── score.ts
    ├── contact.ts
    ├── pitch.ts
    └── pipeline.ts

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选