Skip to main content
Glama
Yelp

Yelp Fusion AI MCP Server

by Yelp

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.

Related MCP server: yelp-mcp-min

Setup and Installation

  1. Clone the repository:

git clone <repository_url>
cd yelp-mcp
  1. 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.

make install

Building the Docker Image (Optional)

If you prefer to run the server in a container, you can build a Docker image:

docker build -t mcp-yelp-agent .

This will create an image named mcp-yelp-agent:latest.

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 or 0.0.0.0). Default is 127.0.0.1.

  • --port: The port to listen on. Default is 8000.

Method 1: Running without Docker

Configure your MCP client with the following JSON settings to run the server with the default stdio transport.

{
  "mcpServers": {
    "yelp_agent": {
      "command": "uv",
      "args": [
        "--directory",
        "<PATH_TO_YOUR_CLONED_PROJECT_DIRECTORY>",
        "run",
        "mcp-yelp-agent"
      ],
      "env": {
        "YELP_API_KEY": "<YOUR_YELP_FUSION_API_KEY>"
      }
    }
  }
}

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:

{
  "mcpServers": {
    "yelp_agent": {
      "command": "docker",
      "args": [
        "run",
        "-i",          // Interactive mode
        "--rm",        // Automatically remove the container when it exits
        "--init",      // Run an init process as PID 1 in the container
        "-e", "YELP_API_KEY=<YOUR_YELP_FUSION_API_KEY>",
        "mcp-yelp-agent:latest" // The image name built earlier
      ]
    }
  }
}

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).

Available Tools

1 tool
yelp_agentA
Intelligent Yelp business agent designed for agent-to-agent communication.
Handles any natural language request about local businesses through conversational
interaction with Yelp's comprehensive business data and reservation platform.
Returns both natural language responses and structured business data.
Maintains conversation context for multi-turn interactions.

CRITICAL: When recommending businesses, you MUST ALWAYS include the Yelp
URL from the structured data to ensure users can view the business on
Yelp directly.

Capabilities include but are not limited to: business search, detailed
questions, comparisons, itinerary planning, reservation booking
exclusively through the Yelp Reservations platform at participating
restaurants, and any other business-related analysis or recommendations an
intelligent agent could provide with access to Yelp's full dataset.

Use chat_id for follow-up questions and conversational context.

Examples:
- "Find emergency plumbers in Boston"
- "What do people say about the quality of their work?" (follow-up with chat_id)
- "Plan a progressive date in SF's Mission District"
- "What are their hours?" (follow-up with chat_id)
- "Book table for 2 at Mama Nachas tonight at 7pm"
- "Compare auto repair shops from budget to luxury in Sacramento"

Args:
    natural_language_query: Any business-related request in natural language
    search_latitude: Optional latitude coordinate for precise location-based searches
    search_longitude: Optional longitude coordinate for precise location-based searches
    chat_id: Previous response's chat_id for conversational context
ParametersJSON Schema
NameRequiredDescriptionDefault
natural_language_queryYes
search_latitudeNo
search_longitudeNo
chat_idNo

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden and adds significant behavioral context. It discloses that the tool returns both natural language responses and structured data, maintains conversation context, requires including Yelp URLs in recommendations, and handles capabilities like reservation booking exclusively through Yelp Reservations. However, it doesn't mention rate limits, authentication needs, or error handling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and front-loaded with key information, though it includes a lengthy 'Capabilities include' list that could be more concise. The CRITICAL note and examples are useful but add bulk. Most sentences earn their place by clarifying functionality or usage.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (agent with multi-turn interactions, diverse capabilities) and no annotations or output schema, the description does a good job covering purpose, behavior, and parameters. It explains return types (natural language and structured data) and provides examples. However, it doesn't detail error cases or the exact structure of returned data.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds substantial meaning beyond the input schema, which has 0% description coverage. It explains that 'natural_language_query' is for 'any business-related request,' 'search_latitude/longitude' are for 'precise location-based searches,' and 'chat_id' is for 'follow-up questions and conversational context.' This fully compensates for the schema's lack of descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose as an 'intelligent Yelp business agent' that 'handles any natural language request about local businesses' through conversational interaction with Yelp's data. It specifies the verb ('handles'), resource ('local businesses'), and distinguishes it as an agent-to-agent communication tool with multi-turn capabilities.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides implied usage through examples and the statement 'handles any natural language request about local businesses,' but lacks explicit guidance on when to use this tool versus alternatives. Since there are no sibling tools mentioned, the absence of comparative guidance is less critical, but it doesn't specify prerequisites or exclusions beyond the examples.

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. Dates show when Glama detected each change.

  1. 1 tool update
    • First observedyelp_agent

TDQS

A4.1/5.0
Disambiguation5/5

With only one tool, there is no possibility of ambiguity or overlap between tools. The single tool 'yelp_agent' has a clearly defined purpose of handling all Yelp business-related queries through natural language interaction.

Naming Consistency5/5

With a single tool, naming consistency is inherently perfect. The tool name 'yelp_agent' follows a clear noun_noun pattern that aligns with the server's purpose, and there are no other tools to create inconsistency.

Tool Count2/5

A single tool for a comprehensive Yelp business agent feels too thin for the apparent scope. The description suggests capabilities spanning search, booking, comparisons, and more, which typically warrant multiple specialized tools rather than one monolithic interface.

Completeness3/5

The tool claims to handle all business-related requests through natural language, suggesting no gaps in functionality. However, the monolithic design may obscure missing operations or cause reliability issues, as it relies entirely on the agent's interpretation rather than explicit tool definitions.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides 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
    -
  • F
    license
    A
    quality
    D
    maintenance
    Minimal MCP server for the Yelp Fusion API v3, enabling business search, phone lookup, match, details, and reviews via FastMCP.
    5
    -
  • F
    license
    A
    quality
    D
    maintenance
    Provides Yelp Fusion API access through MCP tools and resources for searching businesses, getting reviews, and more.
    5
    -
  • A
    license
    A
    quality
    D
    maintenance
    MCP server for Yelp integration, enabling AI agents to search for local businesses, read reviews, view photos, check hours, find deals, and discover trending spots.
    12
    58
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Yelp/yelp-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server