Skip to main content
Glama

Japan Restaurant Calories

Search menu items

search_menu
Read-onlyIdempotent

Search menu items of Japanese restaurant chains and stores, and packaged foods of Japanese food makers, and get their nutrition facts. Queries that return no results are counted anonymously (the query text and chain only) to decide which chains to add. query matches item name, size, category, genre and chain name (Japanese; spaces mean AND; katakana/hiragana and full/half width are treated alike; common chain nicknames like ケンタ, マック, サイゼ work). Combine with chain / genre / kcal range. Use nutrient to find items rich in a nutrient (only chains that publish it). Default order: with nutrient, by that nutrient descending; else with a query, by how well the item name matches ("relevance"); otherwise by kcal ascending. total includes discontinued items (listed last), so it can be larger than item_count in list_chains. Each item has an id for sum_items, a page url, and the chain's source_file.

Input Schema

NameRequiredDescriptionDefault
sortNoDefault: nutrient_desc when nutrient is given, else relevance when query is given, else kcal_asc.
chainNoChain id from list_chains, or its Japanese name / nickname.
genreNo
limitNo
queryNoWords to match, e.g. "牛丼 並盛", "チーズバーガー", "すき家 カレー".
offsetNo
max_kcalNo
min_kcalNo
nutrientNoOnly items that publish this nutrient. net_carb_g is net carbohydrate (carbohydrate minus fiber, 糖質); sugar_g is sugars (糖類) — different quantities. Keys: kcal=エネルギー(kcal), protein_g=たんぱく質(g), fat_g=脂質(g), saturated_g=飽和脂肪酸(g), carb_g=炭水化物(g), net_carb_g=糖質(g), sugar_g=糖類(g), fiber_g=食物繊維(g), salt_g=食塩相当量(g), sodium_mg=ナトリウム(mg), potassium_mg=カリウム(mg), calcium_mg=カルシウム(mg), phosphorus_mg=リン(mg), iron_mg=鉄(mg), vit_a_ug=ビタミンA(μg), retinol_ug=レチノール(μg), carotene_ug=β-カロテン当量(μg), vit_b1_mg=ビタミンB1(mg), vit_b2_mg=ビタミンB2(mg), niacin_mg=ナイアシン(mg), vit_c_mg=ビタミンC(mg), vit_d_ug=ビタミンD(μg), vit_e_mg=ビタミンE(mg), cholesterol_mg=コレステロール(mg), ash_g=灰分(g), weight_g=重量(g)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / genre / enum
      Previous value: -[
      -  "デザート",
      -  "ドリンク",
      -  "ごはん・サイド",
      -  "寿司",
      -  "麺類",
      -  "カレー",
      -  "丼もの",
      -  "バーガー",
      -  "ピザ",
      -  "揚げ物",
      -  "ステーキ・肉料理",
      -  "餃子・中華",
      -  "定食・セット",
      -  "サラダ・野菜",
      -  "スープ・汁物",
      -  "調味料・トッピング",
      -  "その他"
      -]New value: +[
      +  "デザート",
      +  "お菓子・スナック",
      +  "ドリンク",
      +  "ごはん・サイド",
      +  "寿司",
      +  "麺類",
      +  "カレー",
      +  "丼もの",
      +  "バーガー",
      +  "ピザ",
      +  "揚げ物",
      +  "ステーキ・肉料理",
      +  "餃子・中華",
      +  "定食・セット",
      +  "サラダ・野菜",
      +  "スープ・汁物",
      +  "調味料・トッピング",
      +  "その他"
      +]
  2. Changed1 schema field changed
    • addedInput schema / properties / sort / description
      Added value: +"Default: nutrient_desc when nutrient is given, else relevance when query is given, else kcal_asc."
  3. Changed1 schema field changed
    • changedInput schema / properties / nutrient / description
      Previous value: -"Only items that publish this nutrient."New value: +"Only items that publish this nutrient. net_carb_g is net carbohydrate (carbohydrate minus fiber, 糖質); sugar_g is sugars (糖類) — different quantities. Keys: kcal=エネルギー(kcal), protein_g=たんぱく質(g), fat_g=脂質(g), saturated_g=飽和脂肪酸(g), carb_g=炭水化物(g), net_carb_g=糖質(g), sugar_g=糖類(g), fiber_g=食物繊維(g), salt_g=食塩相当量(g), sodium_mg=ナトリウム(mg), potassium_mg=カリウム(mg), calcium_mg=カルシウム(mg), phosphorus_mg=リン(mg), iron_mg=鉄(mg), vit_a_ug=ビタミンA(μg), retinol_ug=レチノール(μg), carotene_ug=β-カロテン当量(μg), vit_b1_mg=ビタミンB1(mg), vit_b2_mg=ビタミンB2(mg), niacin_mg=ナイアシン(mg), vit_c_mg=ビタミンC(mg), vit_d_ug=ビタミンD(μg), vit_e_mg=ビタミンE(mg), cholesterol_mg=コレステロール(mg), ash_g=灰分(g), weight_g=重量(g)"
  4. Changed1 schema field changed
    • changedInput schema / properties / nutrient / enum
      Previous value: -[
      -  "kcal",
      -  "protein_g",
      -  "fat_g",
      -  "saturated_g",
      -  "carb_g",
      -  "sugar_g",
      -  "fiber_g",
      -  "salt_g",
      -  "sodium_mg",
      -  "potassium_mg",
      -  "calcium_mg",
      -  "phosphorus_mg",
      -  "iron_mg",
      -  "vit_a_ug",
      -  "retinol_ug",
      -  "carotene_ug",
      -  "vit_b1_mg",
      -  "vit_b2_mg",
      -  "niacin_mg",
      -  "vit_c_mg",
      -  "vit_d_ug",
      -  "vit_e_mg",
      -  "cholesterol_mg",
      -  "ash_g",
      -  "weight_g"
      -]New value: +[
      +  "kcal",
      +  "protein_g",
      +  "fat_g",
      +  "saturated_g",
      +  "carb_g",
      +  "net_carb_g",
      +  "sugar_g",
      +  "fiber_g",
      +  "salt_g",
      +  "sodium_mg",
      +  "potassium_mg",
      +  "calcium_mg",
      +  "phosphorus_mg",
      +  "iron_mg",
      +  "vit_a_ug",
      +  "retinol_ug",
      +  "carotene_ug",
      +  "vit_b1_mg",
      +  "vit_b2_mg",
      +  "niacin_mg",
      +  "vit_c_mg",
      +  "vit_d_ug",
      +  "vit_e_mg",
      +  "cholesterol_mg",
      +  "ash_g",
      +  "weight_g"
      +]
  5. First observed

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive, so the bar is lower. The description still adds real value beyond them: anonymous logging of zero-result queries (a privacy-relevant side effect), discontinued items being included and listed last so total can exceed list_chains' count, and nutrient-only-for-publishing-chains constraint. It does not cover rate limits or pagination limits beyond offset caps, which keeps it from a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose, then query semantics, then filter/ordering rules and return hints. Dense and nearly every clause carries information, but it reads as one long run-on block and repeats ordering rules that also appear in the sort parameter description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 9-param search tool with no output schema, the description covers matching behavior, ordering, pagination caveat (total vs item_count), and what each result contains (id, page url, source_file). An agent can invoke it correctly and interpret results without further documentation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 44%, but the description compensates heavily: it explains query matching scope (item name, size, category, genre, chain name), AND semantics for spaces, kana/width normalization, nickname support, and nutrient meaning plus sort defaults. Gaps remain for limit/offset/min_kcal/max_kcal, which are undocumented in both schema and description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (search) and resource (menu items with nutrition facts) and scopes it to Japanese chains/stores and packaged foods. It also names the sibling relationships explicitly (id for sum_items, comparison with list_chains' item_count), so an agent can distinguish it from siblings without opening another schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete when-to-use guidance: combine free-text query with chain/genre/kcal filters, use nutrient only for nutrient-rich lookups on chains that publish it, and describes the default ordering rules per filter combination. It also explains what happens with zero-result queries, which is actionable behavior an agent should know before calling.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources