FatSecret MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| FATSECRET_CLIENT_ID | Yes | Your FatSecret API Client ID (used for both OAuth 2.0 and OAuth 1.0) | |
| FATSECRET_CLIENT_SECRET | Yes | Your FatSecret API Client Secret (OAuth 2.0 - for public food/recipe search) | |
| FATSECRET_CONSUMER_SECRET | Yes | Your FatSecret API Consumer Secret (OAuth 1.0 - for user profile/diary access) |
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": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_foodsC | Search the FatSecret food database. Returns food names, descriptions, and basic nutrition info. |
| get_foodA | Get detailed nutritional information for a specific food by ID. Returns servings, calories, macros, and micronutrients. |
| find_food_by_barcodeA | Find food by barcode (GTIN-13). UPC-A, EAN-13 and EAN-8 supported. Premier exclusive. |
| autocomplete_foodsC | Get autocomplete suggestions for a partial food search expression. Premier exclusive. |
| search_recipesB | Search recipes with optional filters for calories, macros, prep time, and recipe types. |
| get_recipeA | Get detailed recipe information by ID including ingredients, directions, and nutrition. |
| get_food_categoriesC | Get the full list of food categories. Premier exclusive. |
| get_food_sub_categoriesA | Get food sub categories for a given food category. Premier exclusive. |
| get_brandsB | Get the list of food brands, optionally filtered by starting letter and type. Premier exclusive. |
| get_recipe_typesA | Get the full list of supported recipe type names. |
| get_food_entriesA | Get food diary entries for a date or a specific entry by ID. Requires profile auth (check_auth_status first). |
| get_food_entries_monthA | Get daily nutrition summary for a month. Returns calories and macros per day. Requires profile auth (check_auth_status first). |
| create_food_entryA | Add a food diary entry. Requires food_id, serving_id, and meal type. Requires profile auth (check_auth_status first). |
| edit_food_entryA | Edit an existing food diary entry. Cannot change the date. Requires profile auth (check_auth_status first). |
| delete_food_entryB | Delete a food diary entry by ID. Requires profile auth (check_auth_status first). |
| copy_food_entriesA | Copy food entries from one date to another, optionally filtered by meal. Requires profile auth (check_auth_status first). |
| copy_saved_meal_entriesA | Copy entries from a saved meal to a meal on a specific date. Requires profile auth (check_auth_status first). |
| get_favorite_foodsA | Get the user's favorite foods. Requires profile auth (check_auth_status first). |
| delete_favorite_foodC | Remove a food from the user's favorites. Requires profile auth (check_auth_status first). |
| get_most_eaten_foodsA | Get the user's most eaten foods, optionally filtered by meal. Requires profile auth (check_auth_status first). |
| get_recently_eaten_foodsA | Get the user's recently eaten foods, optionally filtered by meal. Requires profile auth (check_auth_status first). |
| get_favorite_recipesA | Get the user's favorite recipes. Requires profile auth (check_auth_status first). |
| add_favorite_recipeB | Add a recipe to the user's favorites. Requires profile auth (check_auth_status first). |
| delete_favorite_recipeA | Remove a recipe from the user's favorites. Requires profile auth (check_auth_status first). |
| get_saved_mealsA | Get the user's saved meals, optionally filtered by meal type. Requires profile auth (check_auth_status first). |
| create_saved_mealB | Create a new saved meal. Requires profile auth (check_auth_status first). |
| edit_saved_mealA | Edit a saved meal name, description, or associated meals. Requires profile auth (check_auth_status first). |
| delete_saved_mealA | Delete a saved meal. Requires profile auth (check_auth_status first). |
| get_saved_meal_itemsA | Get all food items in a saved meal. Requires profile auth (check_auth_status first). |
| add_saved_meal_itemB | Add a food item to a saved meal. Requires profile auth (check_auth_status first). |
| edit_saved_meal_itemA | Edit a food item in a saved meal (name or units). Cannot change serving_id. Requires profile auth (check_auth_status first). |
| delete_saved_meal_itemA | Remove a food item from a saved meal. Requires profile auth (check_auth_status first). |
| update_weightA | Record 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). |
| get_weight_monthA | Get the user's weight entries for a month. Requires profile auth (check_auth_status first). |
| get_exercisesA | Get the full list of supported exercise types and their IDs. Requires profile auth (check_auth_status first). |
| edit_exercise_entriesA | Shift exercise time between activities for a date. Moves minutes from one exercise to another. Requires profile auth (check_auth_status first). |
| get_exercise_entries_monthA | Get daily calories expended from exercise for a month. Requires profile auth (check_auth_status first). |
| save_exercise_templateA | Save the current day's exercise entries as a template for specified days of the week. Requires profile auth (check_auth_status first). |
| get_profileA | Get profile status information for the authenticated user. Requires profile auth (check_auth_status first). |
| create_foodA | Create a custom food with nutrition info. Premier exclusive. Requires profile auth (check_auth_status first). |
| check_auth_statusA | Check if API credentials and profile authentication are configured. Call this first to understand what setup is needed. |
| setup_credentialsA | Configure FatSecret API credentials. Get them at https://platform.fatsecret.com/ → My Account → API Keys. Saves to persistent config file. |
| start_authA | Start the OAuth 1.0 authorization flow for profile access. Returns an authorization URL the user must visit. Requires API credentials (setup_credentials first). |
| complete_authA | Complete the OAuth 1.0 flow with the verifier code from the authorization page. |
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 44 tools
Each tool targets a distinct action or resource, with clear boundaries between food search, recipe lookup, food diary management, weight tracking, exercise, and auth flows. No two tools have overlapping or ambiguous purposes.
All tools follow a consistent verb_noun pattern (e.g., search_foods, create_food_entry, get_profile). Even compound names like find_food_by_barcode and copy_saved_meal_entries maintain the same structure. No mixing of conventions.
With 44 tools, the server is significantly over the typical well-scoped range of 3–15. While the FatSecret API is broad, this many tools in one server can overwhelm agents, and some functionality (e.g., auth setup with 4 tools) could be consolidated.
The tool set covers most major operations: food and recipe search, diary CRUD, favorites, saved meals, weight logging, and exercise. Minor gaps exist, such as missing single-date weight retrieval and lack of direct exercise entry creation, but core workflows are supported.