Token导航 LogoToken导航TokenDH.com
Food recommender MCP logo
搜索检索stdio官方级别未说明来源级核验

Food recommender MCP

MCP Server

基于FastMCP的美食推荐服务器,提供餐厅搜索、推荐和比较功能,适用于本地餐饮服务和地图应用。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
本地服务PythonClaudeClaude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

brightmoonflame

提供方

brightmoonflame

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install fastmcp httpx python-dotenv

详细介绍

美食推荐 MCP 服务器

这是一个基于 FastMCP 的美食推荐服务器,提供基于百度地图 API 的餐厅搜索和推荐功能。

功能特性

本 MCP 服务器提供以下五个工具:

  1. recommend_food - 根据地址和菜系类型推荐附近的餐厅

- 参数: - address: 用户地址(如"北京市海淀区上地十街10号") - cuisine_type: 菜系类型(如"火锅"、"川菜"、"日料"等,默认"餐厅") - radius: 搜索半径(米),默认1000米 - num_recommend: 推荐数量,默认5个 - price_range: 价格区间,如"0-50"、"50-100"、"100-200"等 - sort_by: 排序方式,可选: "rating"(评分), "distance"(距离), "price"(价格) - groupon_only: 是否只显示有团购的餐厅 - discount_only: 是否只显示有折扣的餐厅 - 返回:包含推荐餐厅列表的详细信息,包括名称、地址、电话、评分、距离等

  1. search_nearby_restaurants - 搜索指定地址附近的餐厅

- 参数: - address: 搜索地址 - keyword: 搜索关键词(默认"餐厅") - radius: 搜索半径(米),默认1000米 - max_results: 最多返回结果数,默认10个 - price_range: 价格区间,如"0-50"、"50-100"、"100-200"等 - sort_by: 排序方式,可选: "rating"(评分), "distance"(距离), "price"(价格) - fuzzy_search: 是否启用模糊搜索 - 返回:附近餐厅列表的基本信息

  1. get_restaurant_details - 获取餐厅详细信息

- 参数: - uid: 餐厅的唯一标识符 - refresh: 是否强制刷新缓存数据 - 返回:餐厅的详细信息

  1. compare_restaurants - 对比多个餐厅的信息

- 参数: - uids: 餐厅的唯一标识符列表 - 返回:餐厅对比信息,包括评分、价格、评论数等

  1. generate_restaurant_map - 生成指定餐厅在地图上的静态图片

- 参数: - uids: 餐厅的唯一标识符列表 - width: 图片宽度,默认400像素 - height: 图片高度,默认300像素 - zoom: 地图缩放级别,默认15 - 返回:包含地图图片URL和餐厅位置信息

环境配置

1. 安装依赖

pip install fastmcp httpx python-dotenv

2. 配置 API Key

在项目根目录创建 .env 文件,添加以下内容:

BAIDU_MAPS_API_KEY=your_baidu_maps_api_key_here

请访问 百度地图开放平台 申请 API Key。

使用方法

快速测试

运行测试脚本验证服务器功能:

python test_mcp.py

两种运行模式

模式 1: Stdio 模式(推荐日常使用)

特点: Claude Desktop 自动启动和管理,无需手动操作

配置 Claude Desktop (%APPDATA%\Claude\claude_desktop_config.json):

{
  "mcpServers": {
    "food-recommender": {
      "command": "python",
      "args": ["Food_recommender_MCP\\mcp_server.py"]
    }
  }
}

模式 2: SSE 模式(推荐开发测试)

特点: 通过 HTTP 端口访问,方便调试和测试

  1. 启动 SSE 服务器:
python mcp_server.py --sse --port 8000
# 或双击 run_sse_server.bat
  1. 配置 Claude Desktop:
{
  "mcpServers": {
    "Food_recommender_MCP": {
      "url": "http://localhost:8000/sse"
    }
  }
}
  1. 测试连接:
python test_sse_simple.py

详细说明:

配置到 Claude Desktop

在您的 MCP 客户端配置文件中添加:

{
  "mcpServers": {
    "food-recommender": {
      "command": "python",
      "args": [
        "Food_recommender_MCP\\mcp_server.py"
      ],
      "env": {
        "BAIDU_MAPS_API_KEY": "your_api_key_here"
      }
    }
  }
}

Claude Desktop 配置步骤

  1. 找到 Claude Desktop 配置文件:%APPDATA%\Claude\claude_desktop_config.json
  1. 编辑该文件,添加以下配置:
{
  "mcpServers": {
    "food-recommender": {
      "command": "python",
      "args": [
        "Food_recommender_MCP\\mcp_server.py"
      ]
    }
  }
}

注意事项:

  • 确保 Python 路径正确(如果使用 conda 环境,需要使用完整路径)
  • 确保 .env 文件在 g:\food_mcp 目录下
  • 配置完成后重启 Claude Desktop
  1. 如果使用 conda 环境,配置应该是:
{
  "mcpServers": {
    "food-recommender": {
      "command": "C:/ProgramData/Anaconda3/envs/steam_mcp/python.exe",
      "args": [
        "Food_recommender_MCP\\mcp_server.py"
      ]
    }
  }
}

使用示例

示例 1: 推荐火锅店

请在"北京市海淀区上地十街10号"附近推荐火锅店

服务器将调用 recommend_food 工具,返回附近最好的火锅店列表,按评分和距离排序。

示例 2: 搜索附近餐厅

搜索"北京市朝阳区三里屯"附近的日料店

服务器将调用 search_nearby_restaurants 工具,返回附近的日料店列表。

示例 3: 查看餐厅详情

查看 uid 为 "xxx" 的餐厅详细信息

服务器将调用 get_restaurant_details 工具,返回该餐厅的详细信息。

示例 4: 对比餐厅

对比这几个餐厅: uid1, uid2, uid3

服务器将调用 compare_restaurants 工具,返回这些餐厅的对比信息。

示例 5: 生成餐厅地图

生成这几个餐厅的地图: uid1, uid2

服务器将调用 generate_restaurant_map 工具,返回包含这些餐厅位置的地图图片。

项目结构

food_mcp/
├── mcp_server.py      # FastMCP 服务器实现
├── test_mcp.py        # MCP 功能测试脚本
├── test_sse_client.py # SSE 客户端测试脚本
├── test_sse_simple.py # 简单 SSE 测试脚本
├── .env              # 环境变量配置(需要创建)
└── README.md         # 本文件

技术栈

  • FastMCP: MCP 服务器框架
  • HTTPX: 异步 HTTP 客户端
  • 百度地图 API: 地理编码和地点搜索服务
  • Python 3.11+: 运行环境

注意事项

  1. 确保百度地图 API Key 已正确配置且有足够的配额
  2. 搜索半径建议设置在 500-3000 米之间
  3. API 调用可能受限于百度地图的频率限制
  4. 距离计算使用 Haversine 公式,相对准确

许可证

MIT License

目录标签

目录标签

本地服务PythonClaude美食推荐混合部署餐厅搜索地图服务餐饮比较

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

api-key

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdioapi-key部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

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

来源信息

继续浏览同类 MCP