Yellow Pages Remote MCP Server
Server Details
Yellow Pages local business search and full business listings, as structured JSON.
- Status
- Healthy
- Uptime
- 97.3% over 42 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- HasData/yellowpages-mcp
- GitHub Stars
- 10
- Server Listing
- Yellow Pages MCP Server
TDQS
Scored across 2 tools
The two tools have clearly distinct roles: one runs a keyword+location search returning a list of businesses, the other hydrates a single YellowPages listing URL into detailed fields. An agent can trivially tell which to call based on whether it has a URL or a query.
Both names follow the same structure `hasdata_yellowpages_<resource>_get<Thing>`, so the vendor prefix and verb placement are predictable. Minor inconsistency in that one is `place_getPlaceDetails` and the other `search_getSearchResults`, mixing resource labels, but still readable and consistent.
Only two tools, which is thin for a scraping server even if the search→details pair is the core workflow. It relies entirely on pagination and URL-passing rather than offering any additional listing operations.
The search + details pairing covers the primary lead-generation lifecycle well, from discovering URLs to enriching them with NAP data. Some gaps exist (no batch lookup, category or review-standalone endpoints), but agents can work around these by chaining the two tools.
Available Tools
2 toolshasdata_yellowpages_place_getPlaceDetailsyellowpages_place: GET /ARead-onlyInspect
Get Yellow Pages Place Details
Scrapes a single YellowPages business listing URL and returns business name, street address, city, region, zip code, coordinates, phone, website, hours of operation, payment methods, categories, ratings, review counts, photos, and service descriptions, plus email and years in business on yellowpages.com listings. Fields the listing does not publish, such as a street address, hours, or email, are omitted from the response. Use to hydrate a lead with verified NAP data, build a B2B contact database from YellowPages URLs collected via the Search endpoint, or validate business legitimacy and hours before outreach.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The YellowPages URL of the place. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, destructiveHint=false, covering the safety/live-data profile. The description adds one genuinely useful behavioral trait: unpublished fields are omitted from the response. However, it says nothing about scraping latency, rate limits, or failure modes for a live scraper, so it adds only modest context beyond annotations.
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?
Front-loads purpose, then the field list, then caveats, then use cases in a logical order. The long enumeration of returnable fields is dense but earns its place given there is no output schema. Minor verbosity in the field list.
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?
Given a single-param, no-output-schema scraper with annotations covering safety, the description is nearly complete: it lists returned fields, notes field omission, and gives use cases. It lacks only operational caveats (latency, throttling, bad-URL behavior) that would matter for a live scraper.
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% for the single url parameter, so the schema already documents it and baseline 3 applies. The description restates the URL source (yellowpages.com listings) but adds no format, canonicalization, or validation guidance beyond the schema.
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?
States a specific verb (scrapes/returns) and resource (a single YellowPages business listing URL), and enumerates the returned business data fields. Sibling search_getSearchResults is implicitly distinguished by 'a single ... URL' vs. the search endpoint referenced in the usage sentence.
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?
Explicitly names three use cases (hydrate a lead with verified NAP data, build a B2B contact database, validate business legitimacy) and routes the agent to the sibling Search endpoint as the source of URLs. Clear when-to-use with an alternative input source.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hasdata_yellowpages_search_getSearchResultsyellowpages_search: GET /ARead-onlyInspect
Get YellowPages Search Results
Runs a YellowPages business search by keyword plus location with sort (default, distance, averageRating, name; yellowpages.com only), country domain targeting, and page-based pagination. Returns each business with name, listing URL, phone, address, categories, rating, review count, and years in business. Use for B2B lead generation by niche and city, feeding the resulting URLs into the YellowPages Place endpoint for enrichment, or building geo-targeted prospect lists for sales outreach.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | The page number of the results to retrieve. | |
| sort | No | The sorting option for the search results. | |
| domain | No | YellowPages domain to use. Default is `www.yellowpages.com`. | |
| keyword | Yes | The search term for which to get the search results. | |
| location | Yes | The location where to search for businesses with the given keyword. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, non-destructive, open-world), so the bar is lower; the description still adds real behavioral detail such as the sort parameter being valid on yellowpages.com only and page-based pagination. It does not discuss rate limits or result caps, keeping it short of a 5.
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?
The description is front-loaded with the core operation before moving to return fields and use cases, and every sentence carries information. The final sentence is dense with two distinct use cases but not padded.
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?
With no output schema, the description usefully enumerates returned fields (name, listing URL, phone, address, categories, rating, review count, years in business), which is exactly what an agent needs to judge fit. It omits pagination termination behavior and how many results per page, a minor remaining gap for a search tool.
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 coverage is 100%, so the baseline is 3 and the schema carries most parameter meaning. The description adds one genuinely new constraint not in the schema: the sort enum is restricted to yellowpages.com. It does not explain pagination semantics or default page behavior, so it is above baseline but not rich.
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 states a specific verb and resource ('Runs a YellowPages business search by keyword plus location') and enumerates the dimensions it controls (sort, domain, pagination). It also differentiates itself from the sibling by naming the YellowPages Place endpoint as the downstream enrichment step rather than a competing search path.
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?
It gives clear positive usage contexts (B2B lead generation by niche and city, geo-targeted prospect lists) and explicitly names the sibling tool it feeds into. It stops short of stating when not to use it or any prerequisite conditions, so it lands at clear-context-without-exclusions.
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
- First observed
hasdata_yellowpages_place_getPlaceDetails - First observed
hasdata_yellowpages_search_getSearchResults
Publisher details
- Operator
- HasData · Publisher source
- Operator website
- https://hasdata.com · Publisher source
- Vendor relationship
- Independent · Publisher source
- Documentation
- https://docs.hasdata.com/mcp-server · Publisher source
- Trust center
- Not available
- Restrictions
- A free HasData account covers 1,000 credits a month with no card. Heavier use needs a paid plan. No admin approval, no regional limits and no custom OAuth app. · Publisher source
Related MCP Connectors
Yelp business search, place details and the full review feed, as structured JSON.
One API for public web data across social, directories and real estate, as clean JSON.
Indeed job listings by keyword and location, and full postings, as structured JSON.
Find local businesses on Google Maps, Yellow Pages and Yelp, then pull emails and phones from sites.
Related MCP Servers
- AlicenseAqualityAmaintenanceEnables Yelp business search, place details, and full review feeds as structured JSON through a hosted MCP endpoint, with no Yelp Fusion key required.319 npm39 PyPI11MIT
- FlicenseNot gradedqualityBmaintenanceRetrieves vetted Local Services Ads businesses (Google Guaranteed or Screened) as clean JSON for any service and US city, enabling lead generation, local SEO monitoring, and competitor tracking.-
- AlicenseAqualityCmaintenanceSearch 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 IP61MIT
- FlicenseNot gradedqualityDmaintenanceProvides access to Yelp's business database for searching local businesses, retrieving detailed ratings and reviews, and performing market research through business counts. It enables users to look up businesses by location, category, or phone number using the Yelp Fusion API.1-
Glama MCP Gateway
Add one secure layer between your agents and this server.