# whatevr

> Log meals and read calories and macros from any AI assistant. Pairs with the whatevr iPhone app.

- name: app.trywhatevr/whatevr
- version: 1.0.2
- connection class: R0 (autonomous)
- trust: 83/100 flags: no-repository
- quality: 83/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/app.trywhatevr%2Fwhatevr
- tools: https://api.protogrid.dev/v1/servers/app.trywhatevr%2Fwhatevr/tools

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

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "whatevr": {
      "type": "http",
      "url": "https://api.trywhatevr.app/mcp"
    }
  }
}
```


## Trust

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

## Quality 83/100 (good)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-06-18; 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: 81 (weight 30)

- pass `tools.descriptions`: every tool has a description
- warn `tools.description_length`: 1 tools have descriptions over 1,024 characters, which crowds the context
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 12 of 12 tools declare readOnlyHint or destructiveHint
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: get_me (idempotentHint); get_today (idempotentHint); update_log (idempotentHint); …
- pass `tools.token_cost`: about 2,931 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump
- pass `tools.hidden_text`: no hidden text in tool names, descriptions, schemas or annotations

### stability: 100 (weight 15)

- pass `stability.changes`: 3 tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name
- pass `stability.new_links`: no tool change named a new site

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

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

- tools: 12, about 2,931 tokens to load them all
- tool set hash: bbde8eca1ed9c5ea395f3dc9a5ac62d3
- tools last changed: 2026-10-27T00:54:58.990Z
- badge: [![protogrid quality](https://protogrid.dev/badge/app.trywhatevr/whatevr.svg)](https://protogrid.dev/servers/app.trywhatevr/whatevr)
- 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-27 `delete_log` added
  - Delete ONE entry from the user's log: a food, exercise, weigh-in or water entry. Read get_today/get_day first — each item in `recent` carries its `id` and `type`; pass both. Deleting a weigh-in updates their current weight to the newest remaining one. This can't be undone, so confirm with the user first. Needs the user's "Delete entries" switch for this connection (whatevr app → Settings → Connections). The user is notified.
- 2026-10-27 `update_reminders` added
  - Turn the user's daily reminders on or off: the evening 'nothing logged today' nudge and the streak reminder. Same as the app's Notifications screen. Needs the user's "Change goals & settings" switch for this connection. The user is notified of the change.
- 2026-10-27 `update_goals` added
  - Change the user's goal and daily targets — the same settings as the app's Goals screen. Send ONLY the fields to change. Each target takes a number (a custom target) or "auto" (computed from their body, activity and goal). The server keeps calories and macros consistent (protein×4 + carbs×4 + fat×9 ≈ calories), so the targets it returns can differ slightly from what you sent — report the returned ones. Current weight is not here: log a weigh-in with log_weight. Needs the user's "Change goals & settings" switch for this connection (whatevr app → Settings → Connections); if it's off you'll get a message saying so — relay it. The user is notified of every change.

Full history: https://api.protogrid.dev/v1/servers/app.trywhatevr%2Fwhatevr/changes

## Remotes

- https://api.trywhatevr.app/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (12)

- `delete_log`: Delete ONE entry from the user's log: a food, exercise, weigh-in or water entry. Read get_today/get_day first — each item in `recent` carries its `id` and `type`; pass both. Deleting a weigh-in updates their current weight to the newest remaining one. This can't be undone, so confirm with the user first. Needs the user's "Delete entries" switch for this connection (whatevr app → Settings → Connections). The user is notified.
- `get_day`: Everything logged on a specific day, INCLUDING each food item's name and nutrition (same shape as get_today). Use this to answer “what did I eat yesterday / on <date>”. Each `recent` item's `id` works with update_log to correct mistakes.
- `get_me`: Who the user is: name/handle/email, health profile, calorie/macro targets, and derived metrics.
- `get_progress`: Daily calorie/macro/exercise TOTALS over time + the weight trend (no food item names — use get_day for what was actually eaten).
- `get_today`: Today's complete picture: calorie/macro totals vs targets, water, streak, exercises, and the item-by-item food log (`recent`: every logged item's name, calories, macros, ingredients). Each `recent` item's `id` works with update_log to correct mistakes.
- `log_anything`: Log food, drinks, water, exercise, or a weigh-in from one natural-language sentence — the same parser as the app's voice logging. Examples: 'two eggs and toast', '30 minute run', '3 glasses of water', 'weighed 184 this morning'. Spoken dates like 'yesterday I had pizza' work. Describe the FOOD, not just numbers: stating explicit nutrition in the text ('burrito, 800 calories') pins those totals exactly but logs ONE pre-computed item with no ingredient breakdown — if you do that, follow up with update_log's `ingredients` array so the log keeps its per-item detail.
- `log_exercise`: Log structured exercise with a known calorie burn. For an ESTIMATED burn from plain text, use log_anything ('30 minute run').
- `log_water`: Log water — glasses (8 fl oz each) or an exact amount_fl_oz. Defaults to 1 glass.
- `log_weight`: Log a weigh-in in pounds. The newest reading also becomes the user's current weight (drives their calorie targets).
- `update_goals`: Change the user's goal and daily targets — the same settings as the app's Goals screen. Send ONLY the fields to change. Each target takes a number (a custom target) or "auto" (computed from their body, activity and goal). The server keeps calories and macros consistent (protein×4 + carbs×4 + fat×9 ≈ calories), so the targets it returns can differ slightly from what you sent — report the returned ones. Current weight is not here: log a weigh-in with log_weight. Needs the user's "Change goals & settings" switch for this connection (whatevr app → Settings → Connections); if it's off you'll get a message saying so — relay it. The user is notified of every change.
- `update_log`: Correct an existing FOOD log: title, nutrition numbers, the ingredient list, meal, or time-of-day. Read get_today/get_day first — each item in `recent` (type "food") carries the `id` to pass here. Send ONLY the fields to change; values are absolute for the item as logged. Two modes, never mixed: send `ingredients` to REPLACE the whole list (include every ingredient you want kept — the log's totals recompute from it, so don't also send calories/macros), OR send top-level numbers to set totals directly — the existing ingredient breakdown then RESCALES proportionally so the parts always sum to the new totals (ingredient names/amounts don't change, so when the COMPOSITION changed — something added or removed — send `ingredients` instead). Note: ANY edit that changes a routine-created log's title or its calories — including an ingredients replacement, since totals recompute — also updates that saved routine. When logged_time changes, the log's meal may re-infer from the new hour unless you set meal explicitly. Requires a full-access token; edit one log at a time.
- `update_reminders`: Turn the user's daily reminders on or off: the evening 'nothing logged today' nudge and the streak reminder. Same as the app's Notifications screen. Needs the user's "Change goals & settings" switch for this connection. The user is notified of the change.
