yelp-mcp-sdk
Provides tools for searching businesses by text and location, looking up businesses by phone number, matching structured name and address to Yelp listings, retrieving full business profiles, and fetching reviews, all via the Yelp Fusion API.
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., "@yelp-mcp-sdk search for coffee shops in Seattle"
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.
yelp-mcp-sdk
Yelp Fusion MCP server built on the official MCP Python SDK.
Functionally identical to yelp-mcp-min (FastMCP), but uses the low-level
Server class directly — no framework abstractions.
Prerequisites
Python 3.11+
uv 0.11+
Docker (optional)
A Yelp Fusion API key — https://www.yelp.com/developers/v3/manage_app
Related MCP server: Yelp Fusion MCP Server
Installation
uv sync
cp .env.example .env
# Edit .env and set YELP_API_KEYRunning
# stdio transport (for use with Claude Desktop or an MCP client)
uv run python -m server.main
# Docker
docker build -t yelp-mcp-sdk .
docker buildx build -t yelp-mcp-sdk .
docker run --env-file .env yelp-mcp-sdkEnvironment variables
Variable | Required | Default | Description |
| Yes | — | Yelp Fusion API bearer token |
| No |
| API base URL |
| No |
| Request timeout in seconds |
| No |
| Max retry attempts on 429/5xx |
| No |
| Min back-off wait in seconds |
| No |
| Max back-off wait in seconds |
| No |
| structlog level |
| No |
| Emit JSON log lines |
Tools
Tool | Yelp endpoint | Description |
|
| Full-text + geo search with pagination |
|
| Look up a business by E.164 phone number |
|
| Match structured name+address to Yelp listing |
|
| Full business profile by Yelp ID or alias |
|
| Customer reviews with pagination |
Resource
yelp://business/{id} — Full Yelp business profile as application/json.
Declared via list_resource_templates; fetched via read_resource.
Project structure
yelp-mcp-sdk/
server/
main.py # Server("yelp-mcp", lifespan=...) + stdio run
core/
config.py # pydantic-settings
logging.py # structlog → stderr
client.py # async httpx + tenacity retry
models.py # Pydantic output models
handlers/
params.py # Pydantic input models (also generate inputSchema)
tools.py # list_tools() + call_tool() dispatcher
resources.py # list_resource_templates() + read_resource()
tests/
conftest.py
test_client.py
test_models.py
test_handlers.py
Dockerfile
pyproject.toml
.env.exampleRunning tests
uv run pytest -vComparison with yelp-mcp-min (FastMCP)
Aspect | yelp-mcp-min (FastMCP) | yelp-mcp-sdk (official SDK) |
Tool registration |
|
|
Input schema | Auto-generated from func sig |
|
Output type | Return Pydantic model directly |
|
Resources |
|
|
Dependency inject | None (captured via closure) |
|
Transport |
|
|
Server LOC | ~350 | ~450 |
Available Tools
5 toolsfind_business_by_phoneARead-onlyIdempotent
Look up Yelp businesses that match a phone number. Use when you have a phone number and need to identify the business. Phone must be in E.164 format (+14155551234). Returns up to a handful of candidates; empty list means not found.
Inputs: phone (required).
get_businessARead-onlyIdempotent
Fetch the full Yelp profile for a specific business by its ID or alias. Use when you already have a Yelp business ID and need complete details: hours, all photos, full address, price tier, categories, and URL. Raises an error if the business ID does not exist on Yelp.
Inputs: business_id (required), locale.
get_business_reviewsARead-onlyIdempotent
Retrieve user reviews for a specific Yelp business. Use when the user wants to read customer opinions: ratings, comments, and reviewer info. Returns up to 50 reviews per call. Use offset to paginate; total field shows how many reviews exist.
Inputs: business_id (required), locale, sort_by, limit, +1 more.
match_businessARead-onlyIdempotent
Match a business by name and address to its canonical Yelp listing. Use when you have structured address data and need to verify or enrich it with Yelp data such as ID, rating, hours, and URL. name + address1 + city + state + country are required. Adding zip_code and phone significantly improves match precision.
Inputs: name (required), address1 (required), city (required), state (required), +4 more.
search_businessesARead-only
Search Yelp for businesses matching a term, location, or both. Use when the user wants to discover restaurants, services, or shops. Supports free-text search, geo coordinates, category filters, price tiers, open-now filtering, and pagination via limit/offset. Supply at least one of: location, or both latitude + longitude.
Inputs: term, location, latitude, longitude, +7 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 5 tools
Each tool has a clearly distinct purpose: phone lookup, get full business details, get reviews, match by name/address, and general search. No overlapping functionality, making selection unambiguous.
All tools follow a consistent snake_case verb_noun pattern (e.g., find_business_by_phone, get_business, search_businesses), with clear modifiers where needed. No mixing of conventions.
Five tools is well-scoped for a Yelp API wrapper: covering search, matching, detailed lookup, reviews, and phone lookup. It's neither overly sparse nor bloated.
The tool set covers the core Yelp use cases—discovery, matching, detailed info, and reviews. There are no obvious gaps for read-only access, as mutations are not part of Yelp's public API.
Related MCP Connectors
Yelp MCP — wraps the Yelp Fusion API (api.yelp.com/v3)
Yelp business search, place details and the full review feed, as structured JSON.
4 Yelp endpoints. Pay per call in USDC via x402.
Real-time local business places, reviews, geocoding & contact emails MCP. OAuth or API key.
Related MCP Servers
AlicenseAqualityCmaintenanceEnables conversational interactions with Yelp's business data through an MCP server, allowing natural language queries about local businesses, multi-turn conversations, and direct business inquiries powered by Yelp Fusion AI.128Apache 2.0- 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-
- FlicenseAqualityDmaintenanceMinimal MCP server for the Yelp Fusion API v3, enabling business search, phone lookup, match, details, and reviews via FastMCP.5-
- AlicenseCqualityDmaintenanceEnables accessing Yelp Business API to search businesses, get reviews, menus, and business details.8MIT