add_favorite_recipe
Add a recipe to the user's favorites. Requires profile auth (check_auth_status first).
Search foods and recipes with full nutrition, then keep the diary that goes with them — entries, saved meals, favourites, weight and exercise — over an OAuth-authorised FatSecret profile.
LABSCO SUMMARY
The diary, saved meals, favourites, weight and exercise tools all state that they require profile auth, and the vendor puts check_auth_status in front of them to report what is set up before anything fails. A separate line runs through the food side, where find_food_by_barcode, autocomplete_foods, get_food_categories, get_food_sub_categories, get_brands and create_food are each marked Premier exclusive. Two constraints inside the diary are worth knowing before writing against it: edit_food_entry cannot change an entry's date, and edit_saved_meal_item cannot change its serving_id.
A FatSecret client with 44 tools covering the food and recipe database, a user's food diary, saved meals and favourites, weight and exercise logging, and the credential and OAuth setup every profile tool depends on.
FatSecret API credentials stored through setup_credentials, and — for anything touching a user's diary — an authorised profile from the OAuth 1.0 flow in start_auth and complete_auth. find_food_by_barcode, autocomplete_foods, get_food_categories, get_food_sub_categories, get_brands and create_food are marked Premier exclusive.
One command plus credentials — npx fatsecret-mcp, then supply credentials
USE CASES
The entry needs a food id, a serving id and a meal type, which is why the search and detail reads come first.
Credentials and profile authorisation are two separate steps, and the status read is what tells you which one is missing.
A saved meal holds its own item list, and copying it into a date is a single call rather than re-entering each food.
The three monthly reads line up on the same calendar, which is what makes a month readable as one picture rather than three.
Calories, carb, fat and protein percentages and prep time are all filters on the search, so the shortlist arrives already fitting the constraint.
The first weigh-in has to carry the goal weight and current height, which is what makes every later entry meaningful.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
add_favorite_recipeAdd a recipe to the user's favorites. Requires profile auth (check_auth_status first).
add_saved_meal_itemAdd a food item to a saved meal. Requires profile auth (check_auth_status first).
autocomplete_foodsGet autocomplete suggestions for a partial food search expression. Premier exclusive.
check_auth_statusCheck if API credentials and profile authentication are configured. Call this first to understand what setup is needed.
complete_authComplete the OAuth 1.0 flow with the verifier code from the authorization page.
copy_food_entriesCopy food entries from one date to another, optionally filtered by meal. Requires profile auth (check_auth_status first).
copy_saved_meal_entriesCopy entries from a saved meal to a meal on a specific date. Requires profile auth (check_auth_status first).
create_foodCreate a custom food with nutrition info. Premier exclusive. Requires profile auth (check_auth_status first).
create_food_entryAdd a food diary entry. Requires food_id, serving_id, and meal type. Requires profile auth (check_auth_status first).
create_saved_mealCreate a new saved meal. Requires profile auth (check_auth_status first).
delete_favorite_foodRemove a food from the user's favorites. Requires profile auth (check_auth_status first).
delete_favorite_recipeRemove a recipe from the user's favorites. Requires profile auth (check_auth_status first).
delete_food_entryDelete a food diary entry by ID. Requires profile auth (check_auth_status first).
delete_saved_mealDelete a saved meal. Requires profile auth (check_auth_status first).
delete_saved_meal_itemRemove a food item from a saved meal. Requires profile auth (check_auth_status first).
edit_exercise_entriesShift exercise time between activities for a date. Moves minutes from one exercise to another. Requires profile auth (check_auth_status first).
edit_food_entryEdit an existing food diary entry. Cannot change the date. Requires profile auth (check_auth_status first).
edit_saved_mealEdit a saved meal name, description, or associated meals. Requires profile auth (check_auth_status first).
edit_saved_meal_itemEdit a food item in a saved meal (name or units). Cannot change serving_id. Requires profile auth (check_auth_status first).
find_food_by_barcodeFind food by barcode (GTIN-13). UPC-A, EAN-13 and EAN-8 supported. Premier exclusive.
get_brandsGet the list of food brands, optionally filtered by starting letter and type. Premier exclusive.
get_exercise_entries_monthGet daily calories expended from exercise for a month. Requires profile auth (check_auth_status first).
get_exercisesGet the full list of supported exercise types and their IDs. Requires profile auth (check_auth_status first).
get_favorite_foodsGet the user's favorite foods. Requires profile auth (check_auth_status first).
get_favorite_recipesGet the user's favorite recipes. Requires profile auth (check_auth_status first).
get_foodGet detailed nutritional information for a specific food by ID. Returns servings, calories, macros, and micronutrients.
get_food_categoriesGet the full list of food categories. Premier exclusive.
get_food_entriesGet food diary entries for a date or a specific entry by ID. Requires profile auth (check_auth_status first).
get_food_entries_monthGet daily nutrition summary for a month. Returns calories and macros per day. Requires profile auth (check_auth_status first).
get_food_sub_categoriesGet food sub categories for a given food category. Premier exclusive.
get_most_eaten_foodsGet the user's most eaten foods, optionally filtered by meal. Requires profile auth (check_auth_status first).
get_profileGet profile status information for the authenticated user. Requires profile auth (check_auth_status first).
get_recently_eaten_foodsGet the user's recently eaten foods, optionally filtered by meal. Requires profile auth (check_auth_status first).
get_recipeGet detailed recipe information by ID including ingredients, directions, and nutrition.
get_recipe_typesGet the full list of supported recipe type names.
get_saved_meal_itemsGet all food items in a saved meal. Requires profile auth (check_auth_status first).
get_saved_mealsGet the user's saved meals, optionally filtered by meal type. Requires profile auth (check_auth_status first).
get_weight_monthGet the user's weight entries for a month. Requires profile auth (check_auth_status first).
save_exercise_templateSave the current day's exercise entries as a template for specified days of the week. Requires profile auth (check_auth_status first).
search_foodsSearch the FatSecret food database. Returns food names, descriptions, and basic nutrition info.
search_recipesSearch recipes with optional filters for calories, macros, prep time, and recipe types.
setup_credentialsConfigure FatSecret API credentials. Get them at https://platform.fatsecret.com/ → My Account → API Keys. Saves to persistent config file.
start_authStart the OAuth 1.0 authorization flow for profile access. Returns an authorization URL the user must visit. Requires API credentials (setup_credentials first).
update_weightRecord the user's weight for a date. First weigh-in requires goal_weight_kg and current_height_cm. Requires profile auth (check_auth_status first).
BEFORE YOU INSTALL
44 tools when we connected. Diary, favorites, saved-meal, weight, exercise and profile tools fail until you run start_auth and complete_auth. create_food needs a paid FatSecret Premier tier.
CONTEXT COST
Rated by the size of the 44 tool definitions that ride along on every turn, not by how many there are
INSTALLATION
npx fatsecret-mcpDownload fatsecret-mcp.mcpb from the project's latest GitHub release:
https://github.com/fliptheweb/fatsecret-mcp/releases/latest/download/fatsecret-mcp.mcpbOpen the file with Claude Desktop and enter your FatSecret credentials when prompted — they are stored in the OS keychain.
{
"mcpServers": {
"fatsecret": {
"command": "npx",
"args": [
"-y",
"fatsecret-mcp"
],
"env": {
"FATSECRET_CLIENT_ID": "<YOUR_FATSECRET_CLIENT_ID>",
"FATSECRET_CLIENT_SECRET": "<YOUR_FATSECRET_CLIENT_SECRET>",
"FATSECRET_CONSUMER_SECRET": "<YOUR_FATSECRET_CONSUMER_SECRET>"
}
}
}
}claude mcp add fatsecret -- npx -y fatsecret-mcp