关于 yelpdata
yelpdata 是连接 HasData 托管 Yelp MCP 服务的本地桥接程序,适用于需要商家列表、详情和公开评论的客户端。它转发三个只读查询工具,并原样返回上游结果。
主要功能
- 01按关键词和地点搜索商家
- 02获取完整商家详情
- 03读取和筛选公开评论
- 04将工具调用转发至 HasData
适用场景
- 01查找指定区域的商家
- 02获取商家的联系方式和营业时间
- 03查看评分与公开评论
MCP 相关
它通过 MCP 服务提供三个只读工具,并将调用转发给 HasData 托管的 Yelp MCP 服务。客户端可通过 stdio 或 CLI 连接。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
3收录的工具列表 · 更新于 2 天前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| domain | enum | 否 | 要使用的 Yelp 域名。默认为 `www.yelp.com`。www.yelp.com | www.yelp.co.uk | www.yelp.ca | www.yelp.com.au | ms.yelp.my | www.yelp.cz | www.yelp.dk | www.yelp.de | www.yelp.at | de.yelp.ch | en.yelp.be | en.yelp.com.hk | en.yelp.my | www.yelp.co.nz | en.yelp.com.ph | www.yelp.ie | www.yelp.com.sg | en.yelp.ch | www.yelp.com.ar | www.yelp.cl | www.yelp.es | www.yelp.com.mx | fil.yelp.com.ph | fr.yelp.be | fr.yelp.ca | www.yelp.fr | fr.yelp.ch | www.yelp.it | it.yelp.ch | nl.yelp.be | www.yelp.nl | www.yelp.no | www.yelp.pl | www.yelp.com.br | www.yelp.pt | fi.yelp.fi | sv.yelp.fi | www.yelp.com.tr | www.yelp.co.jp | zh.yelp.com.hk | www.yelp.com.tw |
| placeId | string | 是 | 地点的 Yelp ID 或 Yelp 别名。例如,'jPIZ3FR5LNcwPuUHi2Fe4g' 或 'mcdonalds-new-york-386'。 |
详细介绍
yelpdata
yelpdata 是一个小型本地桥接程序,可连接托管的 HasData Yelp MCP 服务,并将 Yelp 商家数据以 JSON 格式返回。它可以按关键词和地点搜索商家, 根据 Yelp ID 或别名获取某家商家的完整信息, 并读取该商家公开的评论动态: 名称、地址、商家公布的电话和网站、价格范围、 类别、总体评分、评论数量、营业时间,以及评论文本和 已公布的评论者显示名称。
该桥接程序不持有任何商家数据。 它会在本地返回工具列表,内容与从在线端点捕获的数据完全一致, 并将每次工具调用转发至上游,原样返回收到的内容。捕获到的 工具集包含三种只读获取操作,读取商家公布的数据和公开评论:不包含 预订、点餐、消息或支付工具, 也不包含商家或评论者未在 Yelp 上公布的任何个人联系信息。
工具
hasdata_yelp_search_getSearchResults— 搜索 Yelp 商家。必填:keyword和location。 可选:l(地图边界半径字符串,格式为g:lon1,lat1,lon2,lat2)、domain(要查询的国家或地区 Yelp 站点)以及start(分页时的结果偏移量)。返回按 排名排列的商家列表,其中包含 Yelp 别名/ID、名称、类别、评分、评论 数量、价格档位和缩略图;可将返回的 别名传给地点工具以获取完整记录。hasdata_yelp_place_getPlaceDetails— 获取某家 商家的完整信息。必填:placeId(Yelp ID 或 Yelp 别名)。可选:domain。返回名称、 地址、电话、网站、价格范围、类别、 总体评分、评论数量、营业时间、设施、 照片和精选评论。hasdata_yelp_reviews_getPlaceReviews— 读取某家 商家的评论动态。必填:placeId。 可选:domain、query(在评论中进行全文搜索)、sortBy(relevanceDesc、dateDesc、dateAsc、ratingDesc、ratingAsc、elitesDesc)、rating(星级筛选,允许使用逗号分隔的多个值)、languageCode、notRecommended(返回 Yelp 当前不推荐的评论),以及 通过start/num或先前响应中的不透明nextPageToken进行分页。每条评论 均会返回已公布的作者个人资料、完整文本、 星级评分、时间戳、照片和视频、读者反馈, 以及商家在有回复时发布的回复,另外还会返回 商家按评分和语言划分的评论总数。
配置
HASDATA_YELP_MCP_URL(可选)— 覆盖 上游端点。默认为https://mcp.hasdata.com/mcp?apis=yelp。(此 覆盖钩子是本次重建中自行标注的还原内容。)HASDATA_API_KEY(可选)— 设置后,每个 上游请求都会携带x-api-key: <key>请求头,其中使用调用者自己的 HasData API 密钥。未设置时, 不会发送密钥请求头。(请求头名称和环境变量名称由原始项目的 注册记录确定;从此环境变量转发密钥属于标注过的还原内容,原始 工具集是在未提供密钥的情况下捕获的。)
转发机制
首次调用工具时,客户端会在上游打开一个可流式传输的
HTTP 会话:先发送 JSON-RPC initialize 请求(协议版本
2025-03-26,clientInfo 名称为
yelpdata),再发送 notifications/initialized
通知,最后发送携带调用者原样参数的 tools/call 请求。上游在响应
initialize 时若返回 Mcp-Session-Id 请求头,
该值会随会话中的每个后续请求发送;该会话会在整个进程生命周期内复用。
回复可能以纯 JSON 或服务器发送事件的形式到达;两种形式都会读取。
上游返回的成功结果会原样透传,
包括上游设置的任何 isError 标志。
失败情况——JSON-RPC 错误、非 2xx 状态码、无法读取响应
或无法完成的请求——会作为 isError 结果返回,
其文本以 yelpdata error: 开头(此错误呈现方式
是本次重建中自行标注的还原内容)。
命令行
每个工具也是一个子命令,接受一个 JSON 参数字符串:
npx @reneturcios/yelpdata hasdata_yelp_search_getSearchResults '{"keyword":"coffee","location":"Seattle, Washington"}'
npx @reneturcios/yelpdata hasdata_yelp_place_getPlaceDetails '{"placeId":"mcdonalds-new-york-386"}'
npx @reneturcios/yelpdata hasdata_yelp_reviews_getPlaceReviews '{"placeId":"-4ofMtrD7pSpZIX5pnDkig","sortBy":"dateDesc"}'
npx @reneturcios/yelpdata --version
退出代码:成功时为 0,返回 isError 结果时为 1,用法错误时为 2。
MCP 服务
npx -y @reneturcios/yelpdata mcp
MCP 客户端配置:
{
"mcpServers": {
"yelpdata": {
"command": "npx",
"args": ["-y", "@reneturcios/yelpdata", "mcp"]
}
}
}
Docker
docker run -i ghcr.io/cloudcorprecords/yelpdata
docker run --rm ghcr.io/cloudcorprecords/yelpdata --version
容器的默认命令是 mcp,因此第一种形式是 stdio MCP 服务;任何其他参数都会正常传递给命令行。
开发
npm install
npm run build
npm test
npm run dev
测试套件完全针对存根化的 JSON-RPC 上游运行,不会进行实时网络调用。
许可证
MIT — 参见 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。