loading…
Search for a command to run...
loading…
Minimal MCP server for the Yelp Fusion API v3, enabling business search, phone lookup, match, details, and reviews via FastMCP.
Minimal MCP server for the Yelp Fusion API v3, enabling business search, phone lookup, match, details, and reviews via FastMCP.
Minimal MCP server for the Yelp Fusion API v3, built with FastMCP 3.
uv sync
cp .env.example .env
# Edit .env and set YELP_API_KEY
# stdio transport (for use with Claude Desktop or an MCP client)
uv run python -m server.main
# Docker
docker build -t yelp-mcp-min .
docker run --env-file .env yelp-mcp-min
docker buildx build -t yelp-mcp-min .
| Variable | Required | Default | Description |
|---|---|---|---|
YELP_API_KEY |
Yes | — | Yelp Fusion API bearer token |
YELP_BASE_URL |
No | https://api.yelp.com/v3 |
API base URL |
HTTP_TIMEOUT |
No | 10.0 |
Request timeout in seconds |
HTTP_MAX_RETRIES |
No | 3 |
Max retry attempts on 429/5xx |
HTTP_RETRY_WAIT_MIN |
No | 1.0 |
Min back-off wait in seconds |
HTTP_RETRY_WAIT_MAX |
No | 10.0 |
Max back-off wait in seconds |
LOG_LEVEL |
No | INFO |
structlog level |
JSON_LOGS |
No | false |
Emit JSON log lines (for Datadog etc) |
| Tool | Yelp endpoint | Description |
|---|---|---|
search_businesses |
GET /v3/businesses/search |
Full-text + geo search with pagination |
find_business_by_phone |
GET /v3/businesses/search/phone |
Look up a business by E.164 phone number |
match_business |
GET /v3/businesses/matches |
Match structured name+address to Yelp listing |
get_business |
GET /v3/businesses/{id} |
Full business profile by Yelp ID or alias |
get_business_reviews |
GET /v3/businesses/{id}/reviews |
Customer reviews with pagination |
yelp://business/{id} — Returns the same payload as get_business as an MCP
resource (application/json). MCP clients that support resources can embed or
subscribe to this URI directly.
yelp-mcp-min/
server/
main.py # FastMCP instance + wiring
core/
config.py # pydantic-settings (YELP_API_KEY, tunables)
logging.py # structlog setup (stderr only)
client.py # async httpx client, retry, error mapping
models.py # Pydantic output models
tools/
search.py # search_businesses
business.py # find_by_phone, match, get_business
reviews.py # get_business_reviews
resources/
business.py # yelp://business/{id}
tests/
conftest.py
test_client.py
test_tools.py
test_models.py
Dockerfile
pyproject.toml
.env.example
uv run pytest -v
Run in your terminal:
claude mcp add yelp-mcp-min -- npx Yes, Yelp Min MCP is free — one-click install via Unyly at no cost.
No, Yelp Min runs without API keys or environment variables.
A hosted option is available: Unyly runs the server in the cloud, no local setup required.
Open Yelp Min on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
CSA PROJECT - FZCO © 2026 IFZA Business Park, DDP, Premises Number 31174 - 001
Security
Low riskAutomated heuristic from public metadata — not a security guarantee.