tabedata-mcp
v1.2.0
Published
Japanese food nutrition for AI assistants. Bilingual JP/EN lookups across konbini, restaurant chains, grocery brands, and generic staples. Macros, allergens, sodium. 460 items, each carrying its source (official labels, restaurant PDFs, MEXT government da
Maintainers
Keywords
Readme
tabedata-mcp
Model Context Protocol server for Japanese food nutrition data. Bilingual JP/EN lookups across konbini, restaurant chains, and grocery brands. Macros, allergens, sodium, and menu navigation for any AI assistant operating in Japan.
460 sourced items across 21 chains. 42 come from Japan's MEXT food composition database (36 generic staples + 6 drinks); the rest are transcribed from official manufacturer labels and restaurant nutrition PDFs, with ~10% flagged as estimates where official figures weren't available. Size variants (並 / 大盛 / 特盛) on every restaurant chain that publishes them.
Who this is for
- Tracking macros, sodium, or carbs on a Japanese diet
- Looking up allergens on a menu you can't read
- Travelers using an AI assistant to navigate Japanese restaurants and konbini
- Comparing options across chains ("which chain has the leanest chicken?")
- Building nutrition or meal apps that need real Japanese product data
Install
npm install -g tabedata-mcpOr run on demand with npx -y tabedata-mcp.
Configuration
No API keys needed. Curated database ships with the package.
| Variable | Required | Description |
|---|---|---|
| MCP_TRANSPORT | no | stdio (default) or http. |
| MCP_AUTH_TOKEN | http only | Bearer token. HTTP transport refuses to start without it. |
| MCP_HTTP_PORT | no | Default 8787. |
| MCP_HTTP_HOST | no | Default 127.0.0.1. |
| MCP_HTTP_ALLOWED_ORIGINS | no | Comma-separated CORS allowlist for HTTP transport. |
Claude Desktop
Edit claude_desktop_config.json:
{
"mcpServers": {
"tabedata": {
"command": "npx",
"args": ["-y", "tabedata-mcp"]
}
}
}Claude Code
claude mcp add tabedata -- npx -y tabedata-mcpCursor / Windsurf
Add to ~/.cursor/mcp.json with the same shape as Claude Desktop.
Tools
| Tool | Description |
|---|---|
| search_food | Bilingual fuzzy search across the dataset. Accepts JP or EN queries (e.g. salad chicken or サラダチキン). |
| konbini_item | Chain-scoped lookup for 7-Eleven, Lawson, FamilyMart, Ministop. Includes allergens and ingredient lists where available. |
| restaurant_meal | Chain meal lookup with size variants (並 / 大盛 / 特盛) and allergen tags. |
| analyze_meal | Natural-language meal analyzer. Recognizes counts, weights (200g rice), fractions (half avocado), and restaurant size names (Nakau large oyakodon). Returns macro totals plus optional comparison to personalized targets. |
| find_alternatives | Swap an item for a better one along a chosen axis (higher protein, lower calorie, lower sodium). Returns each alternative with its improvement and tradeoff. |
| daily_targets | Mifflin-St Jeor BMR x activity multiplier x goal-driven deficit/surplus. Diabetes risk shifts the macro split. Hypertension surfaces a sodium guidance note. |
Prompts
| Prompt | What it does |
|---|---|
| plan_my_day | Given a goal (e.g. "cut to 70kg, hit 150g protein"), chains daily_targets → meal proposal → analyze_meal → find_alternatives into one guided workflow. |
Coverage
Konbini (122 items)
| Chain | Items | |---|---| | 7-Eleven | 46 | | Lawson | 34 | | FamilyMart | 29 | | Ministop | 13 |
Restaurant chains (272 items)
Japanese chains: Nakau, Sukiya, Yoshinoya, Matsuya, CoCo Ichibanya, Marugame Seimen, Tenya, MOS Burger, Yayoiken, Ootoya, Ichiran.
Western and global chains: McDonald's Japan, KFC Japan, Subway Japan, Lotteria, Freshness Burger, Doutor.
Generic, drink, and brand items (66 items)
- 42 items from Japan's MEXT Standard Tables of Food Composition (文部科学省 食品成分表) — 36 generic staples (rice, egg, natto, tofu…) and 6 basic drinks (milk, tea, coffee). MEXT is the canonical reference used in Japanese nutrition research and clinical practice.
- 24 brand products: Oikos, SAVAS Milk Protein line, Meiji R-1 / Bulgaria / LG21 / TANPACT, Glico, Calbee, Ito En, Asahi, Kirin, Suntory, Fuji Pan, Snow Brand, Morinaga inZeri.
Example queries
How many calories are in a Big Mac in Japan?
日本のビッグマックは何キロカロリー?
I just had a Sukiya gyudon. Track it.
今日すき家の牛丼食べた。記録して
Compare a 7-Eleven salmon onigiri to a Lawson one
セブンとローソンの鮭おにぎり、どっちがいい?
Analyze my lunch: 1 oikos plain, 2 boiled eggs, 200g rice
ランチ記録して: オイコス1個、ゆで卵2個、白米200g
What sizes does Sukiya's gyudon come in?
すき家の牛丼のサイズ展開は?
Calculate daily targets: 80kg, 175cm, 30, male, moderate, cuttingData provenance
This dataset is AI-compiled: each value was gathered by an AI assistant (Claude) reading the cited source, then schema-checked by script. It is not individually fact-checked by a human. Treat every number as a best-effort reference and confirm against the item's source.url before relying on it.
Each item carries:
- A cited source — an official manufacturer or restaurant nutrition label, an official PDF, an entry from Japan's MEXT Standard Tables of Food Composition, or a flagged estimate (
source.type: "estimated") where official figures weren't available. - Bilingual names —
name_enandname_jpare mandatory. - Provenance fields —
source.url,source.type,compiled_at(ISO date),compiled_by, and aconfidencelevel.
Run npm run verify-data to validate structure: required fields, id uniqueness, and that each source.url still resolves. This confirms links are live and records are well-formed — it does not verify the correctness of the nutrition numbers. Items older than 365 days are flagged stale.
See DATA_SOURCES.md for the full compilation methodology.
Disclaimer
This is an unofficial, community-built MCP server. Not affiliated with, endorsed by, or sponsored by any of the listed restaurants, konbini chains, or product manufacturers; their names and trademarks belong to their respective owners. Nutrition values were AI-compiled by an assistant reading publicly published sources (manufacturer, restaurant, and MEXT government pages) and were not individually verified by a human. Published figures change and AI compilation can introduce errors, so treat every value as a reference, not a guarantee, and confirm against the official source before acting on it. The author accepts no liability for decisions made on the basis of this data.
Contributing
See CONTRIBUTING.md. Pull requests for new items welcome — include source.url, source.type, bilingual names, and a confidence level for each.
