YAZIO MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| YAZIO_BASE_URL | No | Trusted local API configuration. Default: https://yzapi.yazio.com/v19 | |
| YAZIO_PASSWORD | Yes | Password of your personal YAZIO account | |
| YAZIO_USERNAME | Yes | Email address of your personal YAZIO account | |
| YAZIO_CLIENT_ID | No | Advanced paired OAuth override. Built in. | |
| YAZIO_DEFAULT_SEX | No | Search parameter required by the upstream API. Default: male | |
| YAZIO_MCP_TIMEZONE | No | IANA timezone used for dates. Default: Europe/Moscow | |
| YAZIO_CLIENT_SECRET | No | Advanced paired OAuth override. Built in. | |
| YAZIO_MCP_STATE_PATH | No | Idempotency and confirmation state. Default: ~/.yazio-mcp/state.json | |
| YAZIO_HTTP_TIMEOUT_MS | No | HTTP timeout, from 1,000 to 120,000 ms. Default: 15000 | |
| YAZIO_PRODUCT_LOCALES | No | Comma-separated product locales. Default: ru_RU | |
| YAZIO_TOKEN_CACHE_PATH | No | Access/refresh token cache. Default: ~/.yazio-mcp/token.json | |
| YAZIO_PRODUCT_COUNTRIES | No | Comma-separated product countries. Default: RU |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_user_profileA | Returns a minimal allowlist of YAZIO profile fields without email, birth date, tokens, or payment identifiers. |
| get_goalsA | Returns calorie, macro, water, step, and weight goals for a date. |
| search_productsA | Searches YAZIO products. Defaults to US and en_US and accepts country/locale overrides; nutrition is normalized per 100 g/ml. |
| get_productA | Returns a product by UUID with nutrients normalized per 100 g/ml. |
| get_diaryA | Returns the diary for one date or a locally aggregated range of up to 31 days; YAZIO has no confirmed range endpoint. |
| get_daily_summaryB | Returns daily calories, macros, goals, water, steps, and meal breakdown. |
| get_water_intakeB | Returns cumulative water intake in milliliters for a date. |
| get_weightA | Returns the latest weight entry on or before the specified date. |
| get_exercisesA | Returns training and custom training entries for a date. |
| add_consumed_itemB | Shows a preview, checks for duplicates, writes idempotently, and rereads the diary. dry_run defaults to true. |
| add_meal_batchA | Adds up to 25 products sequentially; on partial failure, compensates earlier writes and reports each item result. |
| update_consumed_itemA | Safely replaces an existing product entry: creates and verifies a replacement, then removes the exact old ID. Attempts compensation on failure. A native YAZIO PATCH endpoint is not confirmed. |
| remove_consumed_itemA | Removes only the specified diary item ID after MRTR confirmation. Fallback: a dry run issues a one-time confirmation_token with a TTL. |
| add_water_intakeB | Reads the current cumulative amount, adds amount_ml, writes the new total, and verifies it by rereading. |
| get_nutrition_trendsA | Aggregates daily summaries by day, ISO week, or month and calculates averages, goals, stability, and deviations. |
| compare_periodsA | Compares average calories and macros across two ranges of up to 366 days each. |
| detect_probable_missing_mealsA | Finds suspiciously empty meal buckets. It never creates entries or claims that the user actually ate. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 17 tools
Most tools have distinct purposes, but get_daily_summary, get_diary, and get_nutrition_trends overlap in returning summary/diary data. The detailed descriptions help, but an agent could misselect between get_diary and get_daily_summary.
All tools follow a consistent verb_noun snake_case pattern: get_* for reads, add_* for inserts, update_*/remove_* for modifications, plus search_, compare_, and detect_. No mixed styles or vague verbs.
17 tools is slightly above the ideal range but still well-scoped for a nutrition tracking domain covering diary, products, goals, water, weight, exercises, and analytics. Each tool has a clear role, so it does not feel bloated.
The set covers CRUD for diary items (add, update, remove, get) and water intake, but missing write operations for goals, weight, and exercises. Notably, get_goals and get_weight exist without corresponding update/add, leaving obvious gaps for a complete tracking experience.