Menus Recommender

io.github.spyyps由 GitHub 帳號 spyyps 發布v1.0.1更新於 Oct 24, 2026

全球美食加权随机推荐:基于 396 道菜的知识库,给出多样化的就餐推荐。

已驗證STDIO僅桌面位置與生活

概覽

AI 產生的概覽

讓助理依據內建的全球美食知識庫,以加權隨機與篩選條件推薦菜色。

可以做什麼
提供 recommend_dishes 工具,從包含數百道菜、數十個菜系的本地知識庫回傳菜色,支援數量、關鍵字、價格級距、價格上限、菜系、地理大類、排除菜品 ID 與隨機種子等選用篩選。list_keywords 工具回傳支援的關鍵字白名單,涵蓋口味、食材與菜品類型。結果包含菜品 ID、名稱、價格、菜系、地區與描述,並在候選不足時提供 exhausted 標記。
適用情境
適合助理需要推薦吃什麼、為某一餐挑選菜色,或產生不重複的多樣化美食建議時使用。也適用於依口味、食材、菜系或預算篩選的日常用餐規劃對話。
執行需求
以 stdio 方式在本機執行。可透過 uvx 或 pip 安裝 PyPI 套件 menus-mcp,也可用 Python 3 從原始碼執行。未宣告帳號、API 金鑰或環境變數。首次啟動需載入資料,可能延遲約一秒。
安裝前請注意
推薦僅來自內建知識庫;當回傳 exhausted 時,README 建議助理改用網路搜尋或模型常識備援,可能給出知識庫以外的菜色。不涉及憑證、付款或寫入操作。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Menus Recommender,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

menus-mcp:全球美食推荐 MCP Server

基于 462 道菜、41 个菜系的全球美食知识库做加权随机推荐。任何支持 Model Context Protocol(MCP)的 AI agent 均可使用,包括:

快速安装

也可在 MCP Registry 直接搜到本 server(io.github.spyyps/menus-recommender)。

方式 1:uvx(推荐,无需安装)

json
{  "mcpServers": {    "menus": {      "command": "uvx",      "args": ["menus-mcp"]    }  }}

uvx 会自动从 PyPI 下载并运行,首次启动稍有延迟(数据加载约 1s),后续缓存到本地。

方式 2:pip install

bash
pip install menus-mcp

然后在 MCP 客户端配置中:

json
{  "mcpServers": {    "menus": {      "command": "menus-mcp"    }  }}

方式 3:本地源码运行

bash
git clone https://github.com/spyyps/recommend-dishcd recommend-dishpip install -r mcp-server/requirements.txt# 运行入口python3 mcp-server/server.py# 或在 mcp-server/ 目录下:cd mcp-server && python3 -m menus_mcp

然后客户端配置:

json
{  "mcpServers": {    "menus": {      "command": "python3",      "args": ["/path/to/recommend-dish/mcp-server/server.py"]    }  }}

开放的工具

recommend_dishes

主推荐工具。参数(皆为可选):

参数类型默认说明
countint3推荐数量
keywordsstr""逗号分隔的关键词(OR语义),见下方白名单
price_tierstr""经济(≤20)/实惠(21-50)/中档(51-100)/高档(101-200)/奢华(>200)
max_priceint0价格上限(CNY)
cuisinestr""菜系名(如「川菜」「日本料理」)
geostr""地理大类(如「亚洲」「欧洲」)
exclude_idsstr""逗号分隔的菜品 ID,用于换一批去重
seedint0随机种子(0=系统时间)

支持的关键词白名单:

  • 口味:麻辣、辣、甜、酸、咸、鲜
  • 食材:海鲜、牛肉、羊肉、猪肉、鸡肉、素食
  • 类型:面食、米饭类、汤、甜品、烧烤、火锅、咖喱、汉堡披萨、饮品

否定注意:用户说「不要太辣」时不要传入 辣——传空即可。关键词做硬过滤,传入就会强制匹配。

返回示例(JSON):

json
{  "dishes": [    {"id": "cn_ch_001", "name": "麻婆豆腐", "name_en": "Mapo Tofu", "price": 38, "cuisine": "川菜", "region": "中华料理", "description": "嫩豆腐配牛肉末,以花椒和豆瓣酱炒制,麻辣鲜香"}  ],  "exhausted": false,  "filters": {"count": 3, "keywords": ["辣"], "price_tier": "", "relaxed": false, ...},  "candidate_pool_size": 54,  "returned": 3}

exhausted=true 表示候选池不足,应触发兜底链(放宽约束、网络搜索、LLM 常识)。

list_keywords

返回支持的关键词白名单。无参数。

兜底推荐

MCP server 仅负责第一层(本地知识库 + 加权随机)。当 exhausted=true 时,应自行按以下链兜底:

  1. 降级过滤:去掉价格约束,重试
  2. Web 搜索:查 "{用户原话} 推荐 菜品"
  3. LLM 常识:基于通用知识推荐,标注「非知识库菜品」

算法说明

  • 关键词硬过滤:用户传关键词时菜品必须至少匹配一个(OR)
  • 反偏置:权重 × 1/√(该菜系菜品数),防止大菜系压制小菜系
  • 多样性:同一菜系最多 ceil(count/3) 道
  • 价格松弛:候选不足时自动去价格档重试一次

发布

bash
cd mcp-serverpip install buildpython3 -m buildtwine upload dist/*

详见 PyPI 发布指南。

來源:mcp-server/README.md,提交 cf23d64

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v1.0.1最新Sep 16, 2026

評分

已滿足適用檢查項的 40%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

    請在儲存庫或註冊中心條目中宣告授權條款。