MCP server: One MCP server.

B2bleads

@gtovtyaMCP server · External

Search and enrich B2B business leads by industry and city.

Lead generationv1.5.0MITJavaScript
Freeno charge per call

Runs on your machine from its package; the steps are below.

What it does

  1. Reads
  2. Writes
  3. High impact

At most: only reads or looks up information.

What it costs

Free

Odel charges nothing per call. The publisher may charge for its own service.

Runs locally over stdio

This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).

npmb2bleads-mcpv1.5.0

Run

npx -y b2bleads-mcp

MCP client config

{
  "mcpServers": {
    "b2bleads": {
      "command": "npx",
      "args": [
        "-y",
        "b2bleads-mcp"
      ]
    }
  }
}
README4 min read

B2BLeads MCP Server

An MCP (Model Context Protocol) server that gives AI agents — Claude, Cursor, and any other MCP-compatible client — a search_leads tool for real-time B2B company discovery and enrichment.

Ask your agent things like:

"Find construction companies in Munich with a website and phone number."

"Collect 50 IT companies in Berlin rated above 4.0."

"Enrich this lead list with email contacts where available."

...and it calls this tool to return a ready-made list of companies: name, address, phone, website, rating, and email where available.

This server is a thin MCP wrapper around the B2BLeads REST API. You need a B2BLeads account and API key — see Getting an API key below.

Requirements

  • Node.js 18 or later
  • A B2BLeads API key (sign up)

Installation

No install needed — run it directly with npx. Add it to your MCP client's config:

Claude Desktop / Claude Code

Edit your claude_desktop_config.json (or run claude mcp add):

json
{
  "mcpServers": {
    "b2bleads": {
      "command": "npx",
      "args": ["-y", "b2bleads-mcp"],
      "env": {
        "B2BLEADS_API_KEY": "your-api-key-here"
      }
    }
  }
}

Cursor

Add the same block to .cursor/mcp.json in your project (or your global Cursor MCP settings).

Any other MCP client

Point it at the command npx -y b2bleads-mcp with the B2BLEADS_API_KEY environment variable set.

Getting an API key

  1. Create an account at b2bleadsapi.com.
  2. Pick a plan in Billing.
  3. Generate a key under API Keys in the dashboard.
  4. Set it as B2BLEADS_API_KEY in your MCP client config (see above).

Tools

search_leads

Search for companies and business contacts in real time.

ParameterTypeDescription
qstringFree-text query, e.g. "construction companies in Munich".
industrystringOne of the categories from list_industries.
citystringCity or region to search in.
radius_kmnumberSearch radius in kilometers.
min_ratingnumberMinimum rating (0-5).
has_websitebooleanOnly businesses with a website.
verified_onlybooleanOnly businesses with a verified listing.
open_nowbooleanOnly businesses currently open.
price_levelstringbudget | moderate | expensive | luxury
rank_bystringrelevance | distance
limitintegerMax results per call, 1-20.
langstringResult language, BCP-47 tag (e.g. en, pt-BR).
page_tokenstringPagination token from a previous call.
save_to_listbooleanAlso save results into a B2BLeads saved list.
list_idstringExisting saved-list ID to append to.
list_namestringSaved-list name to find-or-create and append to.

At least one of q, industry, or city is required.

search_leads_advanced

⚠️ Elevated cost: consumes 9x the quota of a single search_leads call. Only use this when you need more results than search_leads returned for a specific city, or need to exhaustively cover a city — not as a default or first attempt. Tiles the city into a 3x3 grid of sub-searches server-side to go beyond the normal ~20-60 result ceiling, returning up to ~180 deduplicated businesses in one call. Does not support pagination.

ParameterTypeDescription
qstringFree-text query, e.g. "construction companies". Optional if industry is given.
industrystringOne of the categories from list_industries.
citystringRequired. City or region to search in — must be only the city name (e.g. "Lyon"), not the full search phrase, or the wrong place may be geocoded.
min_ratingnumberMinimum rating (0-5).
has_websitebooleanOnly businesses with a website.
verified_onlybooleanOnly businesses with a verified listing.
open_nowbooleanOnly businesses currently open.
price_levelstringbudget | moderate | expensive | luxury
langstringResult language, BCP-47 tag (e.g. en, pt-BR).

list_industries

Lists the predefined industry categories usable in search_leads's industry filter. Takes no arguments.

list_saved_lists

Lists all of your saved lead lists — id, name, and lead count for each, not the leads themselves. Read-only. Takes no arguments. Use get_saved_list to fetch one list's full leads.

get_saved_list

Gets one saved lead list by ID, with its full set of saved leads. Read-only.

ParameterTypeDescription
list_idstringThe saved list's ID, from list_saved_lists or a search_leads save_to_list response. Required.

find_email

Looks up a best-effort contact email for a single business website (checks the homepage and common contact pages). Use this for one specific website rather than re-running search_leads. Requires any paid plan (Starter and above); may return a null email if none is found.

ParameterTypeDescription
websitestringThe business website URL to look up, e.g. https://example.com. Required.

Configuration

Environment variableRequiredDescription
B2BLEADS_API_KEYYesYour B2BLeads API key.
B2BLEADS_API_URLNoOverride the API base URL. Defaults to https://api.b2bleadsapi.com.

Pricing & rate limits

Each search consumes quota from your B2BLeads plan — see pricing. Rate limits and quota errors are returned by the API and surfaced back to your agent as tool errors.

License

MIT

Similar modules

Browse Lead generation