Token导航 LogoToken导航

MCP Server · 地图位置

Restaurant Booking MCP Server

一个基于AI和Google Maps Places API的餐厅发现与预订服务,提供智能推荐、预订协助和详细餐厅信息。

stdio官方级别未说明来源级核验工具 0
TypeScriptCursor智能搜索

快速开始

作者 / 组织
samwang0723
提供方
samwang0723
运行时
Docker

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

15

仓库热度

收录来源

2 个

MCP World

选型结论

Restaurant Booking MCP Server 属于地图位置类 MCP Server,公开资料标注 0 个工具,通过stdio 本地进程接入,适配 Cursor,有可以直接复制的安装命令;接入前先确认权限范围。

分类

地图位置

传输方式

stdio

认证方式

无需认证

部署方式

支持远程部署

安装与配置

安装命令

docker run --rm -i mcp/booking

客户端配置示例

{
  "mcpServers": {
    "mcp-booking": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "mcp/booking"
      ]
    }
  }
}

按公开安装命令拼出来的示例,字段名和参数以仓库 README 为准;带 YOUR_API_KEY 这类占位符的位置记得换成自己的值。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Docker,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 0 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

餐厅预订MCP服务器

用于餐厅发现和预订的人工智能驱动的模型上下文协议(MCP)服务器。该服务器与Google Maps Places API集成,根据位置、美食偏好、心情和活动类型查找餐厅,然后提供智能推荐和预订帮助。

🎯 主要特点

  • 智能餐厅搜索:使用高级过滤功能查找半径20公里内的餐馆
  • 台湾默认位置:当未指定坐标时,自动在台湾周围搜索(24.1501164120.6692299)
  • 基于人工智能的推荐:通过详细的推理获得前3名餐厅建议
  • 谷歌地图集成:真实的餐厅数据,包括评级、评论和照片
  • 事件特定匹配:针对约会、家庭聚会、商务会议和庆祝活动进行了优化
  • 基于情绪的过滤:寻找与浪漫、休闲、高档、有趣或安静氛围相匹配的餐厅
  • 预订协助:获取预订说明和模拟预订功能

特性

  • 🔍 智能餐厅搜索:根据位置、菜肴类型、心情和活动类型,在20公里半径内寻找餐厅
  • 📍 谷歌地图集成:包含评级、评论、照片和联系信息的真实餐厅数据
  • 📅 预订协助:查看空房情况并获取预订说明
  • 🎯 事件特定匹配:为约会、家庭聚会、商务会议等提供优化的建议。
  • 🎭 基于情绪的过滤:寻找符合您所需氛围的餐厅(浪漫、休闲、高档等)

先决条件

  • Node.js 18+
  • 启用地点API的谷歌地图API密钥
  • 用于定制的TypeScript知识

安装

  1. 克隆或下载此项目
   git clone 
   cd mcp-restaurant-booking
  1. 安装依赖项
   npm install
  1. 设置环境变量
   cp .env.example .env

编辑 .env 并添加您的Google Maps API密钥:

   GOOGLE_MAPS_API_KEY=your_actual_api_key_here
  1. 构建项目
   npm run build

获取谷歌地图API密钥

  1. 首选 谷歌云控制台
  2. 创建新项目或选择现有项目
  3. 启用以下API:

- 地点API - 映射JavaScript API - 地理定位 - 地点API(新增) - 地理编码API

  1. 创建凭据(API密钥)
  2. 为了安全起见,将API密钥限制为已启用的API

用法

运行服务器

开发模式:

npm run dev

生产方式:

npm start

在Docker中运行

在Docker中运行MCP餐厅预订服务器:

# Build the Docker image
docker build -t mcp/booking .

# Run the container on the same network as Redis
docker run --rm -i mcp/booking

可用工具

MCP服务器提供以下工具:

1. search_restaurants

根据地点、菜肴、心情和活动类型查找餐厅。

参数:

  • latitude (数字,可选):搜索纬度(默认:24.1501164-台湾)
  • longitude (数字,可选):搜索经度(默认:120.6692299-台湾)
  • placeName (字符串,可选):要搜索附近的地名(例如,“纽约”、“东京”、“伦敦”)。提供纬度/经度坐标的替代方法。
  • cuisineTypes (string\[\]):烹饪偏好数组
  • mood (string):期望的氛围
  • event (string):场合类型
  • radius (数字,可选):搜索半径,单位为米(默认值:20000)
  • priceLevel (数字,可选):价格偏好(1-4)

台湾默认位置示例:

{
  "cuisineTypes": ["Chinese", "Taiwanese"],
  "mood": "casual",
  "event": "family gathering",
  "priceLevel": 2
}

显式坐标示例(台北):

{
  "latitude": 25.033,
  "longitude": 121.5654,
  "cuisineTypes": ["Italian", "Mediterranean"],
  "mood": "romantic",
  "event": "dating",
  "radius": 15000,
  "priceLevel": 3
}

地名示例(纽约):

{
  "placeName": "New York, NY",
  "cuisineTypes": ["Italian", "American"],
  "mood": "upscale",
  "event": "business meeting",
  "radius": 10000,
  "priceLevel": 3
}

特定食物类型的关键字搜索示例:

{
  "keyword": "hotpot",
  "mood": "casual",
  "event": "family gathering",
  "radius": 10000
}
2. get_restaurant_details

获取特定餐厅的详细信息。

参数:

  • placeId (string):餐厅的Google Places ID
3. get_booking_instructions

获取如何预订的说明。

参数:

  • placeId (string):餐厅的Google Places ID
4. check_availability

检查预订的可用性(模拟实施)。

参数:

  • placeId (字符串):谷歌地点ID
  • dateTime (string):ISO格式的首选日期/时间
  • partySize (人数):人数
5. make_reservation

尝试预订(模拟实现)。

参数:

  • placeId (字符串):谷歌地点ID
  • partySize (人数):人数
  • preferredDateTime (字符串):ISO格式日期/时间
  • contactName (string):预订名称
  • contactPhone (string):电话号码
  • contactEmail (字符串,可选):电子邮件地址
  • specialRequests (字符串,可选):特殊请求

运作原理

1.餐厅探索

  • 使用Google Places Near Search API查找指定半径内的餐馆
  • 使用关键字匹配按菜肴类型筛选
  • 检索每家餐厅的详细信息

2.人工智能推荐引擎

推荐系统根据以下因素对餐厅进行评分:

  • 评分和评论(40%权重):更高的评分和更多的评论=更好的分数
  • 审核计数(20%权重):更多评论表明可靠性
  • 烹饪搭配(20%重量):餐厅的菜肴与喜好的匹配程度如何
  • 事件适用性(10%重量):适用于指定的事件类型
  • 情绪匹配(10%权重):氛围与所需情绪保持一致

3.特定事件评分

不同的事件有不同的标准:

  • 约会:喜欢中高端浪漫美食,避免快餐
  • 家庭聚会:更喜欢家庭友好型、预算适中的选择
  • 商务会议:喜欢安静、专业、高档的环境
  • 休闲餐饮:灵活的标准,预算友好的选择
  • 庆祝:更喜欢高端、特殊场合的场所

4.情绪匹配

分析餐厅名称、评论和情绪关键词的特征:

  • 浪漫的:亲密、舒适、烛光、葡萄酒
  • 随意:放松、友好、悠闲
  • 高档:优雅、精致、精致的餐饮
  • 乐趣:活泼、精力充沛、充满活力
  • 安静:宁静、安详、平和

发展

项目结构

src/
├── types/           # TypeScript type definitions
├── services/        # Core business logic
│   ├── googleMapsService.ts      # Google Maps API integration
│   ├── restaurantRecommendationService.ts  # AI recommendation engine
│   └── bookingService.ts         # Booking logic (mock)
└── index.ts         # MCP server implementation

脚本

  • npm run build:编译TypeScript
  • npm run dev:以热重载的开发模式运行
  • npm start:运行编译版本
  • npm run lint:运行ESLint
  • npm run lint:fix:修复ESLint问题

定制

添加新的菜肴类型

编辑 cuisineMap 在……里面 src/services/googleMapsService.ts:

const cuisineMap: { [key: string]: string } = {
  new_cuisine_type: "Display Name",
  // ... existing mappings
};
修改推荐逻辑

更新评分算法 src/services/restaurantRecommendationService.ts:

  • calculateRestaurantScore():总体评分逻辑
  • calculateEventSuitability():事件特定标准
  • calculateMoodMatch():情绪匹配逻辑
添加新事件类型
  1. 更新 event 枚举在 src/types/index.ts
  2. 在中添加事件标准 calculateEventSuitability() 方法

局限性

  • 预订:目前使用模拟实现。真正的预订需要与餐厅特定的系统或OpenTable等第三方服务集成
  • API配额:Google Places API有使用限制和成本
  • 实时数据:餐厅营业时间和可用性可能不是实时的
  • 地区范围:仅限于Google Places API覆盖的区域

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 如果适用,添加测试
  5. 提交拉取请求

许可证

MIT许可证-有关详细信息,请参阅许可证文件

支持

对于问题和疑问:

  1. 查看Google Maps API文档
  2. 验证您的API密钥是否具有正确的权限
  3. 检查API配额和帐单
  4. 查看服务器日志以了解错误详细信息

未来的增强功能

  • \[\]真正的预订系统集成(OpenTable、Resy等)
  • \[\]用户偏好学习
  • \[x\] 多语言支持
  • \[\]高级过滤(饮食限制、可及性)
  • \[\]与日历系统集成
  • \[x\] 价格比较功能
  • \[\]社交功能(评论、分享)

附加浏览器控件

使用浏览器MCP

  • https://chromewebstore.google.com/detail/browser-mcp-automate-your/bjfgambnhccakkhmkepdoekmckoijdlc
  • https://docs.browsermcp.io/setup-server#cursor

样品

  • 提示:-在搜索餐厅时,请担任专业个人助理,评估我提供的条件,不要问太多问题让我选择,为我选择最合适的选择,检查预订选项并指导如何预订。还列出了该餐厅的招牌菜和每人的大致价格。当预订信息具有使用外部url的预订url时,请使用mcp浏览工具来查找预订步骤。
  • 你能帮我订一家香港附近的餐馆吗太平洋廣場,我想晚上6点在一家高档餐厅和我妻子约会。成本不是问题,需要浪漫

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

餐厅推荐TypeScript本地部署智能搜索GoogleMaps集成预订服务AI推荐

支持客户端

Cursor

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

地址与坐标转换

把地址转成经纬度,或按坐标反查位置。

路线与距离

算行程时间、规划多点路线。

天气与出行

查天气和预警,按条件安排行程。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 Docker,换机器要重新装一遍。
  • 公开摘要偏短,具体能力和限制要回到仓库确认。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在地图位置场景里让模型直接调用外部能力的人。
  • 已经在用 Cursor 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Restaurant Booking MCP Server

MCP World · 本页

0stdio有2 个2026-05-17
Baidu Maps

MCP World

10stdio有1 个2026-05-17
MCP Server C2f246e3

MCP World

20stdio有1 个2026-05-17
OpenStreetMap MCP Server

MCP.so

12stdio有3 个2026-05-17
Google Maps (google-maps-aa2563d3)

MCP World

7未说明未标注1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Restaurant Booking MCP Server 怎么安装?

公开资料给出的安装命令是 docker run --rm -i mcp/booking,运行环境为 Docker。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Restaurant Booking MCP Server 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Docker;保存后完全退出客户端再打开,配置才会生效。

Restaurant Booking MCP Server 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Restaurant Booking MCP Server 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Restaurant Booking MCP Server 支持哪些客户端?

公开资料标注支持 Cursor;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP