Skip to main content
Glama

Server Details

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

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.5/5.0

Scored across 5 tools

Disambiguation5/5

Each tool has a clearly distinct role in the lead-shopping workflow: search ready-made lists, inspect one list, view aggregate market stats, enumerate industries, or request a custom list. The descriptions explicitly distinguish search_lists from get_list_details and clarify that get_market_stats contains no contact details.

Naming Consistency5/5

All names use a consistent snake_case verb_noun pattern: get_list_details, get_market_stats, list_trades, request_custom_list, search_lists. The verbs accurately reflect the actions without mixing conventions.

Tool Count5/5

Five tools is well-scoped for a business-list marketplace. Each tool covers a distinct step: taxonomy discovery, search, detail preview, market sizing, and custom-list fallback.

Completeness4/5

The surface covers the core pre-purchase lifecycle from industry discovery through search, preview, market stats, and custom requests, with buy links returned externally. Minor gap: there is no in-server order or purchase-status operation, though that may be intentionally out of scope.

Available Tools

5 tools
get_list_detailsGet list detailsA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
listYesThe "list" value from search_lists, e.g. "/dentists/usa/texas/austin", or the list page URL.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so safety is covered. The description adds genuinely useful behavioral context beyond that: the sample is capped at 5 rows and emails/phones are masked, which tells the agent not to expect real contact data. It doesn't mention rate limits or pagination, but for a single-record read that is minor.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The payload (what you get back) is front-loaded in the first sentence, with the input instruction in a short second sentence. Every clause carries information — field list, price, freshness, sample size, masking — with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, but the description compensates by enumerating the returned contents and the masking of PII. With one required parameter and complete annotation coverage, an agent has everything needed to call this correctly and interpret the result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single parameter is fully documented in the schema. The description still adds meaning by naming the concrete host (publicleads.com) for the URL form and tying the value back to search_lists output, which the schema only calls 'the list page URL'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (get details) and resource (one list from search_lists), then enumerates exactly what is returned: fields, price, freshness policy, and a masked 5-row sample. It explicitly anchors the input to the sibling search_lists, so an agent can tell it apart from search_lists, get_market_stats, and request_custom_list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The second sentence gives a clear invocation path: pass the 'list' value that search_lists returned, or the list's URL. This implicitly establishes the search_lists → get_list_details workflow. It stops short of stating when not to use it (e.g., versus request_custom_list for lists that don't exist), so it earns a 4 rather than a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_market_statsGet market statisticsA
Read-onlyIdempotent
Inspect

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".

NameRequiredDescriptionDefault
tradeYesIndustry, as a slug from list_trades or in plain words.
locationYesCity, state/province or country in the US, Canada or Australia.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare read-only, idempotent, non-destructive, closed-world behavior, so the description's contribution is what the aggregation returns and that it deliberately omits contact details. It stops short of noting data-freshness, coverage limits, or how percentage denominators are computed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the resource and metric list, then the usage example. Nothing is repeated from the title or schema and no sentence is filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the return-value burden and does so by enumerating every reported metric and the exclusion of contact fields. Combined with annotations covering safety and the fully documented schema, an agent has everything needed to select and call it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%: the trade field already points to list_trades slugs and the location field already specifies US/Canada/Australia. The description's Ohio/plumbers example implicitly maps to the two parameters but adds no syntax, format, or matching behavior beyond the schema, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Aggregate statistics for an industry in a place') and enumerates exactly what is computed: counts, average rating, review totals, and per-field coverage percentages. The line 'No contact details' plus the market-sizing framing separates it from the sibling list/search tools that return records.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit when-to-use condition with a concrete example ('how many plumbers are there in Ohio'), which anchors the tool to market-sizing questions. It does not name the alternative siblings (e.g., get_list_details) or state when-not to use it, so routing is implied rather than prescribed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_tradesList industriesA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so the safety profile is covered. The description adds value beyond that by disclosing the return content (industry slugs) and the country coverage (US, Canada, Australia), which tells the agent what data exists before calling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence with the payload described first and the call condition last — front-loaded and free of filler. Nothing in it is redundant with the annotations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, yet the description still tells the agent what comes back (industries plus slugs plus countries) and how to use it downstream. For a zero-parameter lookup with full annotation coverage, nothing needed is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Zero parameters, so there is nothing to document and the baseline is 4. The description instead documents the response shape, which is the useful information for a no-arg tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('List every industry (trade)') and disambiguates the name mismatch between list_trades and 'industries.' It also names the concrete return payload (slug for search_lists) and country scope, so an agent knows exactly what it gets and how it feeds a sibling tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit trigger — call it when the user's industry may not match a name directly — which is a real disambiguation cue against going straight to search_lists. It stops short of naming search_lists as the alternative path or stating when not to call, so not a full 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

request_custom_listRequest a custom listA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
descriptionNoOptional: who the user is looking for, in their own words (logged as a demand signal, never shown to anyone).

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish that the operation is read-only, idempotent, non-destructive, and closed-world. The description adds meaningful workflow context: it returns a link and price, the data is measured, and the real count is supplied before any payment, which tells the agent this is a no-commitment inquiry.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tightly constructed sentences front-load the trigger condition and then explain the response and payment flow. There is no filler, and each sentence contributes necessary routing or behavioral information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-optional-parameter tool with no output schema, the description is complete: it explains when to use it, what it returns (link and price), and the no-payment-until-measured flow. An agent has enough to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single optional description parameter is fully documented in the schema, including its 300-character limit and demand-signal logging behavior. The description adds no additional parameter guidance, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific outcome—returning a custom-list request link and its price—and defines the triggering situation: when no ready-made list fits, with concrete examples like an unusual industry, county, radius, or combined industries. This clearly distinguishes it from search_lists and the other list-detail siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives a clear condition for use: when no ready-made list fits, including several illustrative edge cases. The alternative is implied as ready-made list search rather than named explicitly, so it falls just short of fully explicit when/when-not routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_listsSearch business listsA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
tradeYesIndustry, as a slug from list_trades or in plain words, e.g. "dentists", "hvac", "real estate agents", "businesses without a website".
locationYesCity, state/province or country in the US, Canada or Australia, e.g. "Austin, TX", "Ontario", "USA".

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish read-only, idempotent, closed-world behavior, and the description adds real value on top: a hard cap of 10 results, the ranking precedence (exact city, then state/province, then country), loose spelling matching, and the exact fields returned. It stops short of saying what happens when nothing matches or how to interpret a zero-result response.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose, then result shape, then input formats, then trigger — a logical order with no filler. The return-field enumeration is dense but each item earns its place by preempting a follow-up call.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the return contract and does so thoroughly (fields, ordering, cap). The only material gap is edge-case behavior: empty results, and whether the agent should fall back to request_custom_list.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description goes slightly beyond by spelling out accepted location granularities (city, state/province, country) and disclosing that spelling is matched loosely — a behavior not captured in the schema. Trade semantics are largely duplicated from the schema's list_trades reference.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Find ready-made business contact lists') plus the dimensions searched (industry, location). It is clearly distinguishable from siblings such as get_list_details (per-list lookup) and request_custom_list (bespoke lists).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Ends with a concrete triggering scenario ('when someone needs leads or prospects of a type of local business'), which gives an agent a clear use condition. However, it never names the alternatives — notably request_custom_list when no ready-made list matches — so the routing is left implicit.

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.

  1. 5 tool updates
    • First observedget_list_details
    • First observedget_market_stats
    • First observedlist_trades
    • First observedrequest_custom_list
    • First observedsearch_lists

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Finds, filters, and verifies local-business leads on demand; every returned email carries a verification receipt (verifier, verdict, timestamp). Credit-based with per-key spend budgets; 25 free validated leads at signup.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables searching 12M+ verified businesses across 10 countries and 19 directories, with tools for lead generation, competitive analysis, and market research.
    40 PyPI
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Search for local businesses worldwide. Structured data optimized for AI agents. • Search Millions of businesses over 49 countries (Europe, Northamerica, Southamerica, Asia, Oceania) • Quality & demand scoring for every business • Ranking based on real user click-through data • No API key needed, free access • Rate limit: 500 requests/hour per IP
    6
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI clients to search Shopify stores and contacts by market, traffic, revenue, apps, pixels, themes, ads, or contact availability, enrich known domains, preview matching contacts, and reveal selected contact details after approval via OAuth.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources