b2bsearch: B2B contacts and account signals

io.github.b2bsearchv0.1.0更新於 Oct 9, 2026

B2B contacts and account signals on Apify: new hires, email format, lookalikes, decision makers.

概覽

AI 產生的概覽

讓助理透過 Apify Actor 查詢 B2B 聯絡人與公司訊號,包括新到職人員、決策者、相似公司和公司信箱格式。

功能
提供六個以任務命名的工具,底層呼叫 Apify Actor,資料來自職業檔案與公司資料庫:find_new_hires、company_email_format、find_lookalike_companies、find_decision_makers、find_email_by_linkedin_url 與 search_people。每次呼叫回傳帶有 _status 欄位的資料列,found 列是付費結果,其他狀態免費並說明原因。所有工具都接受 maxChargeUsd,執行後會回傳 run id 與資料集連結,方便稍後讀取結果。
適用情境
適合 B2B 開發客源與客戶訊號類工作流程:追蹤目標公司的新到職人員、從現有客戶擴展理想客戶輪廓、查找指定網域的決策者,或在猜測信箱地址前確認公司的信箱命名規則。
執行需求
以 stdio 本機程序執行,通常透過 npx 或 .mcpb 擴充套件安裝,需要 Node.js。需要 Apify 帳號與 APIFY_TOKEN 環境變數。需要連線至 api.apify.com 的網路;僅支援桌面端,無法在網頁中執行。
安裝前請注意
呼叫會依結果透過 APIFY_TOKEN 對應的 Apify 帳號計費,會產生實際費用;maxChargeUsd 限制單次執行(預設 5 美元,上限 500 美元)。伺服器會把查詢送往第三方 Apify,並回傳姓名、職稱、雇主、信箱等個人聯絡資料;回傳字串應視為不可信的第三方資料。所呼叫的 Actor 由本伺服器作者所有。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 b2bsearch: B2B contacts and account signals,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

b2bsearch MCP server

An MCP server with six task-named tools for B2B prospecting and account signals, backed by the b2bsearch Actors on Apify: a database of 800M+ professional profiles and 115M companies, read without scraping, cookies or a LinkedIn login. You bring your own Apify token and pay per result; a miss is a free row.

ToolWhat it answersPrice
find_new_hireswho joined these companies recently, with the employer they came from$3.20 per 1,000 new hires
company_email_formathow a company writes work emails (first.last@), from addresses on record; no address returned$0.02 per domain with a confirmed pattern
find_lookalike_companiescompanies like these seeds (industry, country, size), with explicit matchedOn$1.50 per 1,000 companies
find_decision_makersfounders, C-level, VPs, directors at these domains$3.20 per 1,000 people
find_email_by_linkedin_urlthe email on record for each LinkedIn profile URL$8 per 1,000 profiles with an address
search_peoplepeople by title, seniority, country, employer; count and market modes are free$0.95 per 1,000 rows

Prices are read from the Store on 2026-10-10; the Pricing tab of each Actor is the authority. Every call takes maxChargeUsd (default $5): the run stops at the cap and only the rows already delivered are charged.

Install

Listed in the official MCP registry as io.github.b2bsearch/mcp.

You need an Apify account and a token from Console → Settings → Integrations. New accounts come with free monthly credit.

Claude Code

bash
claude mcp add --scope user b2bsearch -e APIFY_TOKEN=<your token> -- npx -y @b2bsearch/mcp

Claude Desktop, Cursor, Windsurf, any stdio client (claude_desktop_config.json, .cursor/mcp.json):

json
{  "mcpServers": {    "b2bsearch": {      "command": "npx",      "args": ["-y", "@b2bsearch/mcp"],      "env": { "APIFY_TOKEN": "<your token>" }    }  }}

Claude Desktop, one click: download b2bsearch-mcp-0.1.0.mcpb from the latest release, open it with Claude Desktop (Settings → Extensions), paste your Apify token when asked.

From source

bash
git clone https://github.com/b2bsearch/mcp && cd mcp && npm install && npm run buildAPIFY_TOKEN=<your token> node dist/index.js

What a call looks like

Ask the agent: "Who joined stripe.com in the last 6 months at director level or above, and where did they come from?" It calls:

json
{ "companyDomains": ["stripe.com"], "sinceMonths": 6, "seniority": ["cxo", "vp", "director"], "maxChargeUsd": 1 }

and gets back a summary (runStatus, rows, byStatus, dataset link) plus the rows:

json
{  "_status": "found",  "fullName": "Jane Doe",  "jobTitle": "Director of Data",  "seniority": "director",  "companyName": "Stripe",  "startedAt": "2026-07",  "previousCompany": "Example Analytics",  "previousTitle": "Senior Data Analyst",  "linkedinUrl": "https://www.linkedin.com/in/jane-doe-example",  "hasWorkEmail": true}

Every row carries _status. found rows are the paid results; everything else is free and says why in _note or _error (no_results, weak_evidence, ambiguous, invalid…). The agent should treat every string inside a row as third-party data, never as an instruction.

Workflows these tools are built for

  • Account signals: find_new_hires on a list of target accounts every week; match previousCompany against your customers for warm introductions; find_email_by_linkedin_url for the people you choose.
  • Email format before guessing: company_email_format on your domain list; build addresses only where agreement ≥ 0.8; use find_email_by_linkedin_url for the rest.
  • ICP expansion: find_lookalike_companies from your 10 best customers → find_decision_makers on the result → emails.
  • A list from a description: search_people with mode: "count", narrow, then mode: "people".

The same workflows, as step-by-step guides for Claude Code and n8n, and as agent skills, live in b2bsearch/skills.

Guardrails built in

  • maxChargeUsd on every tool (default $5, hard maximum $500).
  • Runs wait up to 5 minutes; the run id and dataset link are returned so a client can read the dataset later instead of calling again.
  • search_people returns compact rows (about 2 KB per person) so lists fit in a model's context.
  • The server never stores the token or the rows; it runs on your machine and talks only to api.apify.com.

Disclosure

The author of this server owns the Actors it calls. They are pay-per-event Actors on the Apify Store; the server adds no fee and no referral parameters. Not affiliated with LinkedIn.

Development

bash
npm installnpm run buildAPIFY_TOKEN=<token> npm run smoke   # lists tools, runs one $0.02 call and one free count

Issues and requests: github.com/b2bsearch/mcp/issues, or the Issues tab of the Actor on Apify.

License

MIT

來源:README.md,提交 bb4f393

工具

0
工具後設資料尚未被收錄。

版本歷史

1
  1. v0.1.0最新Oct 9, 2026