mcpField
I
indian-food-nutrition-mcp

indian-food-nutrition-mcp

本地服务
github.com/krishnabhat健康医疗220 周前更新

关于 indian-food-nutrition-mcp

indian-food-nutrition-mcp 是供 AI 助手记录印度饮食并查询营养的 MCP 服务,数据采用 IFCT 2017 和 USDA。它支持文字或照片记录、印度家常计量单位,并将数据保存在本机 SQLite 与 CSV 文件中。

主要功能

  1. 01搜索 IFCT 与 USDA 食物
  2. 02按家常单位记录餐食
  3. 03查询每日营养总量
  4. 04按日期范围查看摄入历史
  5. 05编辑或删除记录
  6. 06从图片链接获取餐食照片

适用场景

  1. 01记录印度家常餐食与份量
  2. 02查询当天蛋白质和热量摄入
  3. 03回顾一周饮食数据以辅助指导
  4. 04通过餐食照片记录饮食

MCP 相关

作为 MCP 服务,它向客户端提供食物搜索、餐食记录、每日与历史查询、记录编辑和图片获取工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"krishnabhat-indian-food-nutrition": {
"command": "npx",
"args": [
"-y",
"indian-food-nutrition-mcp"
]
}
}
}
启动命令npx -y indian-food-nutrition-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmindian-food-nutrition-mcp1.0.2

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

indian-food-nutrition-mcp

你的 AI 助手终于能正确计算印度食物的热量了。

一个 MCP 服务,让你通过 Claude(很快也将支持 ChatGPT)用自然语言记录餐食:“2 张烙饼和一碗扁豆汤”,也可以直接上传餐盘照片。热量和宏量营养素数据来自印度官方食物成分数据(IFCT 2017,国家营养研究所),其他食物则来自 USDA,而非那些把烙饼当成玉米饼的以美国为中心的数据库。

为什么要做这个项目

所有热门的热量数据库都基于 USDA 数据。对于家常印度菜,这些数据并不准确:油用错了,烹饪方式不对,没有小碗计量单位,也没有蒸米糕。那款印度食物数据库很出色的应用却把数据锁在订阅服务后面,而且没有 API。与此同时,印度政府已经公布了真实数据。本项目将这些数据接入你已经在使用的 AI,并让 AI 记住你实际吃过什么。

  • 准确涵盖印度食物: IFCT 2017,由海得拉巴 NIN 对六个印度地区进行测量。包括酥油、全麦粉、扁豆和地区品种。
  • 也涵盖其他食物: 7,800 多种 USDA 食物和饮料(公有领域)。
  • 家用计量单位: 可按碗、盘、个、杯记录。必须填写数量;模型会询问,而不是猜测份量。
  • 照片记录: 给 Claude 查看你的餐盘照片(通过 fetch_image 上传或提供 URL)。
  • 让 AI 拥有记忆: get_history 会返回你的真实摄入量,让模型根据数据而非感觉为你提供指导(“你在训练日的蛋白质摄入偏低”)。
  • 本地优先且注重隐私: 数据存储在你设备上的 SQLite 中,并始终同步到 ~/.nutrition-mcp/meals.csv。无需账户、无需云端、无遥测。

快速开始(Claude Desktop)

npm install -g indian-food-nutrition-mcp

在 claude_desktop_config.json 中添加配置(Settings → Developer → Edit Config):

{
  "mcpServers": {
    "nutrition": {
      "command": "indian-food-nutrition-mcp"
    }
  }
}

重启 Claude Desktop,然后直接对话:

“记录早餐:3 个蒸米糕和一小碗桑巴汤” “我今天摄入了多少蛋白质?” “这是我的午餐照片,帮我记录一下” “看看我上周的饮食,告诉我有哪些问题”

工具

工具功能
search_food搜索 8,300 多种食物(IFCT + USDA),显示每 100 克的热量、蛋白质、碳水化合物、脂肪和纤维
log_meal记录食物项目,数量和家用计量单位为必填项;宏量营养素数据来自数据库
get_day查看某一天的记录和总摄入量
get_history查看一段时间内每天的总摄入量,为 AI 提供指导所需的上下文
edit_entry / delete_entry更正错误,让历史记录保持准确
fetch_image从 URL 获取食物照片,让模型查看并记录

数据与许可

代码采用 AGPL-3.0-or-later 许可。随附数据:IFCT 2017 + USDA SR Legacy(公有领域)。代码支持 INDB 熟食数据集(扁豆汤、薄饼、蒸米糕等菜品及其份量),但在作者授予许可前,不会重新分发该数据集;个人可使用 npm run build:indb 在本地生成。完整来源信息:DATA_SOURCES.md。

托管版本(ChatGPT、移动设备、零配置)

此本地服务目前可与 Claude Desktop 搭配使用。即将推出托管版本,可作为 ChatGPT 连接器使用,并在多台设备间同步。提交标题为“hosted”的议题,或关注版本发布,以便尽早体验。

存储

~/.nutrition-mcp/nutrition.db(SQLite,WAL)+ ~/.nutrition-mcp/meals.csv(自动维护的镜像文件)。可通过 NUTRITION_DB_PATH / NUTRITION_CSV_PATH 覆盖。

致谢

  • 《印度食物成分表 2017》,海得拉巴国家营养研究所(通过 @nodef/ifct2017 包提供,采用 AGPL 许可)
  • USDA FoodData Central,SR Legacy
  • 印度营养素数据库(Jaacks Lab):代码已支持,数据许可待定

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。