mcpField
I
indian-food-nutrition-mcp

indian-food-nutrition-mcp

Local
github.com/krishnabhatHealth2Updated 20w ago

About indian-food-nutrition-mcp

indian-food-nutrition-mcp is an MCP server for AI assistants to log Indian meals and look up nutrition using IFCT 2017 and USDA data. It accepts text or photos, supports household measures, and stores records locally in SQLite and CSV files.

Key features

  1. 01Search IFCT and USDA foods
  2. 02Log meals with household measures
  3. 03Query daily nutrition totals
  4. 04Review intake history by date range
  5. 05Edit or delete meal entries
  6. 06Fetch meal photos from URLs

Use cases

  1. 01Log Indian home-cooked meals and portions
  2. 02Check daily protein and calorie intake
  3. 03Review weekly food records for guidance
  4. 04Record meals using a food photo

MCP support

As an MCP server, it exposes food search, meal logging, daily and historical queries, entry editing, and image-fetching tools to clients.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"krishnabhat-indian-food-nutrition": {
"command": "npx",
"args": [
"-y",
"indian-food-nutrition-mcp"
]
}
}
}
Run commandnpx -y indian-food-nutrition-mcp

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmindian-food-nutrition-mcp1.0.2

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

indian-food-nutrition-mcp

Your AI assistant can finally count Indian food calories correctly.

An MCP server that lets you log meals through Claude (and soon ChatGPT) in plain language: "2 rotis and a katori of dal", or just a photo of your plate. Calories and macros come from India's official food composition data (IFCT 2017, National Institute of Nutrition) plus USDA for everything else, not from US-centric databases that think a roti is a tortilla.

Why

Every popular calorie database is built on USDA data. It is inaccurate for home-cooked Indian food: wrong oils, wrong preparations, no katori, no idli. The one app with a great Indian database keeps it locked behind a subscription with no API. Meanwhile the Indian government published the real data. This project wraps it for the AI you already talk to, and gives that AI memory of what you actually ate.

  • Indian-accurate: IFCT 2017, measured across six Indian regions by NIN Hyderabad. Ghee, atta, dals, regional varieties.
  • Everything else too: 7,800+ USDA foods and drinks (public domain).
  • Household units: log in katori, plates, pieces, cups. Quantity is mandatory; the model asks instead of guessing portions.
  • Photo logging: show Claude your plate (upload or URL via fetch_image).
  • Your AI gets memory: get_history returns your real intake so the model can coach you ("your protein is low on training days") against data, not vibes.
  • Local-first and private: SQLite on your machine, plus an always-current CSV mirror at ~/.nutrition-mcp/meals.csv. No account, no cloud, no telemetry.

Quickstart (Claude Desktop)

npm install -g indian-food-nutrition-mcp

Add to claude_desktop_config.json (Settings → Developer → Edit Config):

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

Restart Claude Desktop, then just talk:

"Log breakfast: 3 idlis and a small bowl of sambar" "How much protein have I had today?" "Here's a photo of my lunch, log it" "Look at my last week and tell me where my diet is failing"

Tools

ToolWhat it does
search_foodSearch 8,300+ foods (IFCT + USDA), per-100g cal/protein/carb/fat/fiber
log_mealLog items with mandatory qty + household unit; DB-derived macros
get_dayA day's log + totals
get_historyPer-day totals over a range, the AI-coaching context block
edit_entry / delete_entryFix mistakes so history stays honest
fetch_imagePull a food photo from a URL so the model can see and log it

Data and licensing

Code is AGPL-3.0-or-later. Bundled data: IFCT 2017 + USDA SR Legacy (public domain). The INDB cooked-dish dataset (dal, dosa, idli as dishes with serving sizes) is supported by the code but not redistributed until its authors grant a license; generate it locally for personal use with npm run build:indb. Full provenance: DATA_SOURCES.md.

Hosted version (ChatGPT, mobile, zero setup)

This local server works with Claude Desktop today. A hosted version, which works as a ChatGPT connector and syncs across devices, is coming. Open an issue titled "hosted" or watch releases to get in early.

Storage

~/.nutrition-mcp/nutrition.db (SQLite, WAL) + ~/.nutrition-mcp/meals.csv (auto-maintained mirror). Override with NUTRITION_DB_PATH / NUTRITION_CSV_PATH.

Credits

  • Indian Food Composition Tables 2017, National Institute of Nutrition, Hyderabad (via the @nodef/ifct2017 package, AGPL)
  • USDA FoodData Central, SR Legacy
  • Indian Nutrient Databank (Jaacks Lab), code support, data pending license

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.