PublicLeads

Search B2B business lead lists by industry and location: counts, prices, masked samples. Read-only.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
84%
Naming quality
96%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~992Tokens (tool definitions)
~974 BTypical response size
Moderate attention impact (0.78% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "leads": {
      "url": "https://www.publicleads.com/mcp"
    }
  }
}

Remote endpoints

https://www.publicleads.com/mcpstreamable-http

What it can do

Tool inventory

Tools (5)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢list_trades

List every industry (trade) PublicLeads sells business lists for, with the slug to pass to search_lists, plus the countries covered (US, Canada, Australia). Call this when the user's industry may not match a name directly.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢search_lists(trade, location)

Find ready-made business contact lists for sale by industry and location. Returns up to 10 lists, best match first (the exact city, then its state/province, then the country): name, scope, number of businesses, how many have an email, price, and preview and buy links. Location can be a city ("Austin", "Austin, TX"), a state or province ("Ontario"), or a country ("USA", "Canada", "Australia"); spelling is matched loosely. Use when someone needs leads or prospects of a type of local business.

Input Schema

{
  "type": "object",
  "properties": {
    "trade": {
      "type": "string",
      "minLength": 1,
      "maxLength": 80,
      "description": "Industry, as a slug from list_trades or in plain words, e.g. \"dentists\", \"hvac\", \"real estate agents\", \"businesses without a website\"."
    },
    "location": {
      "type": "string",
      "minLength": 1,
      "maxLength": 80,
      "description": "City, state/province or country in the US, Canada or Australia, e.g. \"Austin, TX\", \"Ontario\", \"USA\"."
    }
  },
  "required": [
    "trade",
    "location"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_list_details(list)

Details of one list from search_lists: the fields included in the file, the price, the freshness policy, and a masked 5-row sample (business name, city, Google rating; emails and phones are masked). Pass the list value search_lists returned, or the list's publicleads.com URL.

Input Schema

{
  "type": "object",
  "properties": {
    "list": {
      "type": "string",
      "minLength": 1,
      "maxLength": 300,
      "description": "The \"list\" value from search_lists, e.g. \"/dentists/usa/texas/austin\", or the list page URL."
    }
  },
  "required": [
    "list"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_market_stats(trade, location)

Aggregate statistics for an industry in a place: number of operational businesses, average Google rating, total reviews, and the percentage with an email, with a company-domain email, with a phone, with a website and with a street address. No contact details. Use for market-sizing questions such as "how many plumbers are there in Ohio".

Input Schema

{
  "type": "object",
  "properties": {
    "trade": {
      "type": "string",
      "minLength": 1,
      "maxLength": 80,
      "description": "Industry, as a slug from list_trades or in plain words."
    },
    "location": {
      "type": "string",
      "minLength": 1,
      "maxLength": 80,
      "description": "City, state/province or country in the US, Canada or Australia."
    }
  },
  "required": [
    "trade",
    "location"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢request_custom_list(description)

When no ready-made list fits (an unusual industry, a county or a radius, several industries together), return the link to request a custom list and its price. We measure the data and reply with the real count before any payment.

Input Schema

{
  "type": "object",
  "properties": {
    "description": {
      "type": "string",
      "maxLength": 300,
      "description": "Optional: who the user is looking for, in their own words (logged as a demand signal, never shown to anyone)."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded5 tools