B2BLeads MCP Server
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., "@B2BLeads MCP ServerFind SaaS companies in Austin, TX with websites and email contacts"
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.
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)
Related MCP server: DataLayer MCP
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):
{
"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
Create an account at b2bleadsapi.com.
Pick a plan in Billing.
Generate a key under API Keys in the dashboard.
Set it as
B2BLEADS_API_KEYin your MCP client config (see above).
Tools
search_leads
Search for companies and business contacts in real time.
Parameter | Type | Description |
| string | Free-text query, e.g. |
| string | One of the categories from |
| string | City or region to search in. |
| number | Search radius in kilometers. |
| number | Minimum rating (0-5). |
| boolean | Only businesses with a website. |
| boolean | Only businesses with a verified listing. |
| boolean | Only businesses currently open. |
| string |
|
| string |
|
| integer | Max results per call, 1-20. |
| string | Result language, BCP-47 tag (e.g. |
| string | Pagination token from a previous call. |
| boolean | Also save results into a B2BLeads saved list. |
| string | Existing saved-list ID to append to. |
| string | Saved-list name to find-or-create and append to. |
At least one of q, industry, or city is required.
list_industries
Lists the predefined industry categories usable in search_leads's industry filter. Takes no arguments.
Configuration
Environment variable | Required | Description |
| Yes | Your B2BLeads API key. |
| No | Override the API base URL. Defaults to |
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.
Links
License
MIT
Available Tools
2 toolslist_industriesA
List the predefined industry categories that can be used as the industry filter in search_leads.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden for behavioral disclosure. The verb 'List' implies a non-destructive read, but the description does not explicitly state the safety profile, nor does it mention response format, ordering, localization, or error behavior. It does add the useful fact that the categories are predefined and serve a specific filter purpose, which gives some behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with zero filler. The verb and resource are front-loaded, and the purpose and relationship to search_leads are stated compactly. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, no-output-schema list tool, the description is highly complete. It states what the tool lists, why the values matter, and how they connect to the sibling tool. The only minor omission is any detail about the format or type of the returned entries, but this does not hinder an agent from using the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and schema coverage is 100% (empty schema), so the baseline is 4. The description adds meaning beyond the schema by explaining that the returned values are intended to be used as the `industry` filter in search_leads, which is not evident from the empty schema. This helps the agent understand the semantic value of the output.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('List') and a clear resource ('predefined industry categories'), and immediately ties them to their purpose ('as the `industry` filter in search_leads'). This clearly distinguishes the tool from its sibling, search_leads, by showing it is the source of valid filter values.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool: it says the industry categories 'can be used as the `industry` filter in search_leads.' This implicitly tells the agent to call this tool before or when constructing a search_leads call with an industry filter. It does not explicitly cover when not to use it, but the context is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_leadsA
Search for companies and business contacts in real time by industry, city, and other filters. Returns a ready-to-use list of leads (name, address, phone, website, rating, and email where available). Use this whenever the user asks to find, list, or collect businesses/companies for sales, outreach, or research.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Free-text search query, e.g. "construction companies in Munich". Optional if industry+city are given. | |
| city | No | City or region to search in, e.g. "Berlin" or "Austin, TX". | |
| lang | No | Result language as a BCP-47 tag, e.g. "en" or "pt-BR". | |
| limit | No | Max number of results to return (1-20). Defaults to a server-side value if omitted. | |
| list_id | No | Existing saved-list ID to append results to. | |
| rank_by | No | How to sort results. | |
| industry | No | Industry filter. One of the predefined categories. | |
| open_now | No | Only return businesses that are currently open. | |
| list_name | No | Name of a saved list to find-or-create and append results to. | |
| radius_km | No | Search radius in kilometers around the city center. | |
| min_rating | No | Minimum rating (0-5) a business must have to be included. | |
| page_token | No | Pagination token returned by a previous call, to fetch the next page of results. | |
| has_website | No | Only return businesses that have a website. | |
| price_level | No | Filter by price level. | |
| save_to_list | No | If true, also save the results into a B2BLeads saved list (requires list_id or list_name). | |
| verified_only | No | Only return businesses with a verified listing. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral burden. It usefully discloses that results are real-time, that email is 'where available,' and that the output is a ready-to-use lead list. However, it does not mention pagination behavior or the side effect that save_to_list can persist results into a saved list, which is relevant given the parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler. The core action and output are front-loaded, and the usage guidance is a separate, efficient sentence. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 16 optional parameters and no output schema, the description does a solid job of explaining the output shape and the intended use case. The schema covers parameter semantics, and the description covers the high-level outcome. It is slightly incomplete in not addressing pagination or saved-list side effects, but overall it is sufficient for an agent to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3 and the schema already documents every parameter. The description adds no extra parameter-level meaning beyond naming 'industry, city, and other filters,' which is acceptable but not additive.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Search') plus a clear resource ('companies and business contacts') and scoping filters ('by industry, city, and other filters'). It also names the concrete output ('ready-to-use list of leads') with field details, making it easy to distinguish from the sibling list_industries tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use the tool: 'whenever the user asks to find, list, or collect businesses/companies for sales, outreach, or research.' It provides clear context but does not mention exclusions or contrast with the sibling list_industries tool, so it loses one point.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
v1.0.0- First observed
list_industries - First observed
search_leads
TDQS
Scored across 2 tools
The two tools serve clearly distinct purposes: one searches for leads, the other provides the valid industry filter values. There is no overlap or potential for misselection.
Both tool names follow a consistent verb_noun pattern (search_leads, list_industries) and are descriptive and predictable.
With only 2 tools, the server covers a minimal but internally coherent scope. It is on the low end of acceptable, but not unreasonably thin given the narrow purpose of lead searching.
The tool set appears to cover the core lead search workflow: filter selection (industries) and the actual search itself. Minor gaps like pagination or detailed lead retrieval are not explicitly mentioned but could be considered average for a simple search-focused server.
Related MCP Connectors
- mcpOAuthai.astrofabric
Agentic AI for business intelligence: discover, verify and enrich company and contact data.
Remote MCP server to enrich company profiles with structured B2B data and confidence scores.
Company enrichment for AI agents: firmographics, tech stack, headcount, funding, domain emails.
CompanyLens is a remote MCP server giving AI agents instant access to official company registry data across 19 jurisdictions in Europe, the Americas, and Asia-Pacific. Eighteen read-only tools let you search companies and people, look up officers and beneficial owners, map corporate networks through shared directors, screen names against the UK disqualified directors register, find every company at a registered address, and pull filing history — all from a single connector. Visit our website: https://companylens.io
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceAn MCP server providing real-time access to comprehensive B2B company and contact data for lead generation and business intelligence. It enables AI tools to search firmographics, discover key contacts, and automate personalized outreach workflows.32MIT
- AlicenseAqualityDmaintenanceGive your AI agent access to 60M+ companies and 300M+ verified contacts. Enrich leads, find work emails, discover tech stacks, and identify buying intent — directly from Claude, Cursor, Windsurf, or any MCP-compatible AI agent.118 npmMIT
- AlicenseNot gradedqualityFmaintenanceDomain -> company intelligence for AI agents. Look up company name, country, contacts, and social profiles from any MCP-compatible client.6MIT
- AlicenseNot gradedqualityAmaintenanceMCP server that enables AI agents to discover and qualify B2B leads from Leadbay's knowledge base, with tools for lead research, enrichment, and outreach logging.MIT