io.github.fliptheweb/fatsecret-mcp
NPM · FATSECRET-MCP · SCANNED SEP 20
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 → Why this is hard to score →
Supply Chain Security98
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- 31 of 98 dependencies flagged as unhealthy. 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 50 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability75
- AI-judged instruction clarity (good).Pass
- 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 Management90
- Stability observed for 27 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
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 5 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 45 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
How do I install the io.github.fliptheweb/fatsecret-mcp server?
io.github.fliptheweb/fatsecret-mcp runs locally as an npm package, launched with npx -y fatsecret-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · fatsecret-mcp
claude mcp add fliptheweb-fatsecret-mcp -- npx -y fatsecret-mcp
{
"mcpServers": {
"fliptheweb-fatsecret-mcp": {
"command": "npx",
"args": [
"-y",
"fatsecret-mcp"
]
}
}
} {
"servers": {
"fliptheweb-fatsecret-mcp": {
"command": "npx",
"args": [
"-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": {
"Transport": "stdio",
"Command": "npx",
"Arguments": [
"-y",
"fatsecret-mcp"
]
}
}
} assistant mcp add fliptheweb-fatsecret-mcp -t stdio -c npx -a -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.
- 19 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.
- 17 Sept 26 −3
- Stability: pass → 0.80 functional
- 16 Sept 26 +1
- Stability: 0.97 → pass security
- 14 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.
- 13 Sept 26 0
- Security disclosure: unverified → fail ▼ functional
- 12 Sept 26 +1
- Security disclosure: fail → unverified ▼ functional
- 10 Sept 26 −3
- Stability: pass → 0.80 functional
- 9 Sept 26 +1
- Stability: 0.97 → pass security
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 20 Sept 2026 · Analysed npm/fatsecret-mcp@0.0.8
Provenance Verified
A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.
| Result | Verified |
|---|---|
| Ecosystem | npm |
| Reason | Verified |
| Discovered via | Registry attestation endpoint |
| 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 |
Background: How many MCP packages publish verified provenance →
Dependencies 98 packages
| Packages resolved | 98 |
|---|---|
| Stale | 31 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
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. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
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.
What is the io.github.fliptheweb/fatsecret-mcp server?
io.github.fliptheweb/fatsecret-mcp is listed in the public MCP registry as io.github.fliptheweb/fatsecret-mcp. MCP server for FatSecret API - food search, nutrition, diary, recipes, weight tracking (unofficial). This page covers its npm package (fatsecret-mcp).
Is the io.github.fliptheweb/fatsecret-mcp server safe to use?
io.github.fliptheweb/fatsecret-mcp scores 91 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the io.github.fliptheweb/fatsecret-mcp server expose?
io.github.fliptheweb/fatsecret-mcp exposes 44 tools: search_foods, get_food, find_food_by_barcode, autocomplete_foods, search_recipes, and 39 more. Their descriptions and schemas cost roughly 2,897 tokens of context every time the server is loaded.
Is the io.github.fliptheweb/fatsecret-mcp server still maintained?
io.github.fliptheweb/fatsecret-mcp is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the io.github.fliptheweb/fatsecret-mcp server under?
io.github.fliptheweb/fatsecret-mcp declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.