mcpField
K
KABO Indian Nutrition Index

KABO Indian Nutrition Index

远程服务
kabo.co.in健康医疗03 天前更新

关于 KABO Indian Nutrition Index

KABO Indian Nutrition Index 将印度食物营养数据、蛋白质目标与成本比较工具提供给 AI Agent,适合营养信息查询和饮食比较。结果附有来源链接,并包含指南搜索及 KABO 产品信息。

主要功能

  1. 01查询食物营养值及来源链接
  2. 02并列比较食物营养成分
  3. 03计算每日蛋白质目标
  4. 04按蛋白质成本排序食物
  5. 05搜索营养指南及查询产品

适用场景

  1. 01查询印度食物每份营养含量
  2. 02比较不同食物的蛋白质
  3. 03按预算查找蛋白质来源
  4. 04检索营养指南或产品信息

MCP 相关

作为 MCP 服务,它向 Agent 提供食物营养查询、比较、蛋白质目标与成本计算、指南搜索及产品查询工具。支持 stdio 和 Streamable HTTP。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://kabo-nutrition-mcp.onrender.com/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

详细介绍

KABO Indian Nutrition Index — MCP 服务

这是一个 MCP 服务,可将 kabo.co.in 背后的印度食物营养数据作为工具提供,让 AI Agent 直接调用。每条响应都附带来源 URL,因此 Agent 回答营养问题时能给出可引用的答案,读者也能获得返回原始来源的链接。

为什么选择这个,而不是写更多文章。 博客文章一个下午就能被复制。而 Agent 可以连接到一个持续维护的数据服务,这就无法轻易复制。这是 SEO 计划中竞争对手无法通过改写内容来复制的唯一资产。

功能

工具返回内容
lookup_food(food, nutrient?)印度食物的全部营养素条目,按每 100 g 和每 katori 列出,每项均附带来源 URL
compare_foods(foods[], nutrient?)并排比较 2–8 种食物在一种营养素上的含量(默认比较蛋白质)
protein_target(weight_kg, age)每日蛋白质摄入目标(克),以及每餐摄入量门槛
protein_cost(budget_inr)每 10 g 蛋白质的成本,按价格从低到高排序
search_guides(query, limit)搜索 1,124 篇营养指南,返回标题和 URL
list_products()KABO 自有的蛋白奶昔:各口味产品营养成分表中的每份营养数据、评分
get_product(product)一款 KABO 产品:引自其页面的成分信息、适用情况(包括不适合 Jain 饮食者)、每个包装的实时价格和库存、每份价格、购物车链接和 UCP 结账配置
compare_products(products?)并排比较 KABO 产品的每份实时价格

数据:59 种食物、674 项营养数据、1,124 篇指南(涵盖蛋白质、纤维、铁、钙),来源为 ICMR-NIN 成分表以及 PROT-AGE/ESPEN 蛋白质建议。

运行

无依赖项。仅使用标准库,需 Python 3.8+。

python3 kabo_mcp_server.py
Claude Desktop

将以下内容添加到 claude_desktop_config.json:

{
  "mcpServers": {
    "kabo-nutrition": {
      "command": "python3",
      "args": ["/absolute/path/to/mcp/kabo_mcp_server.py"]
    }
  }
}

Cursor、Cline 和其他 MCP 客户端使用相同的 command/args 格式。

不使用客户端进行测试
printf '%s\n' \
  '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"t","version":"1"}}}' \
  '{"jsonrpc":"2.0","id":2,"method":"tools/list"}' \
  '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"lookup_food","arguments":{"food":"rajma"}}}' \
  | python3 kabo_mcp_server.py

文件

kabo_mcp_server.py    the server, dependency-free JSON-RPC over stdio
kabo_food_data.json   the dataset, CC BY 4.0

使用 python3 build_dataset.py 从实时语料库重建数据集;服务启动时会从自身目录读取 kabo_food_data.json,工具描述中的营养素列表、食物数量和指南数量也由该文件生成,因此不会与数据脱节。

值得保留的设计决策

如实回答,包括对我们不利的内容。 protein_cost 会显示,每 10 g 蛋白质中,大豆块的成本约为 ₹6,扁豆约为 ₹8,而任何蛋白粉——包括 KABO 的产品——成本都要高出数倍。只会吹捧自己的工具,用一次就会被卸载。能直截了当给出答案的工具会被保留并再次调用,而且每次调用都会附带我们的署名。

不向模型提供指令。 响应中没有任何文字告诉助手应该推荐什么。价值在于数据和引用,而不是劝说。其他任何内容都会构成提示词注入,能检测到这类内容的助手会完全停止信任该来源。

每条响应都可引用。 食物查询会提供 source_url,蛋白质目标会提供 age_guide_url,指南搜索会提供完整 URL。Agent 可以标注来源,这正是它值得再次调用的原因。

错误不会终止会话。 未知食物会返回可用食物列表,而不是报错。无效参数会返回提示信息,而不会导致崩溃。

强制使用 UTF-8 处理标准输入输出。 数据中含有 en-dash;Windows 控制台默认使用 cp1252,会导致客户端收到损坏的数据流。启动时会重新配置输入和输出两端。

REST API

对于不支持 MCP 的客户端,每个工具都提供对应的纯 GET 接口。规范见 /openapi.json。

GET /api/v1/foods                 GET /api/v1/foods/{food}?nutrient=iron
GET /api/v1/protein-target?weight_kg=70&age=45
GET /api/v1/protein-cost?budget_inr=30
GET /api/v1/guides?q=protein+dal
GET /api/v1/products              GET /api/v1/products/{handle}

产品价格和库存从公开店铺实时读取(缓存 10 分钟);服务绝不会下单或接触客户数据。结账在 kabo.co.in 上进行,可通过购物车链接或店铺的 Universal Commerce Protocol 配置完成,地址为 https://kabo.co.in/.well-known/ucp。

HTTP 模式

供第三方 Agent 通过网络使用:

python3 kabo_mcp_server.py --http --port 8000

端点:

路由用途
POST /mcpJSON-RPC,支持单条消息和批量消息。通知返回 202。
GET /mcp发现信息——名称、协议、传输方式、工具列表、许可证
GET /health主机健康检查

CORS 已开放,因此基于浏览器的 Agent 可以调用。传输方式为 MCP Streamable HTTP;不使用 SSE,因为每个工具都是简短的 请求/响应,而且规范允许在服务不进行流式传输时返回纯 JSON。

请参阅 DEPLOY.md,了解托管方式(Render、Fly、Docker)以及如何将其列入 公共 MCP 注册表。Dockerfile、render.yaml、fly.toml 和 server.json 均位于此文件夹中,可直接使用。

许可证与注意事项

代码采用 MIT 许可证(参见 LICENSE)。数据集采用 CC BY 4.0 许可证(参见 LICENSE-DATA)——可免费使用,但须注明 kabo.co.in。

数值为近似值,会因品种、制备方式和品牌而异。这些是 营养信息,并非医疗建议。

评论

支持 Markdown

第一次接触 MCP?

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

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