io.github.fliptheweb/fatsecret-mcp
NPM · FATSECRET-MCP · SCANNED AUG 3
MCP server for FatSecret API - food search, nutrition, diary, recipes, weight tracking (unofficial)
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →
Supply Chain Security87
- No malware found by supply-chain analysis.Pass
- Only part of the dependency tree could be resolved (97 of 101), so this covers what we could see, not the whole tree.Partial
- No install/post-install scripts declared.Pass
- Only part of the dependency tree could be resolved (97 of 101), so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency97
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Cryptographically verified build provenance (signed, bound to fliptheweb/fatsecret-mcp). View diagnostics → Pass
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 2 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability60
- AI-judged instruction clarity (fair).Partial
- Tool/resource definitions use about 3093 tokens (~70/item across 44 items; 44 tools + 0 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
- Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage80
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 41% of tool parameters carry a description.Partial
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
npm · fatsecret-mcp
claude mcp add fliptheweb-fatsecret-mcp -- npx -y fatsecret-mcp
codex mcp add fliptheweb-fatsecret-mcp -- npx -y fatsecret-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"fliptheweb-fatsecret-mcp": {
"type": "local",
"command": [
"npx",
"-y",
"fatsecret-mcp"
],
"enabled": true
}
}
} openclaw mcp add fliptheweb-fatsecret-mcp --command npx --arg -y --arg fatsecret-mcp
mcp_servers:
fliptheweb-fatsecret-mcp:
command: "npx"
args: ["-y", "fatsecret-mcp"] {
"mcpServers": {
"fliptheweb-fatsecret-mcp": {
"command": "npx",
"args": [
"-y",
"fatsecret-mcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 3 Aug 26 +4
- Stability: unverified → 0.27 ▲ functional
- 2 Aug 26 +66
- Known CVEs: unverified → partial ▲ security
- Install scripts: unverified → pass ▲ security
- Provenance: unverified → pass ▲ security
- Malware scan: unverified → pass ▲ security
- Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
- The attested source repository moved: fliptheweb/fatsecret-mcp security
- Security disclosure: fail → unverified ▼ functional
- Tool coverage: unverified → 100 ▲ functional
- License: unverified → pass ▲ functional
- Schema quality: unverified → fair ▲ functional
- Dependency health: unverified → partial ▲ functional
- Maintenance: unverified → pass ▲ functional
- MCP protocol: unverified → pass ▲ functional
- Licence: MIT functional
- 1 Aug 26 −3
- Dependency health: partial → unverified ▼ functional
- 31 Jul 26 −16
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 30 Jul 26 −19
- Tool coverage: 100 → unverified ▼ functional
- First check of Schema quality: unverified functional
- 27 Jul 26 43
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 3 Aug 2026 · Analysed npm/[email protected]
Provenance verified
Ecosystem: npm · Outcome: verified
Reason: verified
- Source repo:
- fliptheweb/fatsecret-mcp
- Certificate issuer:
- https://token.actions.githubusercontent.com
- Certificate SAN:
- https://github.com/fliptheweb/fatsecret-mcp/.github/workflows/publish.yml@refs/tags/v0.0.8
- Rekor log index:
- 1004886239
- Predicate type:
- https://slsa.dev/provenance/v1
- Subject digest:
- sha512:43fe2ced01c8b991078f827a8de3eed04b2d6ea32c96d43decd1d73224cc642a318949a26f84f237543b4e2d4c23745634676f5479ac93a14e45e0ac2
- Discovery method:
- attestation_endpoint
Dependencies 97 packages
97 packages in the resolved dependency tree · 97 deprecated · 29 stale.
The dependency tree was only partially resolved, so these counts may be incomplete.
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
add_favorite_recipe ~41
Add a recipe to the user's favorites. Requires profile auth (check_auth_status first).
| Name | Type | Req | Description |
|---|---|---|---|
| recipe_id | integer | yes | Recipe ID to add to favorites |
No output schema declared.
No examples provided.
add_saved_meal_item ~90
Add a food item to a saved meal. Requires profile auth (check_auth_status first).
| Name | Type | Req | Description |
|---|---|---|---|
| food_id | integer | yes | Food ID to add |
| number_of_units | number | yes | Number of serving units |
| saved_meal_id | integer | yes | Saved meal ID |
| saved_meal_item_name | string | yes | Item name |
| serving_id | integer | yes | Serving ID |
No output schema declared.
No examples provided.
autocomplete_foods ~54
Get autocomplete suggestions for a partial food search expression. Premier exclusive.
| Name | Type | Req | Description |
|---|---|---|---|
| expression | string | yes | Partial search expression |
| language | string | — | — |
| max_results | number | — | — |
| region | string | — | — |
No output schema declared.
No examples provided.
check_auth_status ~29
Check if API credentials and profile authentication are configured. Call this first to understand what setup is needed.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
complete_auth ~39
Complete the OAuth 1.0 flow with the verifier code from the authorization page.
| Name | Type | Req | Description |
|---|---|---|---|
| verifier | string | yes | OAuth verifier code from the authorization page |
No output schema declared.
No examples provided.
copy_food_entries ~67
Copy food entries from one date to another, optionally filtered by meal. Requires profile auth (check_auth_status first).
| Name | Type | Req | Description |
|---|---|---|---|
| from_date | string | yes | Source date YYYY-MM-DD |
| meal | string | — | Meal type |
| to_date | string | yes | Target date YYYY-MM-DD |
No output schema declared.
No examples provided.
copy_saved_meal_entries ~74
Copy entries from a saved meal to a meal on a specific date. Requires profile auth (check_auth_status first).
| Name | Type | Req | Description |
|---|---|---|---|
| date | string | — | Date in YYYY-MM-DD format (default today) |
| meal | string | yes | Meal type |
| saved_meal_id | integer | yes | Saved meal ID to copy |
No output schema declared.
No examples provided.
create_food ~259
Create a custom food with nutrition info. Premier exclusive. Requires profile auth (check_auth_status first).
| Name | Type | Req | Description |
|---|---|---|---|
| added_sugars | string | — | — |
| brand_name | string | yes | Brand name |
| calcium | string | — | — |
| calories | number | yes | Calories (kcal) |
| calories_from_fat | string | — | — |
| carbohydrate | number | yes | Total carbohydrate (g) |
| cholesterol | string | — | — |
| fat | number | yes | Total fat (g) |
| fiber | string | — | — |
| food_name | string | yes | Food name |
| iron | string | — | — |
| monounsaturated_fat | string | — | — |
| polyunsaturated_fat | string | — | — |
| potassium | string | — | — |
| protein | number | yes | Protein (g) |
| saturated_fat | string | — | — |
| serving_amount | string | — | — |
| serving_amount_unit | string | — | — |
| serving_size | string | yes | Serving size description (e.g. "1 slice") |
| sodium | string | — | — |
| sugar | string | — | — |
| trans_fat | string | — | — |
| vitamin_a | string | — | — |
| vitamin_c | string | — | — |
| vitamin_d | string | — | — |
No output schema declared.
No examples provided.
create_food_entry ~108
Add a food diary entry. Requires food_id, serving_id, and meal type. Requires profile auth (check_auth_status first).
| Name | Type | Req | Description |
|---|---|---|---|
| date | string | — | Date in YYYY-MM-DD format (default today) |
| food_entry_name | string | yes | Name for the food entry |
| food_id | integer | yes | Food ID |
| meal | string | yes | Meal type |
| number_of_units | number | yes | Number of serving units |
| serving_id | integer | yes | Serving size ID |
No output schema declared.
No examples provided.
create_saved_meal ~54
Create a new saved meal. Requires profile auth (check_auth_status first).
| Name | Type | Req | Description |
|---|---|---|---|
| meals | string | — | — |
| saved_meal_description | string | — | — |
| saved_meal_name | string | yes | Meal name |
No output schema declared.
No examples provided.
delete_favorite_food ~58
Remove a food from the user's favorites. Requires profile auth (check_auth_status first).
| Name | Type | Req | Description |
|---|---|---|---|
| food_id | integer | yes | Food ID to remove from favorites |
| number_of_units | string | — | — |
| serving_id | string | — | — |
No output schema declared.
No examples provided.
delete_favorite_recipe ~41
Remove a recipe from the user's favorites. Requires profile auth (check_auth_status first).
| Name | Type | Req | Description |
|---|---|---|---|
| recipe_id | integer | yes | Recipe ID to remove from favorites |
No output schema declared.
No examples provided.
delete_food_entry ~40
Delete a food diary entry by ID. Requires profile auth (check_auth_status first).
| Name | Type | Req | Description |
|---|---|---|---|
| food_entry_id | integer | yes | Food entry ID to delete |
No output schema declared.
No examples provided.
delete_saved_meal ~39
Delete a saved meal. Requires profile auth (check_auth_status first).
| Name | Type | Req | Description |
|---|---|---|---|
| saved_meal_id | integer | yes | Saved meal ID to delete |
No output schema declared.
No examples provided.
delete_saved_meal_item ~46
Remove a food item from a saved meal. Requires profile auth (check_auth_status first).
| Name | Type | Req | Description |
|---|---|---|---|
| saved_meal_item_id | integer | yes | Saved meal item ID to delete |
No output schema declared.
No examples provided.
edit_exercise_entries ~117
Shift exercise time between activities for a date. Moves minutes from one exercise to another. Requires profile auth (check_auth_status first).
| Name | Type | Req | Description |
|---|---|---|---|
| date | string | — | Date in YYYY-MM-DD format (default today) |
| kcal | number | — | — |
| minutes | integer | yes | Minutes to shift |
| shift_from_id | integer | yes | Exercise ID to shift time FROM |
| shift_from_name | string | — | — |
| shift_to_id | integer | yes | Exercise ID to shift time TO |
| shift_to_name | string | — | — |
No output schema declared.
No examples provided.
edit_food_entry ~79
Edit an existing food diary entry. Cannot change the date. Requires profile auth (check_auth_status first).
| Name | Type | Req | Description |
|---|---|---|---|
| food_entry_id | integer | yes | Food entry ID to edit |
| food_entry_name | string | — | — |
| meal | string | — | Meal type |
| number_of_units | number | — | — |
| serving_id | number | — | — |
No output schema declared.
No examples provided.
edit_saved_meal ~71
Edit a saved meal name, description, or associated meals. Requires profile auth (check_auth_status first).
| Name | Type | Req | Description |
|---|---|---|---|
| meals | string | — | — |
| saved_meal_description | string | — | — |
| saved_meal_id | integer | yes | Saved meal ID |
| saved_meal_name | string | — | — |
No output schema declared.
No examples provided.
edit_saved_meal_item ~73
Edit a food item in a saved meal (name or units). Cannot change serving_id. Requires profile auth (check_auth_status first).
| Name | Type | Req | Description |
|---|---|---|---|
| number_of_units | number | — | — |
| saved_meal_item_id | integer | yes | Saved meal item ID |
| saved_meal_item_name | string | — | — |
No output schema declared.
No examples provided.
find_food_by_barcode ~102
Find food by barcode (GTIN-13). UPC-A, EAN-13 and EAN-8 supported. Premier exclusive.
| Name | Type | Req | Description |
|---|---|---|---|
| barcode | string | yes | GTIN-13 barcode number |
| flag_default_serving | boolean | — | — |
| include_food_attributes | boolean | — | — |
| include_food_images | boolean | — | — |
| include_sub_categories | boolean | — | — |
| language | string | — | — |
| region | string | — | — |
No output schema declared.
No examples provided.
get_brands ~57
Get the list of food brands, optionally filtered by starting letter and type. Premier exclusive.
| Name | Type | Req | Description |
|---|---|---|---|
| brand_type | string | — | — |
| language | string | — | — |
| region | string | — | — |
| starts_with | string | — | — |
No output schema declared.
No examples provided.
get_exercise_entries_month ~48
Get daily calories expended from exercise for a month. Requires profile auth (check_auth_status first).
| Name | Type | Req | Description |
|---|---|---|---|
| date | string | — | Any date within the target month (YYYY-MM-DD) |
No output schema declared.
No examples provided.
get_exercises ~30
Get the full list of supported exercise types and their IDs. Requires profile auth (check_auth_status first).
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_favorite_foods ~26
Get the user's favorite foods. Requires profile auth (check_auth_status first).
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_favorite_recipes ~26
Get the user's favorite recipes. Requires profile auth (check_auth_status first).
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_food ~99
Get detailed nutritional information for a specific food by ID. Returns servings, calories, macros, and micronutrients.
| Name | Type | Req | Description |
|---|---|---|---|
| flag_default_serving | boolean | — | — |
| food_id | integer | yes | Food ID |
| include_food_attributes | boolean | — | — |
| include_food_images | boolean | — | — |
| include_sub_categories | boolean | — | — |
| language | string | — | — |
| page_number | number | — | — |
| region | string | — | — |
No output schema declared.
No examples provided.
get_food_categories ~34
Get the full list of food categories. Premier exclusive.
| Name | Type | Req | Description |
|---|---|---|---|
| language | string | — | — |
| region | string | — | — |
No output schema declared.
No examples provided.
get_food_entries ~61
Get food diary entries for a date or a specific entry by ID. Requires profile auth (check_auth_status first).
| Name | Type | Req | Description |
|---|---|---|---|
| date | string | — | Date in YYYY-MM-DD (required if food_entry_id not specified) |
| food_entry_id | number | — | — |
No output schema declared.
No examples provided.
get_food_entries_month ~51
Get daily nutrition summary for a month. Returns calories and macros per day. Requires profile auth (check_auth_status first).
| Name | Type | Req | Description |
|---|---|---|---|
| date | string | — | Any date within the target month (YYYY-MM-DD) |
No output schema declared.
No examples provided.
get_food_sub_categories ~49
Get food sub categories for a given food category. Premier exclusive.
| Name | Type | Req | Description |
|---|---|---|---|
| food_category_id | integer | yes | Food category ID |
| language | string | — | — |
| region | string | — | — |
No output schema declared.
No examples provided.
get_most_eaten_foods ~43
Get the user's most eaten foods, optionally filtered by meal. Requires profile auth (check_auth_status first).
| Name | Type | Req | Description |
|---|---|---|---|
| meal | string | — | Meal type |
No output schema declared.
No examples provided.
get_profile ~26
Get profile status information for the authenticated user. Requires profile auth (check_auth_status first).
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_recently_eaten_foods ~43
Get the user's recently eaten foods, optionally filtered by meal. Requires profile auth (check_auth_status first).
| Name | Type | Req | Description |
|---|---|---|---|
| meal | string | — | Meal type |
No output schema declared.
No examples provided.
get_recipe ~48
Get detailed recipe information by ID including ingredients, directions, and nutrition.
| Name | Type | Req | Description |
|---|---|---|---|
| max_results | number | — | — |
| page_number | number | — | — |
| recipe_id | integer | yes | Recipe ID |
No output schema declared.
No examples provided.
get_recipe_types ~19
Get the full list of supported recipe type names.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_saved_meal_items ~42
Get all food items in a saved meal. Requires profile auth (check_auth_status first).
| Name | Type | Req | Description |
|---|---|---|---|
| saved_meal_id | integer | yes | Saved meal ID |
No output schema declared.
No examples provided.
get_saved_meals ~42
Get the user's saved meals, optionally filtered by meal type. Requires profile auth (check_auth_status first).
| Name | Type | Req | Description |
|---|---|---|---|
| meal | string | — | Filter by meal type |
No output schema declared.
No examples provided.
get_weight_month ~44
Get the user's weight entries for a month. Requires profile auth (check_auth_status first).
| Name | Type | Req | Description |
|---|---|---|---|
| date | string | — | Any date within the target month (YYYY-MM-DD) |
No output schema declared.
No examples provided.
save_exercise_template ~80
Save the current day's exercise entries as a template for specified days of the week. Requires profile auth (check_auth_status first).
| Name | Type | Req | Description |
|---|---|---|---|
| date | string | — | Date in YYYY-MM-DD format (default today) |
| days | integer | yes | Days of week as bit flags (Sun=bit 1, Sat=bit 7), converted to int |
No output schema declared.
No examples provided.
search_foods ~114
Search the FatSecret food database. Returns food names, descriptions, and basic nutrition info.
| Name | Type | Req | Description |
|---|---|---|---|
| flag_default_serving | boolean | — | — |
| food_type | string | — | — |
| include_food_attributes | boolean | — | — |
| include_food_images | boolean | — | — |
| include_sub_categories | boolean | — | — |
| language | string | — | — |
| max_results | number | — | — |
| page_number | number | — | — |
| region | string | — | — |
| search_expression | string | yes | Search query for foods |
No output schema declared.
No examples provided.
search_recipes ~177
Search recipes with optional filters for calories, macros, prep time, and recipe types.
| Name | Type | Req | Description |
|---|---|---|---|
| calories.from | number | — | — |
| calories.to | number | — | — |
| carb_percentage.from | number | — | — |
| carb_percentage.to | number | — | — |
| fat_percentage.from | number | — | — |
| fat_percentage.to | number | — | — |
| max_results | number | — | — |
| must_have_images | boolean | — | — |
| page_number | number | — | — |
| prep_time.from | number | — | — |
| prep_time.to | number | — | — |
| protein_percentage.from | number | — | — |
| protein_percentage.to | number | — | — |
| recipe_types | string | — | — |
| recipe_types_matchall | boolean | — | — |
| search_expression | string | — | Search query for recipes |
| sort_by | string | — | — |
No output schema declared.
No examples provided.
setup_credentials ~109
Configure FatSecret API credentials. Get them at https://platform.fatsecret.com/ → My Account → API Keys. Saves to persistent config file.
| Name | Type | Req | Description |
|---|---|---|---|
| client_id | string | yes | FatSecret Client ID (from platform.fatsecret.com → API Keys) |
| client_secret | string | yes | FatSecret Client Secret (OAuth 2.0) |
| consumer_secret | string | yes | FatSecret Consumer Secret (OAuth 1.0 — different from Client Secret, found on the same API Keys page) |
No output schema declared.
No examples provided.
start_auth ~38
Start the OAuth 1.0 authorization flow for profile access. Returns an authorization URL the user must visit. Requires API credentials (setup_credentials first).
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
update_weight ~110
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).
| Name | Type | Req | Description |
|---|---|---|---|
| comment | string | — | — |
| current_height_cm | number | — | — |
| current_weight_kg | number | yes | Current weight in kg |
| date | string | — | Date in YYYY-MM-DD format (default today) |
| goal_weight_kg | number | — | — |
| height_type | string | — | — |
| weight_type | string | — | — |
No output schema declared.
No examples provided.