@striderlabs/mcp-yelp
Provides tools for searching restaurants and businesses, retrieving business details, reviews, photos, menus, hours, trending spots, collections, deals, and wait times via the Yelp platform.
Click on "Install 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., "@@striderlabs/mcp-yelpsearch for sushi restaurants in San Francisco"
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.
@striderlabs/mcp-yelp
MCP server connector for Yelp - the leading platform for local business discovery. Enables AI agents to search restaurants, read reviews, view photos, check hours, find deals, and discover trending spots.
Installation
npm install @striderlabs/mcp-yelpRelated MCP server: Yelp Fusion AI MCP Server
Configuration
Add to your MCP client configuration:
{
"mcpServers": {
"yelp": {
"command": "npx",
"args": ["@striderlabs/mcp-yelp"]
}
}
}Available Tools
Tool | Description |
| Search restaurants by location, cuisine, price |
| Search any type of business |
| Get detailed business information |
| Get reviews with ratings and text |
| Get business photos by category |
| Get restaurant menu items and prices |
| Get business hours |
| Find similar businesses |
| Get trending/new spots in a location |
| Get curated Yelp collections |
| Check estimated wait time |
| Get current deals and offers |
Example Usage
// Search for sushi restaurants
const results = await client.call("yelp_search_restaurants", {
query: "sushi",
location: "San Francisco, CA",
priceRange: "$$",
sortBy: "rating"
});
// Get business details
const details = await client.call("yelp_get_business_details", {
businessId: "nobu-san-francisco"
});
// Read reviews
const reviews = await client.call("yelp_get_reviews", {
businessId: "nobu-san-francisco",
sortBy: "newest",
limit: 20
});
// Get restaurant photos
const photos = await client.call("yelp_get_photos", {
businessId: "nobu-san-francisco",
category: "food"
});
// Find trending restaurants
const trending = await client.call("yelp_get_trending", {
location: "San Francisco, CA",
category: "restaurants"
});Features
Restaurant Search: Filter by cuisine, price, distance, ratings
Business Discovery: Search for any type of local business
Reviews: Access user reviews with ratings and photos
Photos: Browse food, interior, and exterior photos
Menus: View menu items with prices
Hours: Get operating hours including special hours
Trending: Discover hot new spots
Collections: Access curated "best of" lists
Deals: Find current promotions and offers
Requirements
Node.js 18+
License
MIT
Links
Available Tools
6 toolsyelp_get_dealsB
Get current deals and offers for businesses in a location.
| Name | Required | Description | Default |
|---|---|---|---|
| category | No | Business category | |
| location | Yes | Location to search |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description does not disclose any behavioral traits (e.g., rate limits, authorization, side effects).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no wasted words, but could benefit from slightly more structure or detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and no description of return format or pagination; incomplete for a search-like tool with multiple siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters ('location' and 'category') are described in the schema (100% coverage), so the description adds no additional meaning beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves 'current deals and offers for businesses in a location,' distinguishing it from siblings like yelp_get_hours or yelp_get_menu.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives; lacks context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
yelp_get_hoursA
Get business hours including special hours and holidays.
| Name | Required | Description | Default |
|---|---|---|---|
| businessId | Yes | Yelp business ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries full burden. It states it returns business hours including special/holiday hours, but does not disclose error handling, rate limits, data freshness, or response structure. This is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is clear and concise, with no unnecessary words. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with one required parameter and no output schema. However, the description lacks details on return format, error scenarios, or data structure (e.g., days of week). Given no annotations, it is moderately complete but could be more informative.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the parameter 'businessId' already has a description in the schema ('Yelp business ID'). The tool description adds no further meaning beyond what the schema provides, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'business hours', and specifies inclusion of special hours and holidays. It is distinct from sibling tools (deals, menu, reviews, etc.) which cover other aspects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, prerequisites, or context such as needing a valid business ID. The description is purely functional.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
yelp_get_reviewsB
Get reviews for a specific business with ratings and text.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of reviews to retrieve | |
| sortBy | No | Sort reviews by | |
| businessId | Yes | Yelp business ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries burden. It discloses returning reviews with ratings and text, but omits pagination behavior (limit parameter) and does not mention that results are a list. Minimal but not misleading.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no fluff, efficiently conveying the core purpose. Could include more detail without sacrificing conciseness, but currently it is appropriately sized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 parameters, no output schema, and is a read operation, the description is adequate but lacks explicit mention of pagination, sorting, and the fact it returns a list. Gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are already described. The description adds no extra meaning beyond what is in the schema, meeting baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get', resource 'reviews', and what is returned ('ratings and text'), distinguishing it from sibling tools like yelp_get_deals or yelp_get_hours.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. The description does not mention scenarios or prerequisites, leaving the agent to infer usage from context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
yelp_get_trendingB
Get trending/hot new restaurants and businesses in a location.
| Name | Required | Description | Default |
|---|---|---|---|
| category | No | Category filter (e.g., 'restaurants', 'nightlife') | |
| location | Yes | Location to search |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It only states the basic purpose, without disclosing behavior such as return format, sorting, limits, or whether it's a read-only operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single, front-loaded sentence with no wasted words. Efficiently conveys the core function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, few parameters, and no annotations, the description is minimally adequate but lacks details on return values or behavior changes for missing parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (both parameters described). Description adds no extra meaning beyond the schema, earning the baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Get'), resource ('trending/hot new restaurants and businesses'), and scope ('in a location'). It distinguishes the tool from siblings like yelp_search_businesses (general search) and other specific tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like yelp_search_businesses or yelp_get_deals. Description does not provide context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
yelp_search_businessesC
Search for any type of business on Yelp (not just restaurants).
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query (e.g., 'plumber', 'hair salon') | |
| category | No | Business category | |
| location | Yes | Location (city, neighborhood, or address) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must bear the full burden of disclosing behavioral traits. It only states the action (search) without describing what the tool returns, whether it has side effects, or any constraints (e.g., rate limits, pagination). For a search tool, the lack of output format details is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at one sentence with no wasted words. While it could benefit from additional context, it does not contain any filler or redundancy, earning a high score for efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema and annotations, the description is insufficiently complete. It does not explain the result format, any default behavior (e.g., ordering, limits), or how it complements sibling tools like yelp_get_reviews. An agent would have to infer many details from the tool name alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already has 100% parameter description coverage, providing clear meaning for all three parameters (query, category, location). The description adds no extra information about the parameters, so it meets the baseline expectation without exceeding it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool searches for any type of business on Yelp and explicitly clarifies it is not limited to restaurants, which distinguishes it from a common assumption. However, it does not specify that the search uses query and location parameters, leaving some ambiguity about how the search is performed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus its siblings (yelp_get_deals, yelp_get_hours, etc.). The description does not mention prerequisites, limitations, or alternative tools, leaving the agent to infer the appropriate context from the tool name and siblings alone.
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.
6 tool updates
v0.1.0- First observed
yelp_get_deals - First observed
yelp_get_hours - First observed
yelp_get_menu - First observed
yelp_get_reviews - First observed
yelp_get_trending - First observed
yelp_search_businesses
TDQS
Each tool targets a distinct aspect of Yelp data: deals, hours, menu, reviews, trending, and general search. There is no overlap in purpose, so an agent can clearly distinguish them.
All tools start with 'yelp_' and use a verb_noun pattern, but 'search_businesses' uses 'search' instead of 'get', which is a minor deviation. Overall, the naming is predictable and readable.
With 6 tools, the set is well-scoped for a Yelp MCP server. It covers core read operations without unnecessary bloat, fitting the typical use cases for a Yelp integration.
The tools cover search, reviews, hours, menu, deals, and trending, which are key read operations. A minor gap is the lack of a dedicated business detail tool, but search likely covers basic info. Write operations are not expected.
Maintenance
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
Live Google Maps business search, review, and photo data for AI agents over MCP.
MCP server connecting AI agents to 100+ apps (Gmail, Slack, Notion, GitHub) via one-click OAuth.
MCP layer for local businesses: discover, query, book, and transact with verified SMB AI agents.
- ZapierOAuthcom.zapier
Hosted MCP server connecting AI assistants to 9,000+ apps and 40,000+ actions via Zapier.
Related MCP Servers
- AlicenseBqualityBmaintenanceMCP server that enables LLMs to interact with Tripadvisor API, supporting location data, reviews, and photos through standardized MCP interfaces563MIT
- AlicenseAqualityDmaintenanceEnables 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.126Apache 2.0
- FlicenseAqualityDmaintenanceMinimal MCP server for the Yelp Fusion API v3, enabling business search, phone lookup, match, details, and reviews via FastMCP.5-
- FlicenseAqualityDmaintenanceProvides Yelp Fusion API access through MCP tools and resources for searching businesses, getting reviews, and more.5-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/markswendsen-code/mcp-yelp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server