← Back to search

Nutrition MCP

akutishevsky streamable_http Scanned 11d ago

Personal nutrition tracking — log meals, track macros, and review history through conversation.

C
61.2 / 100

Versions

1.1.0latest
first seen May 19, 2026
PermissionsTool SafetyAuthAnnotationsCode QualityStabilitySpecVuln HistoryAuthorTransparencyCommunity

Tools 48

log_meal
annotations: verified low

readOnlyHint false openWorldHint false idempotentHint false destructiveHint false
start_meal_import
annotations: verified low

Open an importer the user can drive themselves to load a meal-history export (MyFitnessPal, Cronometer, Lose It!, MacroFactor). Prefer this over bulk_import_meals whenever the user has an actual file: the importer reads and maps it in the browser, so the rows never pass through you and cannot be mistranscribed, and it handles column mapping, batching and retries. Call it when the user says they want to import, upload, or bring in their history from another app. Fall back to bulk_import_meals if the user cannot use the importer, if they have already pasted the data into the conversation, or if the importer reports that this client will not let it save. If the user has alcohol tracking off but wants alcohol from the file, turn it on with set_alcohol_tracking BEFORE importing: the importer skips the alcohol column while tracking is off, and re-importing afterwards will not backfill it.

readOnlyHint false openWorldHint false idempotentHint true destructiveHint false
bulk_import_meals
annotations: none low

Import many past meals in one call, for backfilling history from a file the user exported from another app (MyFitnessPal, Cronometer, Lose It!, MacroFactor) or from a list they pasted. Parse the source yourself and map it to the row schema; the server validates every row and reports per-row results, so you can fix and re-send only the rows that failed. Prefer this over calling log_meal in a loop: one call writes up to

lookup_barcode
annotations: verified low

Look up a packaged product's label nutrition by barcode via Open Food Facts. The figures are transcribed from the product's own label by the Open Food Facts community. This server does not verify them, and they can be wrong, stale, or missing entirely. Pass the barcode digits (EAN/UPC, 8–14 digits). The user can type them, or they can be read from a photo of the package: the human-readable digits printed beneath the barcode. Returns the product name, serving, and macros, which log_meal accepts once scaled to the amount eaten. When Open Food Facts has computed them, it also returns the Nutri-Score (A–E, a nutritional-quality grade) and NOVA group (1–4, how processed the product is); they are omitted, not \"n/a\", when no value has been computed for that product. A fiber, sugar, added-sugar or saturated-fat figure shown as n/a is missing data, not a zero: any value passed for it later is an estimate. A saturated-fat or trans-fat figure shown as n/a is left out rather than sent as 0. Open Food Facts carries no caffeine, so caffeine_mg for a coffee, tea, cola, energy drink or other caffeinated product comes from the label where available, otherwise from typical amounts. When no product is found, the result says so; the product description, or a label the user shares, can supply the figures instead.

readOnlyHint true openWorldHint true idempotentHint true destructiveHint false
search_foods
annotations: verified low

Searches USDA FoodData Central generic foods (Foundation, SR Legacy and Survey/FNDDS records) by English food name and returns up to 10 candidates, each with its FoodData Central id, USDA description, data type and energy and macros per 100 g. Matches use USDA's English wording (e.g. 'cooked, boiled'). Search results are not stored; get_food_macros returns the full record for one id.

readOnlyHint true openWorldHint true idempotentHint true destructiveHint false
get_food_macros
annotations: verified low

Returns USDA FoodData Central values for one generic food by its FoodData Central id: per 100 g, and scaled to amount_g when given, with the portion sizes USDA lists. A nutrient USDA does not record for the food is reported as not recorded, never as zero. Includes the food_ref the meal tools accept for these values.

readOnlyHint true openWorldHint true idempotentHint true destructiveHint false
get_meals_today
annotations: verified low

Get all meals logged today, one compact line each with ids (detail: "full" adds notes).

readOnlyHint true openWorldHint false idempotentHint true destructiveHint false
get_meals_by_date
annotations: verified low

Get all meals for a specific date, one compact line each with ids (detail: "full" adds notes).

readOnlyHint true openWorldHint false idempotentHint true destructiveHint false
get_meals_by_date_range
annotations: verified low

Get all meals between two dates (inclusive), grouped by day, one compact line each with ids (detail: "full" adds notes). Use this instead of multiple get_meals_by_date calls when you need meals for more than one day. The range can span at most ${MEALS_RANGE_MAX_DAYS} days; get_trends covers longer periods with daily totals instead of individual meals. A long result is truncated at a day boundary with a note naming the start_date to call again with for the rest.

readOnlyHint true openWorldHint false idempotentHint true destructiveHint false
search_meals
annotations: verified low

Search the user's past logged meals by keyword (case-insensitive match on description, notes and the names of a meal's ingredients), and the user's saved meals by name, description or ingredient name, newest meals first. Meals are grouped into recurring variations with counts, last-logged date, and typical macros. Useful before logging a meal from a photo: past variations reveal ingredients that aren't visible in the picture (raisins vs banana, milk vs water, added honey or oil), and each difference between variations is a question for the user rather than something to pick silently. Also serves requests like 'log my usual breakfast': a matching past meal is logged again with log_meal once the variation and the amount are confirmed with the user, and a matching saved meal is logged with log_saved_meal. When the user has named the restaurant, search its name as well as the dish — a past visit to the same venue is stronger evidence than a generic estimate. Pass short food keywords, not full sentences, and include the food name in every language the user may have logged in — always add an English alternative alongside the conversation language, e.g. [\"вівсянка\", \"oatmeal\"].

readOnlyHint true openWorldHint false idempotentHint true destructiveHint false
get_nutrition_summary
annotations: verified low

Get daily nutrition totals for a date range. Renders an interactive dashboard (macro tiles vs. goals and a per-day breakdown) in clients that support MCP Apps UI, and returns the same data as text elsewhere. The range can span at most ${SUMMARY_RANGE_MAX_DAYS} days; get_trends covers longer periods. Figures are estimates, not medical or dietary advice.

readOnlyHint true openWorldHint false idempotentHint true destructiveHint false
set_nutrition_goals
annotations: verified low

Set the user's daily calorie and macro targets, and optionally a target body weight. Pass only the fields you want to update — omitted fields keep their previous value. Pass null explicitly to clear a target. Calories, protein, carbs, fat, fiber and water are targets to REACH; total sugar, added sugar, alcohol and caffeine are limits to STAY UNDER, and progress against them is worded accordingly. Every gram target is in grams and the caffeine limit is in MILLIGRAMS. For a limit, 0 is a real value meaning 'none at all' rather than 'unset'. Targets are the user's own choice; this server does not provide medical or dietary advice.

readOnlyHint false openWorldHint false idempotentHint true destructiveHint true
get_nutrition_goals
annotations: verified low

Get the user's current daily calorie and macro targets.

readOnlyHint true openWorldHint false idempotentHint true destructiveHint false
get_goal_progress
annotations: verified low

Get progress against daily nutrition goals for a specific date (defaults to today). Renders intake-vs-goal rings plus body-weight progress in clients that support MCP Apps UI, and returns the same data as text elsewhere. Figures are estimates, not medical or dietary advice.

readOnlyHint true openWorldHint false idempotentHint true destructiveHint false
delete_meal
annotations: verified low

Delete a meal entry by ID (ids come from get_meals_today, get_meals_by_date, get_meals_by_date_range or search_meals).

readOnlyHint false openWorldHint false idempotentHint true destructiveHint true
update_meal
annotations: verified low

Update fields of an existing meal entry. Only the fields you pass are changed, which also makes this the way to backfill nutrition a meal was logged without: when a past meal has no fiber_g, sugar_g, added_sugar_g or (where it applies) caffeine_mg and the user asks or agrees to fill it in, estimate the value and pass just that field (for a meal logged with items, the full items list carrying the value on each item). A meal logged with items has totals equal to the sum of those items, so its totals change through a full new items list (which replaces its previous items) rather than through the totals fields. Meal ids come from get_meals_today, get_meals_by_date, get_meals_by_date_range or search_meals.\n\n

readOnlyHint false openWorldHint false idempotentHint true destructiveHint true
save_meal
annotations: verified low

Save a named meal to log again later, kept per serving: its totals and, optionally, its ingredients. Give items, or the totals per serving (with calories), or from_meal_id to copy a meal already logged. Saving writes no meal entry; log_saved_meal logs a saved meal. A name already in use is refused, and update_saved_meal changes a saved meal.

readOnlyHint false openWorldHint false idempotentHint false destructiveHint false
get_saved_meals
annotations: verified low

List the user's saved meals by name: each with its id, default meal type, figures per serving and ingredients. name_contains narrows the list to saved meals whose name contains the text, case-insensitively. The ids are what log_saved_meal, update_saved_meal and delete_saved_meal take.

readOnlyHint true openWorldHint false idempotentHint true destructiveHint false
log_saved_meal
annotations: verified low

Log a saved meal as a meal entry: a copy of its values and of its ingredients, scaled by servings, with single items' amounts changed or items left out. servings applies first, and item_amounts then sets an item to the amount actually eaten in this entry. saved_meal is the saved meal's name or id (ids come from get_saved_meals or search_meals). The entry is then an ordinary meal, and editing or deleting the saved meal later does not change it. meal_type defaults to the saved meal's default.

readOnlyHint false openWorldHint false idempotentHint false destructiveHint false
update_saved_meal
annotations: verified low

Change a saved meal: its name, description, default meal type, its totals per serving or its ingredients (a full new list). Only the fields passed change. Meals already logged from it keep their values. A saved meal with items has totals equal to the sum of its items, so its totals change through items.

readOnlyHint false openWorldHint false idempotentHint true destructiveHint true
delete_saved_meal
annotations: verified low

Delete a saved meal and its ingredients. Meals already logged from it keep their values; they only lose the link to it.

readOnlyHint false openWorldHint false idempotentHint true destructiveHint true
log_water
annotations: verified low

Log a hydration entry in milliliters. If the user gives a volume in another unit (cups, oz, liters), convert it: 1 cup = 240 ml, 1 fl oz = 30 ml, 1 L = 1000 ml. If only 'a glass' is mentioned, ask for the size or assume 250 ml and confirm.

readOnlyHint false openWorldHint false idempotentHint false destructiveHint false
get_water_today
annotations: verified low

Get today's total water intake (ml) and the list of entries.

readOnlyHint true openWorldHint false idempotentHint true destructiveHint false
get_water_by_date
annotations: verified low

Get water intake total and entries for a specific date.

readOnlyHint true openWorldHint false idempotentHint true destructiveHint false
delete_water
annotations: verified low

Delete a water log entry by ID.

readOnlyHint false openWorldHint false idempotentHint true destructiveHint true
log_weight
annotations: verified low

Log a body-weight measurement. Provide the number in `weight` and its `unit` ('kg' or 'lb'); if you omit the unit, the user's saved preference is used, and if they have no preference set yet the call fails asking you to specify one. IMPORTANT: do NOT convert units yourself — pass the value in whatever unit the user stated and set `unit` accordingly. The server stores weight canonically and converts as needed. Multiple weigh-ins per day are allowed.

readOnlyHint false openWorldHint false idempotentHint false destructiveHint false
get_weight_today
annotations: verified low

Get today's weight entries, shown in the user's preferred unit.

readOnlyHint true openWorldHint false idempotentHint true destructiveHint false
get_weight_by_date
annotations: verified low

Get weight entries for a specific date, in the user's preferred unit.

readOnlyHint true openWorldHint false idempotentHint true destructiveHint false
get_weight_by_date_range
annotations: verified low

Get all weight entries between two dates (inclusive), grouped by day with each day's average. Use this instead of multiple get_weight_by_date calls. The range can span at most ${WEIGHT_RANGE_MAX_DAYS} days.

readOnlyHint true openWorldHint false idempotentHint true destructiveHint false
get_weight_trends
annotations: verified low

Weight trend over a window: latest reading, overall change, a smoothed trend weight with its weekly rate over the last 2 weeks (which filters out day-to-day water swings), min/max, and progress toward the target weight if one is set. Aggregates multiple weigh-ins per day by averaging. Defaults to the last 30 days ending today.

readOnlyHint true openWorldHint false idempotentHint true destructiveHint false
update_weight
annotations: verified low

Update fields of an existing weight entry. Provide `unit` alongside `weight` (defaults to the user's preferred unit); do NOT convert units yourself.

readOnlyHint false openWorldHint false idempotentHint true destructiveHint true
delete_weight
annotations: verified low

Delete a weight log entry by ID.

readOnlyHint false openWorldHint false idempotentHint true destructiveHint true
set_weight_unit
annotations: verified low

Set the user's preferred weight unit ('kg' or 'lb'), or pass null to clear it. This controls how weights are shown and how a bare number is interpreted when logging without an explicit unit. Stored weights are unaffected (they are canonical) — only display and default parsing change. While unset, logging requires an explicit unit and weights display in kg.

readOnlyHint false openWorldHint false idempotentHint true destructiveHint false
log_body_measurement
annotations: verified low

Log one body circumference measurement — waist, hips, neck, chest, shoulders, upper arm, forearm, thigh or calf — in centimetres or inches. Without `unit`, the user's saved length unit (set_length_unit) applies; with neither, the call fails and says a unit is needed. The server stores the number and unit exactly as given and does any cm/in conversion itself. Each entry is one site with no left/right field; a side or other detail goes in notes. A site can be measured several times a day. A number far outside a realistic range for the site is refused as a likely typo. Measurements are recorded as given, without targets or interpretation, and this server does not provide medical advice.

readOnlyHint false openWorldHint false idempotentHint false destructiveHint false
get_body_measurements
annotations: verified low

Get body measurements between two dates (inclusive), optionally for one site, oldest first and grouped by local day, each with the id that update_body_measurement and delete_body_measurement take. Defaults to the 30 days ending today; a range spans at most ${BODY_MEASUREMENT_RANGE_MAX_DAYS} days, and a long listing stops at a whole day and names the date to continue from. Values are shown in the user's saved length unit, or in the unit each was entered in when none is saved.

readOnlyHint true openWorldHint false idempotentHint true destructiveHint false
update_body_measurement
annotations: verified low

Update an existing body measurement's value, unit, time or notes. The site (kind) cannot be changed; a measurement of a different site is a new entry. A new `value` is read in `unit`, which defaults to the unit the entry was originally entered in, not the saved preference. Passing `unit` without `value` re-reads the stored number in that unit, which corrects an entry logged with the wrong unit. A value far outside a realistic range for the site is refused.

readOnlyHint false openWorldHint false idempotentHint true destructiveHint true
delete_body_measurement
annotations: verified low

Delete a body measurement by ID.

readOnlyHint false openWorldHint false idempotentHint true destructiveHint true
set_length_unit
annotations: verified low

Set the user's preferred length unit for body measurements ('cm' or 'in'), or pass null to clear it. It decides how measurements are shown and which unit a number logged without `unit` is read in. Stored measurements keep the number and unit they were entered with; only display and default parsing change. It is independent of the weight unit. While unset, logging a measurement needs an explicit unit and each one is shown in the unit it was entered in.

readOnlyHint false openWorldHint false idempotentHint true destructiveHint false
set_widget_display
annotations: verified low

Enable or disable the in-chat visual widgets (nutrition dashboard, goal progress, meal-logged rings, trends, weight charts). When disabled, the same tools still return their full text and data — just no rendered widget. Widgets are enabled by default. Note: hosts read the widget list when a session connects, so the change takes effect in new conversations; an already-open chat may keep showing widgets until it reconnects.

readOnlyHint false openWorldHint false idempotentHint true destructiveHint false
set_alcohol_tracking
annotations: verified low

Turn alcohol tracking on or off for the user, and optionally choose whether drinks are counted in US standard drinks (14 g of ethanol) or UK units (7.9 g). Off by default. Alcohol grams passed to log_meal, update_meal or bulk_import_meals are stored either way — this setting controls whether alcohol is shown in meals, goals and progress. One exception, which matters BEFORE a backfill: the file importer (start_meal_import) skips the file's alcohol column entirely while tracking is off, because it will not write a figure the user was never shown for review — and re-importing the same file later does not backfill it. So if the user wants alcohol from an export, turn this on first. Offer it when the user asks to track drinking; do not enable it on your own initiative, and if they ask to stop seeing alcohol, disable it here rather than deleting their meals. The change is live immediately — the next tool call in this same conversation already honours it, with nothing to reconnect or restart.

readOnlyHint false openWorldHint false idempotentHint true destructiveHint false
get_trends
annotations: verified low

Rolling 7/14/30-day averages, standard deviation and coefficient of variation for calories, protein, carbs, fat, fiber, sugar, added sugar, alcohol (when tracking is on), caffeine and water, with days within ±10% of each target or over each limit when goals are set; logging streaks; day-of-week calorie averages; and the best and worst day by calories (closest to and furthest from the calorie target when one is set, otherwise the lowest and highest). Every figure arrives pre-computed. Defaults to the last 30 days ending today. With group_by (week, month, quarter or year) the result also lists calorie, protein, carb and fat averages per calendar period over a fixed span (26 weeks, 24 months, 12 quarters or 5 years), each divided by the days in that period with at least one meal logged rather than by calendar days, beside the targets in effect at the time, the days logged and the days on target. Figures are estimates, not medical or dietary advice.

readOnlyHint true openWorldHint false idempotentHint true destructiveHint false
get_meal_patterns
annotations: verified low

Pre-aggregated behavioural patterns across the logged window: meal-type presence rates, breakfast effect (days with vs without), high-calorie-lunch effect, late-dinner effect, weekday vs weekend, and outlier days. Defaults to the last 30 days. Patterns are descriptive estimates, not medical or dietary advice.

readOnlyHint true openWorldHint false idempotentHint true destructiveHint false
export_all_data
annotations: verified low

Export EVERYTHING this server stores about the user — meals with their ingredients and the source of each nutrient value (a food record, a value the user gave, or an estimate), saved meals with their ingredients, water, weight, body measurements, nutrition goals and every dated change to them, profile settings, the sign-in account (email, sign-in methods and dates), tool-usage telemetry, the AI-app connections (OAuth grants, without the tokens) and the Apple Health sync connection with its 8-day record of what was sent — as a single ZIP archive (meals.csv, meal_items.csv, saved_meals.csv, saved_meal_items.csv, water.csv, weight.csv, body_measurements.csv, goals.csv, goals_history.csv, profile.csv, account.csv, telemetry.csv, connections.csv, health_sync.csv, plus a README.txt describing the columns, the units they are in, and what is not included) and return a private, time-limited download link (valid 60 minutes). Timestamps use the user's timezone if set, otherwise UTC; health_sync.csv rows use the timezone each day was counted in. Only meals.csv can be read back in; every other file is export-only. This is the server's only export path: it covers a full backup, an account takeout, and a request for the meal history alone, which is meals.csv inside the archive. The link is for the user to download the archive.

readOnlyHint false openWorldHint false idempotentHint false destructiveHint false
get_profile
annotations: verified low

Get the user's current settings in one call: timezone (plus local date and time), widget language, preferred weight unit, preferred length unit, whether in-chat widgets are shown, and whether alcohol tracking is on — everything set_timezone, set_language, set_weight_unit, set_length_unit, set_widget_display and set_alcohol_tracking each control. Prefer this over guessing a setting from context, and use it once instead of calling several separate settings tools when you need more than one.

readOnlyHint true openWorldHint false idempotentHint true destructiveHint false
set_timezone
annotations: verified low

Set the user's IANA timezone (e.g. 'America/Los_Angeles', 'Europe/Berlin', 'Asia/Tokyo'). It decides which calendar day meals, water, weight and body measurements are grouped into when they are read — a meal logged at 11pm in LA counts on that LA day, not the next UTC day — and how a logged_at with no UTC offset is turned into an exact moment when it is written. That second part is permanent: an entry keeps the moment it was resolved to, so correcting the timezone later regroups existing entries under the new zone's days but does not re-read their original local times (a meal entered as 21:00 while the account was on UTC shows as 00:00 the next day once Europe/Kyiv is set in summer). Until one is set, the account uses UTC.

readOnlyHint false openWorldHint false idempotentHint true destructiveHint false
set_language
annotations: verified low

Set the user's UI language for in-chat widgets (dashboards, charts). Supported: ${SITE_LOCALES.map((l) =>

readOnlyHint false openWorldHint false idempotentHint true destructiveHint false
get_current_time
annotations: verified low

Get the current date and time in the user's timezone as saved in this nutrition tracker, plus the UTC instant. Use it to resolve 'today', 'this morning', 'an hour ago' or 'last Monday' into a timestamp for entries logged here, instead of asking the user or guessing. Not needed to log something that is happening now: omit logged_at and the server stamps the current time itself.

readOnlyHint true openWorldHint false idempotentHint false destructiveHint false
delete_account
annotations: verified low

Permanently delete the user's Nutrition MCP account and all data this service stores about them (meals and their ingredients, saved meals and their ingredients, water, weight, body measurements, goals, settings, exports, usage records, sign-in tokens, and the Apple Health sync connection with its record of values sent). Totals already written to Apple Health stay on the user's iPhone. Irreversible. Always confirm with the user before calling this tool.

readOnlyHint false openWorldHint false idempotentHint false destructiveHint true

Permissions 3

network medium
Server uses network capabilities via: fetch()
shell high
Server uses shell capabilities via: spawn()
env_vars low
Server uses env_vars capabilities via: process.env

Scan Findings 299

info
Tool 'log_meal' annotations are consistent annotation_checker · 80%
info
Tool 'start_meal_import' annotations are consistent annotation_checker · 80%
low
Tool 'bulk_import_meals' has no annotations annotation_checker · 100%
info
Tool 'lookup_barcode' annotations are consistent annotation_checker · 80%
info
Tool 'search_foods' annotations are consistent annotation_checker · 80%
info
Tool 'get_food_macros' annotations are consistent annotation_checker · 80%
info
Tool 'get_meals_today' annotations are consistent annotation_checker · 80%
info
Tool 'get_meals_by_date' annotations are consistent annotation_checker · 80%
info
Tool 'get_meals_by_date_range' annotations are consistent annotation_checker · 80%
info
Tool 'search_meals' annotations are consistent annotation_checker · 80%
info
Tool 'get_nutrition_summary' annotations are consistent annotation_checker · 80%
info
Tool 'set_nutrition_goals' annotations are consistent annotation_checker · 80%
info
Tool 'get_nutrition_goals' annotations are consistent annotation_checker · 80%
info
Tool 'get_goal_progress' annotations are consistent annotation_checker · 80%
info
Tool 'delete_meal' annotations are consistent annotation_checker · 80%
info
Tool 'update_meal' annotations are consistent annotation_checker · 80%
info
Tool 'save_meal' annotations are consistent annotation_checker · 80%
info
Tool 'get_saved_meals' annotations are consistent annotation_checker · 80%
info
Tool 'log_saved_meal' annotations are consistent annotation_checker · 80%
info
Tool 'update_saved_meal' annotations are consistent annotation_checker · 80%
info
Tool 'delete_saved_meal' annotations are consistent annotation_checker · 80%
info
Tool 'log_water' annotations are consistent annotation_checker · 80%
info
Tool 'get_water_today' annotations are consistent annotation_checker · 80%
info
Tool 'get_water_by_date' annotations are consistent annotation_checker · 80%
info
Tool 'delete_water' annotations are consistent annotation_checker · 80%
info
Tool 'log_weight' annotations are consistent annotation_checker · 80%
info
Tool 'get_weight_today' annotations are consistent annotation_checker · 80%
info
Tool 'get_weight_by_date' annotations are consistent annotation_checker · 80%
info
Tool 'get_weight_by_date_range' annotations are consistent annotation_checker · 80%
info
Tool 'get_weight_trends' annotations are consistent annotation_checker · 80%
info
Tool 'update_weight' annotations are consistent annotation_checker · 80%
info
Tool 'delete_weight' annotations are consistent annotation_checker · 80%
info
Tool 'set_weight_unit' annotations are consistent annotation_checker · 80%
info
Tool 'log_body_measurement' annotations are consistent annotation_checker · 80%
info
Tool 'get_body_measurements' annotations are consistent annotation_checker · 80%
info
Tool 'update_body_measurement' annotations are consistent annotation_checker · 80%
info
Tool 'delete_body_measurement' annotations are consistent annotation_checker · 80%
info
Tool 'set_length_unit' annotations are consistent annotation_checker · 80%
info
Tool 'set_widget_display' annotations are consistent annotation_checker · 80%
info
Tool 'set_alcohol_tracking' annotations are consistent annotation_checker · 80%
info
Tool 'get_trends' annotations are consistent annotation_checker · 80%
info
Tool 'get_meal_patterns' annotations are consistent annotation_checker · 80%
info
Tool 'export_all_data' annotations are consistent annotation_checker · 80%
info
Tool 'get_profile' annotations are consistent annotation_checker · 80%
info
Tool 'set_timezone' annotations are consistent annotation_checker · 80%
info
Tool 'set_language' annotations are consistent annotation_checker · 80%
info
Tool 'get_current_time' annotations are consistent annotation_checker · 80%
info
Tool 'delete_account' annotations are consistent annotation_checker · 80%
high
Hardcoded OAuth client secret in akutishevsky-nutrition-mcp-ed4aed0/src/patreon.test.ts auth_checker · 95%
high
Hardcoded OAuth client ID in akutishevsky-nutrition-mcp-ed4aed0/src/export.test.ts auth_checker · 85%
high
Hardcoded OAuth client ID in akutishevsky-nutrition-mcp-ed4aed0/src/health-sync.ts auth_checker · 85%
high
Hardcoded OAuth client secret in akutishevsky-nutrition-mcp-ed4aed0/src/oauth.test.ts auth_checker · 95%
info
Sandbox failed to start for behavioral verification behavioral_verifier · 100%
medium
Hex string literal (>50 chars) in akutishevsky-nutrition-mcp-ed4aed0/src/oauth.test.ts:40 entropy_analyzer · 70%
medium
Buffer.from base64 in akutishevsky-nutrition-mcp-ed4aed0/src/oauth.ts:584 entropy_analyzer · 75%
medium
Hex string literal (>50 chars) in akutishevsky-nutrition-mcp-ed4aed0/src/token-hash.test.ts:11 entropy_analyzer · 70%
medium
Hex string literal (>50 chars) in akutishevsky-nutrition-mcp-ed4aed0/src/token-hash.test.ts:19 entropy_analyzer · 70%
medium
High-entropy string (5.84 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/login.ja.ts:16 entropy_analyzer · 52%
medium
High-entropy string (5.84 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/login.ja.ts:48 entropy_analyzer · 52%
medium
High-entropy string (6.22 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alt-ui.ja.ts:10 entropy_analyzer · 58%
medium
High-entropy string (6.33 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alt-ui.ja.ts:12 entropy_analyzer · 59%
medium
High-entropy string (5.95 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alt-ui.ja.ts:18 entropy_analyzer · 54%
medium
High-entropy string (6.36 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alt-ui.ja.ts:25 entropy_analyzer · 60%
medium
High-entropy string (6.66 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alt-ui.ja.ts:32 entropy_analyzer · 64%
medium
High-entropy string (6.02 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alt-ui.ja.ts:36 entropy_analyzer · 55%
medium
High-entropy string (6.15 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alt-ui.ja.ts:40 entropy_analyzer · 57%
medium
High-entropy string (6.28 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alt-ui.ja.ts:48 entropy_analyzer · 59%
medium
High-entropy string (6.08 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alt-ui.ja.ts:70 entropy_analyzer · 56%
medium
High-entropy string (5.87 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alt-ui.ja.ts:74 entropy_analyzer · 52%
medium
High-entropy string (6.28 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alt-ui.ja.ts:88 entropy_analyzer · 59%
medium
High-entropy string (6.21 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alt-ui.ja.ts:117 entropy_analyzer · 58%
medium
High-entropy string (6.13 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alt-ui.ja.ts:131 entropy_analyzer · 56%
medium
High-entropy string (6.72 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alt-ui.ja.ts:133 entropy_analyzer · 65%
medium
High-entropy string (5.74 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/health-sync.ja.ts:7 entropy_analyzer · 51%
medium
High-entropy string (5.81 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/health-sync.ja.ts:15 entropy_analyzer · 52%
medium
High-entropy string (6.16 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/widgets.ja.ts:268 entropy_analyzer · 57%
medium
High-entropy string (5.76 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/widgets.ja.ts:291 entropy_analyzer · 51%
medium
High-entropy string (5.93 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:37 entropy_analyzer · 54%
medium
High-entropy string (6.58 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:41 entropy_analyzer · 63%
medium
High-entropy string (5.74 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:42 entropy_analyzer · 51%
medium
High-entropy string (6.36 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:43 entropy_analyzer · 60%
medium
High-entropy string (6.81 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:49 entropy_analyzer · 67%
medium
High-entropy string (6.69 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:50 entropy_analyzer · 65%
medium
High-entropy string (6.52 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:51 entropy_analyzer · 62%
medium
High-entropy string (6.77 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:55 entropy_analyzer · 66%
medium
High-entropy string (5.97 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:59 entropy_analyzer · 54%
medium
High-entropy string (6.47 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:63 entropy_analyzer · 62%
medium
High-entropy string (5.89 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:76 entropy_analyzer · 53%
medium
High-entropy string (6.38 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:80 entropy_analyzer · 60%
medium
High-entropy string (6.60 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:81 entropy_analyzer · 64%
medium
High-entropy string (6.18 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:82 entropy_analyzer · 57%
medium
High-entropy string (6.34 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:88 entropy_analyzer · 60%
medium
High-entropy string (6.58 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:89 entropy_analyzer · 63%
medium
High-entropy string (7.00 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:90 entropy_analyzer · 70%
medium
High-entropy string (6.80 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:94 entropy_analyzer · 66%
medium
High-entropy string (6.53 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:98 entropy_analyzer · 62%
medium
High-entropy string (6.52 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:102 entropy_analyzer · 62%
medium
High-entropy string (5.85 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:115 entropy_analyzer · 52%
medium
High-entropy string (6.19 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:119 entropy_analyzer · 57%
medium
High-entropy string (6.13 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:120 entropy_analyzer · 56%
medium
High-entropy string (6.10 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:121 entropy_analyzer · 56%
medium
High-entropy string (6.68 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:127 entropy_analyzer · 65%
medium
High-entropy string (6.38 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:128 entropy_analyzer · 60%
medium
High-entropy string (6.37 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:129 entropy_analyzer · 60%
medium
High-entropy string (6.71 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:133 entropy_analyzer · 65%
medium
High-entropy string (6.32 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:137 entropy_analyzer · 59%
medium
High-entropy string (5.84 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:141 entropy_analyzer · 52%
medium
High-entropy string (5.98 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:154 entropy_analyzer · 54%
medium
High-entropy string (6.24 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:158 entropy_analyzer · 58%
medium
High-entropy string (6.40 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:159 entropy_analyzer · 60%
medium
High-entropy string (6.42 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:160 entropy_analyzer · 61%
medium
High-entropy string (6.42 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:166 entropy_analyzer · 61%
medium
High-entropy string (6.71 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:167 entropy_analyzer · 65%
medium
High-entropy string (6.70 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:168 entropy_analyzer · 65%
medium
High-entropy string (6.59 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:172 entropy_analyzer · 63%
medium
High-entropy string (6.17 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:176 entropy_analyzer · 57%
medium
High-entropy string (6.18 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:180 entropy_analyzer · 57%
medium
High-entropy string (6.14 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:184 entropy_analyzer · 57%
medium
High-entropy string (5.94 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:195 entropy_analyzer · 54%
medium
High-entropy string (6.21 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:199 entropy_analyzer · 58%
medium
High-entropy string (6.26 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:200 entropy_analyzer · 58%
medium
High-entropy string (6.16 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:201 entropy_analyzer · 57%
medium
High-entropy string (6.67 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:207 entropy_analyzer · 65%
medium
High-entropy string (6.96 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:208 entropy_analyzer · 69%
medium
High-entropy string (6.73 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:213 entropy_analyzer · 65%
medium
High-entropy string (6.14 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:217 entropy_analyzer · 57%
medium
High-entropy string (6.19 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:221 entropy_analyzer · 57%
medium
High-entropy string (6.03 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:234 entropy_analyzer · 55%
medium
High-entropy string (6.03 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:238 entropy_analyzer · 55%
medium
High-entropy string (6.20 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:239 entropy_analyzer · 57%
medium
High-entropy string (6.34 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:240 entropy_analyzer · 60%
medium
High-entropy string (6.73 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:246 entropy_analyzer · 65%
medium
High-entropy string (6.29 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:247 entropy_analyzer · 59%
medium
High-entropy string (6.90 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:248 entropy_analyzer · 68%
medium
High-entropy string (6.68 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:252 entropy_analyzer · 65%
medium
High-entropy string (5.81 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:256 entropy_analyzer · 52%
medium
High-entropy string (6.30 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:260 entropy_analyzer · 59%
medium
High-entropy string (5.82 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:273 entropy_analyzer · 52%
medium
High-entropy string (5.93 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:275 entropy_analyzer · 53%
medium
High-entropy string (5.81 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:278 entropy_analyzer · 52%
medium
High-entropy string (5.95 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/alternatives.ja.ts:280 entropy_analyzer · 54%
medium
High-entropy string (6.12 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/chrome.ja.ts:60 entropy_analyzer · 56%
medium
High-entropy string (5.96 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/tools.ja.ts:30 entropy_analyzer · 54%
medium
High-entropy string (6.07 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/tools.ja.ts:32 entropy_analyzer · 55%
medium
High-entropy string (6.35 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/tools.ja.ts:39 entropy_analyzer · 60%
medium
High-entropy string (6.14 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/tools.ja.ts:622 entropy_analyzer · 57%
medium
High-entropy string (5.89 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/tools.ja.ts:630 entropy_analyzer · 53%
medium
High-entropy string (5.73 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/tools.ja.ts:634 entropy_analyzer · 50%
medium
High-entropy string (6.22 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/tools.ja.ts:639 entropy_analyzer · 58%
medium
High-entropy string (6.11 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/tools.ja.ts:639 entropy_analyzer · 56%
medium
High-entropy string (6.18 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/tools.ja.ts:642 entropy_analyzer · 57%
medium
High-entropy string (6.01 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/tools.ja.ts:643 entropy_analyzer · 55%
medium
High-entropy string (6.36 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/tools.ja.ts:647 entropy_analyzer · 60%
medium
High-entropy string (6.36 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/tools.ja.ts:648 entropy_analyzer · 60%
medium
High-entropy string (6.43 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/tools.ja.ts:652 entropy_analyzer · 61%
medium
High-entropy string (6.30 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/tools.ja.ts:656 entropy_analyzer · 59%
medium
High-entropy string (6.74 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/tools.ja.ts:662 entropy_analyzer · 66%
medium
High-entropy string (5.94 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/tools.ja.ts:681 entropy_analyzer · 54%
medium
High-entropy string (6.40 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/tools.ja.ts:685 entropy_analyzer · 60%
medium
High-entropy string (6.11 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/tools.ja.ts:689 entropy_analyzer · 56%
medium
High-entropy string (5.89 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/legal.ja.ts:59 entropy_analyzer · 53%
medium
High-entropy string (6.01 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/legal.ja.ts:62 entropy_analyzer · 55%
medium
High-entropy string (6.13 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/legal.ja.ts:63 entropy_analyzer · 56%
medium
High-entropy string (6.10 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/legal.ja.ts:64 entropy_analyzer · 56%
medium
High-entropy string (6.73 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/legal.ja.ts:65 entropy_analyzer · 66%
medium
High-entropy string (6.74 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/legal.ja.ts:66 entropy_analyzer · 66%
medium
High-entropy string (6.84 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/legal.ja.ts:67 entropy_analyzer · 67%
medium
High-entropy string (6.53 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/legal.ja.ts:70 entropy_analyzer · 62%
medium
High-entropy string (6.34 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/legal.ja.ts:73 entropy_analyzer · 60%
medium
High-entropy string (6.23 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/legal.ja.ts:87 entropy_analyzer · 58%
medium
High-entropy string (6.08 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/legal.ja.ts:90 entropy_analyzer · 56%
medium
High-entropy string (6.44 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/legal.ja.ts:90 entropy_analyzer · 61%
medium
High-entropy string (6.39 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/legal.ja.ts:96 entropy_analyzer · 60%
medium
High-entropy string (6.50 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/legal.ja.ts:101 entropy_analyzer · 62%
medium
High-entropy string (6.22 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/legal.ja.ts:104 entropy_analyzer · 58%
medium
High-entropy string (6.65 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/legal.ja.ts:112 entropy_analyzer · 64%
medium
High-entropy string (6.11 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/legal.ja.ts:150 entropy_analyzer · 56%
medium
High-entropy string (5.76 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/legal.ja.ts:158 entropy_analyzer · 51%
medium
High-entropy string (5.73 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/legal.ja.ts:161 entropy_analyzer · 50%
medium
High-entropy string (6.88 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/legal.ja.ts:164 entropy_analyzer · 68%
medium
High-entropy string (5.78 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/legal.ja.ts:167 entropy_analyzer · 51%
medium
High-entropy string (5.95 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/legal.ja.ts:178 entropy_analyzer · 54%
medium
High-entropy string (6.04 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/legal.ja.ts:188 entropy_analyzer · 55%
medium
High-entropy string (5.75 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/legal.ja.ts:256 entropy_analyzer · 51%
medium
High-entropy string (5.73 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/legal.ja.ts:262 entropy_analyzer · 50%
medium
High-entropy string (6.47 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/legal.ja.ts:273 entropy_analyzer · 62%
medium
High-entropy string (6.39 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/legal.ja.ts:276 entropy_analyzer · 60%
medium
High-entropy string (6.62 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/legal.ja.ts:279 entropy_analyzer · 64%
medium
High-entropy string (5.86 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/legal.ja.ts:282 entropy_analyzer · 52%
medium
High-entropy string (6.61 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/legal.ja.ts:310 entropy_analyzer · 64%
medium
High-entropy string (6.09 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/apple-health.ja.ts:14 entropy_analyzer · 56%
medium
High-entropy string (5.87 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/apple-health.ja.ts:22 entropy_analyzer · 53%
medium
High-entropy string (6.07 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/apple-health.ja.ts:46 entropy_analyzer · 55%
medium
High-entropy string (5.79 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/apple-health.ja.ts:55 entropy_analyzer · 51%
medium
High-entropy string (5.83 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/apple-health.ja.ts:57 entropy_analyzer · 52%
medium
High-entropy string (6.09 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/apple-health.ja.ts:64 entropy_analyzer · 56%
medium
High-entropy string (5.97 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/apple-health.ja.ts:68 entropy_analyzer · 54%
medium
High-entropy string (5.91 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/apple-health.ja.ts:72 entropy_analyzer · 53%
medium
High-entropy string (5.99 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/apple-health.ja.ts:98 entropy_analyzer · 54%
medium
High-entropy string (6.22 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/apple-health.ja.ts:105 entropy_analyzer · 58%
medium
High-entropy string (5.73 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/apple-health.ja.ts:117 entropy_analyzer · 51%
medium
High-entropy string (5.97 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/apple-health.ja.ts:125 entropy_analyzer · 54%
medium
High-entropy string (5.74 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/apple-health.ja.ts:126 entropy_analyzer · 51%
medium
High-entropy string (5.98 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/apple-health.ja.ts:127 entropy_analyzer · 54%
medium
High-entropy string (5.74 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/index.ja.ts:40 entropy_analyzer · 51%
medium
High-entropy string (5.74 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/index.ja.ts:42 entropy_analyzer · 51%
medium
High-entropy string (5.72 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/index.ja.ts:81 entropy_analyzer · 50%
medium
High-entropy string (5.82 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/index.ja.ts:85 entropy_analyzer · 52%
medium
High-entropy string (6.20 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/index.ja.ts:134 entropy_analyzer · 57%
medium
High-entropy string (6.17 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/index.ja.ts:146 entropy_analyzer · 57%
medium
High-entropy string (5.94 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/index.ja.ts:178 entropy_analyzer · 54%
medium
High-entropy string (5.89 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/index.ja.ts:300 entropy_analyzer · 53%
medium
High-entropy string (6.05 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/index.ja.ts:308 entropy_analyzer · 55%
medium
High-entropy string (6.03 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/index.ja.ts:348 entropy_analyzer · 55%
medium
High-entropy string (5.76 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/index.ja.ts:386 entropy_analyzer · 51%
medium
High-entropy string (5.90 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/index.ja.ts:415 entropy_analyzer · 53%
medium
High-entropy string (5.77 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/index.ja.ts:579 entropy_analyzer · 51%
medium
High-entropy string (5.71 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/index.ja.ts:666 entropy_analyzer · 50%
medium
High-entropy string (6.08 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/index.ja.ts:674 entropy_analyzer · 56%
medium
High-entropy string (5.90 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/index.ja.ts:682 entropy_analyzer · 53%
medium
High-entropy string (6.05 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/index.ja.ts:725 entropy_analyzer · 55%
medium
High-entropy string (5.73 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/index.ja.ts:735 entropy_analyzer · 51%
medium
High-entropy string (6.26 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/index.ja.ts:772 entropy_analyzer · 58%
medium
High-entropy string (5.96 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/index.ja.ts:776 entropy_analyzer · 54%
medium
High-entropy string (5.85 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/index.ja.ts:792 entropy_analyzer · 52%
medium
High-entropy string (5.79 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/index.ja.ts:800 entropy_analyzer · 51%
medium
High-entropy string (6.07 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/index.ja.ts:804 entropy_analyzer · 56%
medium
High-entropy string (5.87 bits/char) in akutishevsky-nutrition-mcp-ed4aed0/src/copy/index.ja.ts:868 entropy_analyzer · 53%
info
package.json metadata manifest_parser · 100%
info
Tool: log_meal manifest_parser · 85%
info
Tool: start_meal_import manifest_parser · 85%
info
Tool: bulk_import_meals manifest_parser · 85%
info
Tool: lookup_barcode manifest_parser · 85%
info
Tool: search_foods manifest_parser · 85%
info
Tool: get_food_macros manifest_parser · 85%
info
Tool: get_meals_today manifest_parser · 85%
info
Tool: get_meals_by_date manifest_parser · 85%
info
Tool: get_meals_by_date_range manifest_parser · 85%
info
Tool: search_meals manifest_parser · 85%
info
Tool: get_nutrition_summary manifest_parser · 85%
info
Tool: set_nutrition_goals manifest_parser · 85%
info
Tool: get_nutrition_goals manifest_parser · 85%
info
Tool: get_goal_progress manifest_parser · 85%
info
Tool: delete_meal manifest_parser · 85%
info
Tool: update_meal manifest_parser · 85%
info
Tool: save_meal manifest_parser · 85%
info
Tool: get_saved_meals manifest_parser · 85%
info
Tool: log_saved_meal manifest_parser · 85%
info
Tool: update_saved_meal manifest_parser · 85%
info
Tool: delete_saved_meal manifest_parser · 85%
info
Tool: log_water manifest_parser · 85%
info
Tool: get_water_today manifest_parser · 85%
info
Tool: get_water_by_date manifest_parser · 85%
info
Tool: delete_water manifest_parser · 85%
info
Tool: log_weight manifest_parser · 85%
info
Tool: get_weight_today manifest_parser · 85%
info
Tool: get_weight_by_date manifest_parser · 85%
info
Tool: get_weight_by_date_range manifest_parser · 85%
info
Tool: get_weight_trends manifest_parser · 85%
info
Tool: update_weight manifest_parser · 85%
info
Tool: delete_weight manifest_parser · 85%
info
Tool: set_weight_unit manifest_parser · 85%
info
Tool: log_body_measurement manifest_parser · 85%
info
Tool: get_body_measurements manifest_parser · 85%
info
Tool: update_body_measurement manifest_parser · 85%
info
Tool: delete_body_measurement manifest_parser · 85%
info
Tool: set_length_unit manifest_parser · 85%
info
Tool: set_widget_display manifest_parser · 85%
info
Tool: set_alcohol_tracking manifest_parser · 85%
info
Tool: get_trends manifest_parser · 85%
info
Tool: get_meal_patterns manifest_parser · 85%
info
Tool: export_all_data manifest_parser · 85%
info
Tool: get_profile manifest_parser · 85%
info
Tool: set_timezone manifest_parser · 85%
info
Tool: set_language manifest_parser · 85%
info
Tool: get_current_time manifest_parser · 85%
info
Tool: delete_account manifest_parser · 85%
info
Transport: streamable-http manifest_parser · 80%
info
Required env vars (20) manifest_parser · 80%
medium
Hardcoded OAuth client ID in akutishevsky-nutrition-mcp-ed4aed0/src/export.test.ts oauth_scope_analyzer · 80%
medium
Hardcoded OAuth client ID in akutishevsky-nutrition-mcp-ed4aed0/src/health-sync.ts oauth_scope_analyzer · 80%
high
Deprecated implicit grant flow in akutishevsky-nutrition-mcp-ed4aed0/src/oauth.test.ts oauth_scope_analyzer · 85%
info
Sandbox failed to start for output poisoning scan output_poisoning · 100%
medium
Permission: network access detected permission_analyzer · 70%
high
Permission: shell access detected permission_analyzer · 90%
low
Permission: env_vars access detected permission_analyzer · 90%
info
SBOM generated: 7 components sbom_generator · 100%
high
Hardcoded Password found in akutishevsky-nutrition-mcp-ed4aed0/src/copy/login.es.ts secret_scanner · 65%
high
Hardcoded Password found in akutishevsky-nutrition-mcp-ed4aed0/src/copy/login.ts secret_scanner · 65%
high
Hardcoded Password found in akutishevsky-nutrition-mcp-ed4aed0/src/copy/login.ja.ts secret_scanner · 65%
high
Hardcoded Password found in akutishevsky-nutrition-mcp-ed4aed0/src/copy/login.it.ts secret_scanner · 65%
high
Hardcoded Password found in akutishevsky-nutrition-mcp-ed4aed0/src/copy/login.fr.ts secret_scanner · 65%
high
Hardcoded Password found in akutishevsky-nutrition-mcp-ed4aed0/src/copy/login.tr.ts secret_scanner · 65%
high
Hardcoded Password found in akutishevsky-nutrition-mcp-ed4aed0/src/copy/login.pl.ts secret_scanner · 65%
high
Hardcoded Password found in akutishevsky-nutrition-mcp-ed4aed0/src/copy/login.de.ts secret_scanner · 65%
high
Hardcoded Password found in akutishevsky-nutrition-mcp-ed4aed0/src/copy/login.nl.ts secret_scanner · 65%
high
Hardcoded Password found in akutishevsky-nutrition-mcp-ed4aed0/src/copy/login.uk.ts secret_scanner · 65%
medium
No build provenance detected (SLSA L0) slsa_assessor · 90%
high
Cyrillic homoglyphs in 'search_meals' field 'description' unicode_scanner · 90%