lookup_food
Nutrition values for an Indian food (calcium, fibre, iron, protein) per 100 g and per katori, with the source article URL, for 59 foods. Data from ICMR-NIN composition tables.
foodrequirednutrient
io.github.Guru-ragulPublished by GitHub account Guru-ragulv1.0.0Updated Nov 6, 2026
ICMR-NIN nutrition for 52 Indian foods: protein, targets by age, cost ranking. Every answer cited.
Remote MCP server for Indian food nutrition data from ICMR-NIN tables, letting an assistant look up nutrients, compare foods, set protein targets and rank…
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.
Read https://sourceweft.com/mcp/io.github.Guru-ragul%2Fkabo-nutrition/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.Add this to your client's mcpServers config.
{
"mcpServers": {
"kabo-indian-nutrition-index": {
"type": "http",
"url": "https://kabo-nutrition-mcp.onrender.com/mcp"
}
}
}An MCP server exposing the Indian food nutrition data behind kabo.co.in as tools an AI agent can call directly. Every response carries a source URL, so an agent answering a nutrition question gets a citable answer and the reader gets a link back.
Why this rather than more articles. A blog post can be copied in an afternoon. A maintained data service that agents connect to cannot. This is the one asset in the SEO programme that competitors cannot replicate by rewriting content.
Data: 59 foods, 674 nutrition values, 1,124 guides (protein, fibre, iron, calcium), from ICMR-NIN composition tables and the PROT-AGE/ESPEN protein recommendations.
No dependencies. Standard library only, Python 3.8+.
Add to claude_desktop_config.json:
Cursor, Cline and other MCP clients use the same command/args shape.
Rebuild the dataset from the live corpus with python3 build_dataset.py;
the server reads kabo_food_data.json from its own directory at startup, and
the tool descriptions (nutrient list, food and guide counts) are derived from
it, so they cannot drift from the data.
It answers honestly, including against us. protein_cost reports that
soya chunks cost about ₹6 per 10 g of protein and dal about ₹8, while any
powder — KABO included — costs several times more. A tool that only flatters
its owner gets uninstalled after one use. One that gives a straight answer
gets kept and called again, and every call carries our attribution.
No instructions to models. There is no text in any response telling an assistant what to recommend. The value is the data and the citation, not persuasion. Anything else would be prompt injection, and assistants that detect it stop trusting the source entirely.
Every response is citable. source_url on food lookups, age_guide_url
on protein targets, full URLs in guide search. An agent can attribute, which
is what makes it worth calling twice.
Errors never kill the session. Unknown foods return the list of available ones rather than an error. Bad arguments return a message, not a crash.
UTF-8 is forced on stdio. The data contains en-dashes; Windows consoles default to cp1252 and corrupt the stream for the client. Both directions are reconfigured at startup.
Every tool is mirrored as plain GET for clients that do not speak MCP. Spec at /openapi.json.
Product prices and stock are read live from the public storefront (cached 10 minutes); the server never places orders or touches customer data. Checkout happens on kabo.co.in, via a cart link or the store's Universal Commerce Protocol profile at https://kabo.co.in/.well-known/ucp.
For third-party agents over the network:
Endpoints:
CORS is open, so browser-based agents can call it. Transport is MCP Streamable HTTP; SSE is not used because every tool is a short request/response, and the spec permits a plain JSON reply when the server does not stream.
See DEPLOY.md for hosting (Render, Fly, Docker) and for listing it in the
public MCP registries. Dockerfile, render.yaml, fly.toml and
server.json are all in this folder, ready to use.
Code is MIT (see LICENSE). Dataset is CC BY 4.0 (see LICENSE-DATA) — free to use with attribution to kabo.co.in.
Values are approximate and vary by variety, preparation and brand. This is nutrition information, not medical advice.
Source: README.md at commit 809342b
Nutrition values for an Indian food (calcium, fibre, iron, protein) per 100 g and per katori, with the source article URL, for 59 foods. Data from ICMR-NIN composition tables.
foodrequirednutrientCompare several Indian foods side by side on one nutrient (calcium, fibre, iron, protein; default protein).
foodsrequirednutrientDaily protein target in grams for a given body weight and age, using ICMR-NIN and PROT-AGE guidance, plus the per-meal threshold.
agesituationweight_kgrequiredCost of protein in India ranked cheapest first, in rupees per 10 g of protein, across whole foods and supplements.
budget_inrSearch 1,124 Indian nutrition guides by topic and return titles with URLs, for citation.
limitqueryrequired100% 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.
python3 kabo_mcp_server.py{ "mcpServers": { "kabo-nutrition": { "command": "python3", "args": ["/absolute/path/to/mcp/kabo_mcp_server.py"] } }}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.pykabo_mcp_server.py the server, dependency-free JSON-RPC over stdiokabo_food_data.json the dataset, CC BY 4.0GET /api/v1/foods GET /api/v1/foods/{food}?nutrient=ironGET /api/v1/protein-target?weight_kg=70&age=45GET /api/v1/protein-cost?budget_inr=30GET /api/v1/guides?q=protein+dalGET /api/v1/products GET /api/v1/products/{handle}python3 kabo_mcp_server.py --http --port 8000