ICMR-NIN nutrition for 52 Indian foods: protein, targets by age, cost ranking. Every answer cited.
MCPpedia last refreshed this data
io.github.Guru-ragul/kabo-nutrition is an MCP server that ICMR-NIN nutrition for 52 Indian foods: protein, targets by age, cost ranking. Every answer cited. Its tool list has not been published yet over http, requires no API key, and scores 41/100 on MCPpedia's security, maintenance and efficiency rubric.
Config is the same across clients - only the file and path differ.
{
"mcpServers": {
"kabo-nutrition": {
"args": [
"/absolute/path/to/mcp/kabo_mcp_server.py"
],
"command": "python3"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
ICMR-NIN nutrition for 52 Indian foods: protein, targets by age, cost ranking. Every answer cited.
This server supports HTTP transport. Be the first to test it - help the community know if it works.
Five weighted categories - click any category to see the underlying evidence.
No known CVEs.
No package registry to scan.
Be the first to review
Have you used this server?
Share your experience - it helps other developers decide.
Sign in to write a review.
Others in health
MCP server for the ClinicalTrials.gov v2 API. Search trials, retrieve study details and results, and match patients to eligible trials.
Search ClinicalTrials.gov: find studies, retrieve results, match patients to candidate trials.
Control FL Studio with Claude: in-DAW mixing, diagnosis, routing, and composition.
MCP server providing seamless access to FHIR APIs for AI tools and healthcare applications
MCP Security Weekly
Get CVE alerts and security updates for io.github.Guru-ragul/kabo-nutrition and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
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.
| Tool | Returns |
|---|---|
lookup_food(food, nutrient?) | Every nutrient entry for an Indian food, per 100 g and per katori, each with its source URL |
compare_foods(foods[], nutrient?) | 2–8 foods side by side on one nutrient (default protein) |
protein_target(weight_kg, age) | Daily protein target in grams, plus the per-meal threshold |
protein_cost(budget_inr) | Cost per 10 g of protein, ranked cheapest first |
search_guides(query, limit) | Searches 1,124 nutrition guides, returns titles and URLs |
list_products() | KABO's own shakes: per-serving nutrition from each flavour's own panel, ratings |
get_product(product) | One KABO product: composition quoted from its page, suitability (incl. not Jain-suitable), live price and stock per pack, price per serving, cart link and UCP checkout profile |
compare_products(products?) | KABO products side by side with live price per serving |
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+.
python3 kabo_mcp_server.py
Add to claude_desktop_config.json:
{
"mcpServers": {
"kabo-nutrition": {
"command": "python3",
"args": ["/absolute/path/to/mcp/kabo_mcp_server.py"]
}
}
}
Cursor, Cline and other MCP clients use the same command/args shape.
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
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 th