项目简介

Gotta-eat 是一个基于 Model Context Protocol (MCP) 构建的餐厅搜索和预订助手。它允许用户通过 Claude 等 LLM 客户端搜索餐厅、查询预订时间和查看餐厅视频,旨在为用户提供更便捷的餐厅选择和预订体验。

主要功能点

  • 餐厅搜索 (search-restaurants): 根据用户提供的菜系偏好,调用 Resy API 搜索符合条件的餐厅。
  • 预订时间查询 (find-reservation-times): 利用 Resy API 查询特定餐厅在指定日期和人数下的可用预订时间。
  • 餐厅视频展示 (let-me-see): 通过视频搜索服务(示例中使用 Serper API,但实际代码中使用了硬编码的 New York Restaurant 搜索),查找并展示餐厅相关的公开视频,帮助用户更直观地了解餐厅环境。

安装步骤

  1. 安装 'uv': 确保你的环境中安装了 'uv' 包管理器。你可以参考 uv 的官方文档进行安装。
  2. 获取 Resy API Key: 访问 Resy 开发者平台 (如果需要) 或相关渠道获取 Resy API Key。这是访问 Resy API 的凭证。
  3. 配置环境变量:
    • 在 'gotta-eat/' 目录下,找到 'env-example' 文件。
    • 复制 'env-example' 文件,并重命名为 '.env'。
    • 打开 '.env' 文件,将你获取的 Resy API Key 填入 'RESY_API_KEY=' 后面。例如:'RESY_API_KEY=your_resy_api_key'。
  4. 启动服务器:
    • 打开终端,进入 'gotta-eat/' 目录。
    • 运行命令 'uv run gotta-eat' 启动 MCP 服务器。
    • 可以通过 'tail -f gotta-eat/app.log' 命令查看服务器日志,确认服务器是否正常运行。

服务器配置 (MCP 客户端)

对于需要连接 Gotta-eat MCP 服务器的 MCP 客户端(如 Claude),你需要配置服务器的启动信息。以下是 JSON 格式的配置示例,你需要将其填入 MCP 客户端的服务器配置中:

{
  "serverName": "gotta-eat",  // MCP 服务器名称,用于客户端识别
  "command": "uv",         // 启动服务器的命令,这里使用 uv 包管理器
  "args": ["run", "gotta-eat"] // 命令参数,指定运行 gotta-eat 脚本
}

基本使用方法

  1. 确保 Gotta-eat MCP 服务器已成功启动并运行。
  2. 打开配置了 Gotta-eat 服务器的 MCP 客户端(如 Claude)。客户端应该能够自动检测到正在运行的 MCP 服务器。
  3. 在 MCP 客户端中,你可以像与 సాధారణ LLM 应用交互一样进行提问。例如,你可以向 Claude 提出类似 "can you book an indian restaurant for two tomorrow?" 的问题。
  4. Gotta-eat 服务器会接收到客户端的请求,并根据请求调用相应的工具(例如 'search-restaurants' 或 'find-reservation-times')来处理用户意图,最终将结果返回给客户端。

请注意: 仓库 README 中提到,为了 hackathon 演示,服务器可能存在硬编码的查询和餐厅 ID。为了获得动态查询能力,你可能需要修改 'gotta-eat/src/gotta_eat/server.py' 文件中的代码,移除硬编码部分,并根据实际需求进行调整。

信息

分类

网页与API