Yelp business search, place details and the full review feed, as structured JSON.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent — or use 1-click editor setup below.
One-click editor setup isn’t available for this listing yet — we don’t have a confirmed install command, and we’d rather show nothing than point your editor at the wrong package or host. Follow the project’s own setup instructions, linked above.
A hosted Model Context Protocol (MCP) server that gives Claude, Cursor, Windsurf and any other MCP client three read-only Yelp tools. Search businesses by keyword and location, read one business in full, and page through its complete review feed, all as structured JSON, with no Yelp Fusion key and nothing to host.
It reads public Yelp pages that a signed-out visitor can see, on any of the 41 regional domains.
1,000 free credits every month, no card required, which is 100 Yelp calls at the 10-credit rate.
An MCP client and a HasData API key from the dashboard, free to create with no card, and the free tier covers about 100 calls a month at the 10-credit rate. This is a remote server, so the simplest path is a URL and an x-api-key header, with no container to run. A client that only speaks stdio reaches it through a thin launcher, published as @hasdata/yelp-mcp on npm and hasdata-yelp-mcp on PyPI, shown below.
The server URL is the same for every client. We run it hands-on in Claude Code and Claude Desktop. The other blocks follow each client's own documented format for a remote server.
| Field | Value |
|---|---|
| URL | https://mcp.hasdata.com/mcp?apis=yelp |
| Transport | HTTP, streamable |
| Auth header | x-api-key: HASDATA_API_KEY |
Clients with OAuth support can add the same URL as a connector and sign in without putting a key in a config file.
Settings, then Connectors, then Add custom connector, then paste https://mcp.hasdata.com/mcp?apis=yelp and sign in.
For the config-file route, Claude Desktop loads only local (stdio) servers, so it reaches a remote server through a stdio launcher. The @hasdata/yelp-mcp package is that launcher, and it reads the key from the environment. Add this to claude_desktop_config.json:
For Python instead of Node, swap the launcher for the PyPI package, which uvx runs without a manual install:
~/.cursor/mcp.json for every project, or .cursor/mcp.json for one:
~/.codeium/windsurf/mcp_config.json. Windsurf calls the field serverUrl, not url:
.vscode/mcp.json in the workspace:
Each of these lands on one tool, or on two in sequence when the second needs an identifier the first returns.
desnudo-coffee-austin.A prompt that names a business rather than a Yelp ID takes two calls, one search to resolve the ID and one place or reviews lookup to read it. The search tool returns both placeId and placeAlias, and either one works as the placeId argument to the place tool.
| Tool | What it returns |
|---|---|
hasdata_yelp_place_getPlaceDetails | Name, address, phone, website, price range, categories, overall rating, review count, hours, amenities, photos, and highlighted reviews. 10 credits a call |
hasdata_yelp_reviews_getPlaceReviews | Fetches the review feed of a single Yelp business by Yelp ID, with sorting (relevance, date, rating, elites), filtering by star rating, language and free-text query, and…. 10 credits a call |
hasdata_yelp_search_getSearchResults | A ranked list of businesses with Yelp alias/ID, name, categories, rating, review count, price tier, neighborhood, and thumbnail. 10 credits a call |
Three tools, 10 credits per successful call. Every tool accepts domain to switch country, one of 41 values, from www.yelp.com through the European, Asian and Latin American sites, including the language-specific variants such as fr.yelp.ca and zh.yelp.com.hk.
hasdata_yelp_search_getSearchResults
A page of businesses for a keyword in a place.
| Parameter | Type | Required | Notes |
|---|---|---|---|
keyword | string | yes | What to search for, such as coffee |
location | string | yes | Where to search, such as Austin, TX |
l | string | Map bounding box instead of a radius, as g:lon1,lat1,lon2,lat2 | |
domain | string | Yelp site, defaults to www.yelp.com | |
start | number | Result offset, stepping by 10 |
Returns searchInformation with the echoed keyword, location and totalResults, an ads array of paid placements, an organicResults array, and pagination with currentPage, perPage, totalPages, nextPageUrl and otherPagesUrls.
The two result arrays are not the same shape. An organic result carries position and streetAddress, while an ad carries neither and adds phone and a highlights array of the badges Yelp shows advertisers. Merging the arrays without checking which one a business came from turns paid placement into rank.
hasdata_yelp_place_getPlaceDetails
One business in full.
| Parameter | Type | Required | Notes |
|---|---|---|---|
placeId | string | yes | A Yelp ID such as oiJ7QuhhpsEpe9zFTZF0bA, or an alias such as desnudo-coffee-austin |
domain | string | Yelp site, defaults to www.yelp.com |
Returns a placeResult object with name, url, address, neighborhoods, country, phone, website, price, categories, rating, reviews, isClaimed and isClaimable, an operationHours object holding a week of hours plus today, a features array, a menu object with popularDishes, a faqs array of questions Yelp readers asked and answered, a reviewHighlights array of the phrases Yelp pins to the top of the page, an images array, and businessMap, a static map image URL.
No reviews yet — be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/hasdata-yelp)<a href="https://allmcps.com/mcp/hasdata-yelp"><img src="https://allmcps.com/api/badge/hasdata-yelp?style=directory" alt="HasData Yelp on AllMCPs" /></a>