Indian Food Nutrition Mcp

io.github.krishnabhatPublished by GitHub account krishnabhatv1.0.2Updated Nov 3, 2026

Indian-accurate nutrition logging for your AI: IFCT 2017 + USDA, by text or photo.

VerifiedSTDIODesktop onlyLocation & LifestyleData & Analytics

Overview

AI-generated overview

Local MCP server that lets an assistant search Indian and USDA food nutrition data, log meals in household units, and review intake history.

What you can do
  • Search 8,300+ foods from IFCT 2017 and USDA with per-100g calories, protein, carbs, fat and fiber
  • Log meals with a mandatory quantity and household unit such as katori, plate or piece, with macros taken from the database
  • Read a day's log and totals, and per-day totals over a date range for coaching context
  • Edit or delete entries to correct mistakes
  • Fetch a food photo from a URL so the model can see and log the plate
When to use it
Useful if you want an assistant to track Indian home-cooked meals accurately, by text or photo, and to answer questions about today's or last week's intake. It suits personal, local nutrition logging rather than clinical or multi-user use.
Requirements
Runs as a local process installed from npm (global install of the package) and configured in a desktop client such as Claude Desktop; desktop only. No account, API key or environment variables are required. Data is stored in SQLite under the user's home directory, with optional path overrides via NUTRITION_DB_PATH and NUTRITION_CSV_PATH.
Before you install
The assistant can write, edit and delete meal records in your local database and CSV mirror, so mistakes or unwanted changes affect your history. Photo logging fetches images from URLs you provide. The bundled INDB cooked-dish dataset is not redistributed and must be generated locally for personal use. Code is AGPL-3.0-or-later.

Installation

In SourceWeft

  1. Open Indian Food Nutrition Mcp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

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)

bash
npm install -g indian-food-nutrition-mcp

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

json
{  "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

Source: README.md at commit 94272b1

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v1.0.2LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts