Integrates with Yelp Fusion AI to provide natural language search for local businesses, supporting multi-turn conversations, direct business queries, and restaurant reservations. Allows querying business data, comparisons, itinerary planning, and more using Yelp's dataset.
MCP Server for Yelp Fusion AI
Yelp Fusion AI brings conversational intelligence to your applications, enabling users to ask natural language questions and receive real-time, contextually relevant answers powered by Yelp’s latest business data and reviews.
Fusion AI Capabilities
- Next generation search & discovery – Search with natural language, discover, and connect with contextually relevant businesses. ("Find the best tacos in the Bay Area")
- Multi-turn conversations – Support back-and-forth interactions and refine queries with follow-up questions. ("Which of the options have open air seating?")
- Direct business queries – Ask targeted questions about businesses without needing to perform a prior search. ("Does Ricky’s Taco allow pets?")
- Conversational restaurant reservations – Explore availability and book a table at restaurants through natural language interactions. (Please note that this is available on request only. To enable reservations, please contact us.) ("Reserve a table for 4 tomorrow at 8PM at Ricky’s")
Tools:
This server exposes one primary tool:
- yelp_agent: Designed for agent-to-agent communication. This tool handles natural language requests about local businesses, providing both natural language responses and structured business data. It supports follow-up questions using a chat_id. Capabilities include business search, detailed questions, comparisons, itinerary planning, and more, leveraging Yelp's dataset.
Key Arguments:
- natural_language_query (str): Your query (e.g. "find the best tacos in the Bay Area").
- search_latitude (float or null): Latitude for location-specific searches.
- search_longitude (float or null): Longitude for location-specific searches.
- chat_id (str or null): ID for continuing a previous conversation.
Prerequisites
You either need a container manager (like Docker or Podman) or the following installed locally:
- Python: Version 3.10 or higher (as specified in pyproject.toml).
- uv: The Python package manager. You can find installation instructions at https://docs.astral.sh/uv/.
You will also need an API key for Yelp Fusion AI. You can get a key by creating an app here, which will start your free trial. If you need more time to evaluate, email us at fusion@yelp.com to extend your trial.
Find more details and comprehensive documentation about Yelp Fusion AI here.
Setup and Installation
- Clone the repository:
- Install dependencies: This command will create a virtual environment (if one doesn't exist), install all necessary dependencies as defined in pyproject.toml and uv.lock, and install the project into the uv environment.
Building the Docker Image (Optional)
If you prefer to run the server in a container, you can build a Docker image:
This will create an image named mcp-yelp-agent.
Running the Server
This repository is designed to be run as a Model Context Protocol server. You will need an MCP client (like compatible versions of Claude, Cursor, or VS Code with MCP support) to interact with it.
Method 1: Running without Docker
Ensure you have completed the "Setup and Installation" steps, especially installing the project so the mcp-yelp-agent script is available.
Server Configuration
The server supports multiple transport protocols and can be configured with command-line arguments. While stdio
is the primary transport for most MCP clients, other options are available for different use cases.
--transport
: Choose the communication protocol.stdio
(default): Standard input/output, ideal for local tools.streamable-http
: Streamable HTTP.sse
: Server-Sent Events.
--host
: The host address to bind to (e.g.,127.0.0.1
or0.0.0.0
). Default is127.0.0.1
.--port
: The port to listen on. Default is8000
.
Method 1: Running without Docker
Configure your MCP client with the following JSON settings to run the server with the default stdio
transport.
Notes:
- Replace
<PATH_TO_YOUR_CLONED_PROJECT_DIRECTORY>
with the absolute path to where you cloned this project. - Replace
<YOUR_YELP_FUSION_API_KEY>
with your actual Yelp Fusion API key. - If your MCP client has trouble invoking uv directly, you might need to provide the full path to the uv binary. You can find this by running
which uv
in your terminal.
Method 2: Running with Docker
Ensure you have built the Docker image as described in "Building the Docker Image".
Configure your MCP client with the following JSON settings:
Notes:
- Replace
<YOUR_YELP_FUSION_API_KEY>
with your actual Yelp Fusion API key. - If your MCP client has trouble invoking docker from the system PATH, you might need to provide the full path to its binary (e.g., run which docker).
This server cannot be installed
Enables 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.
Related MCP Servers
- -securityAlicense-qualityA server for the Machine Chat Protocol (MCP) that provides a YAML-based configuration system for LLM applications, allowing users to define resources, tools, and prompts without writing code.Last updated -5PythonMIT License
- AsecurityFlicenseAqualityMCP server that allows Claude AI to interact directly with MySQL databases, enabling query execution and table information retrieval through natural language.Last updated -114JavaScript
YepCode MCP Serverofficial
-securityAlicense-qualityAn MCP server that enables AI platforms to interact with YepCode's infrastructure, allowing LLM-generated scripts to run on YepCode and turning YepCode processes into powerful tools that AI assistants can use directly.Last updated -1927TypeScriptMIT License- -securityFlicense-qualityAn MCP Server that provides access to the Jumpseller e-commerce platform API, allowing users to interact with Jumpseller's functionality through natural language commands.Last updated -Python