# Japan Restaurant Calories

> Nutrition facts for 24,000+ menu items of 100+ Japanese restaurant chains, with sources.

- name: dev.omikuji/calories
- version: 1.0.0
- connection class: R0 (autonomous)
- trust: 83/100 flags: no-repository
- quality: 89/100 (new)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/dev.omikuji%2Fcalories
- tools: https://api.protogrid.dev/v1/servers/dev.omikuji%2Fcalories/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "calories": {
      "type": "http",
      "url": "https://calories.omikuji.dev/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 100
- freshness: 100
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-100% +updated-5d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 89/100 (new)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 100 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 4 of 4 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 1,000 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: n/a (weight 15)

- n/a `stability.changes`, `stability.rug_pull`: tool history recorded for 5 of the 7 days needed

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 4, about 1,000 tokens to load them all
- tool set hash: eee59ff22caa2761e0de22a5e28c7f85
- tools last changed: 2026-10-15T13:22:57.371Z
- badge: [![protogrid quality](https://protogrid.dev/badge/dev.omikuji/calories.svg)](https://protogrid.dev/servers/dev.omikuji/calories)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-15 `request_missing` changed (description, annotations)
  - before: Tell the site operator that a restaurant chain or menu item is missing. Use only after search_menu / list_chains could not find it AND the user actually wanted it. Send one request per chain or item; do not send the user's personal information. Requests are counted (not shown publicly) and used to decide what to add next. Some chains do not publish nutrition values at all, so a request does not guarantee coverage.
  - after: Tell the site operator that a restaurant chain or menu item is missing. Use only after search_menu / list_chains could not find it AND the user actually wanted it. One request per chain or item. Only the chain, item and note are stored (no personal information is needed or kept). Requests are counted (not shown publicly) and used to decide what to add next. Some chains do not publish nutrition values at all, so a request does not guarantee coverage.
- 2026-10-15 `list_chains` changed (annotations)
- 2026-10-15 `sum_items` changed (annotations)
- 2026-10-15 `search_menu` changed (description, annotations)
  - before: Search menu items of Japanese restaurant chains and get their nutrition facts. 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). With a query, results are sorted by how well the item name matches (default sort "relevance"); otherwise by kcal ascending. Each item has an id for sum_items, a page url, and the chain's source_file.
  - after: Search menu items of Japanese restaurant chains 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). With a query, results are sorted by how well the item name matches (default sort "relevance"); otherwise by kcal ascending. Each item has an id for sum_items, a page url, and the chain's source_file.

Full history: https://api.protogrid.dev/v1/servers/dev.omikuji%2Fcalories/changes

## Remotes

- https://calories.omikuji.dev/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (4)

- `list_chains`: List the restaurant chains covered, with item counts, which nutrients each chain publishes, the source document and when it was fetched. query filters by chain name.
- `request_missing`: Tell the site operator that a restaurant chain or menu item is missing. Use only after search_menu / list_chains could not find it AND the user actually wanted it. One request per chain or item. Only the chain, item and note are stored (no personal information is needed or kept). Requests are counted (not shown publicly) and used to decide what to add next. Some chains do not publish nutrition values at all, so a request does not guarantee coverage.
- `search_menu`: Search menu items of Japanese restaurant chains 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). With a query, results are sorted by how well the item name matches (default sort "relevance"); otherwise by kcal ascending. Each item has an id for sum_items, a page url, and the chain's source_file.
- `sum_items`: Add up nutrition for a set of items (a meal, a day) using ids from search_menu. Nutrients that some items do not publish are reported in incomplete, because their total is an underestimate.
