Skip to main content
Glama
borgels

mcp-server-fatsecret

by borgels

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MCP_HTTP_TOKENNoBearer token required to access the HTTP server endpoint. Only needed when running the HTTP server.
FATSECRET_PREMIERNoSet to 'true' only if the FatSecret app has been upgraded to Premier tier. Enables Premier-only API tools.false
FATSECRET_DEV_USERNoFixed user identity for local development over stdio. Required if not using gateway authentication.
FATSECRET_AUDIT_LOGNoOptional path to a JSONL audit log file.
FATSECRET_POLICY_PATHNoOptional path to a JSON policy file restricting allowed capabilities/methods.
FATSECRET_CONSUMER_KEYYesYour FatSecret developer app consumer key.
FATSECRET_ENABLE_WRITESNoSet to 'true' to allow any mutating calls. Off by default.false
FATSECRET_ENCRYPTION_KEYYesEncryption key (hex string) for the token store. Generate with `openssl rand -hex 32`.
FATSECRET_CONSUMER_SECRETYesYour FatSecret developer app consumer secret.
FATSECRET_TRUST_FORWARDED_USERNoSet to 'true' to trust the `X-MCP-User` header from a reverse proxy. Required for production HTTP server.false
FATSECRET_ENABLE_PROFILE_CREATENoSet to 'true' to enable the account-less profile.create fallback auth path (dev/test only). Off by default.false

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

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
fatsecret_search_capabilitiesA

Find the right FatSecret tool/method. Use first if unsure what is available.

fatsecret_check_auth_statusA

Whether YOUR FatSecret account is linked.

fatsecret_start_authA

Start linking YOUR real fatsecret.com account. Returns an authorize URL — open it, log into (or create) your FatSecret account, and approve. FatSecret then shows you a PIN; pass it to fatsecret_complete_auth to finish.

fatsecret_complete_authA

Finish linking your FatSecret account using the PIN FatSecret displayed after fatsecret_start_auth.

fatsecret_disconnectA

Remove your stored FatSecret tokens from this server.

fatsecret_search_foodsA

Search FatSecret's public food database by keyword. Each result's food_description carries per-serving calories and macros; use fatsecret_get_food for structured serving data. NOTE: on the free Basic tier this database is US-only — for Danish foods, look the item up in a Danish food-data source first, then log the closest match here with the serving quantity scaled so the macros line up.

fatsecret_get_foodA

Full nutrition detail + servings for one food by id (from fatsecret_search_foods).

fatsecret_pick_servingA

Fuzzy-matches a natural-language quantity ("1 slice", "100g", "medium") against a food's servings, so you don't have to eyeball the raw servings array before logging it.

fatsecret_search_recipesA

Search the public recipe database by keyword.

fatsecret_get_recipeB

Full ingredients/directions/nutrition for one recipe by id.

fatsecret_get_profileC

Your FatSecret profile status.

fatsecret_get_food_entriesA

Your food diary entries for one date, or a whole month with monthSummary=true.

fatsecret_prepare_food_entry_createA

Dry-run: prepare logging a food into your diary (use fatsecret_pick_serving first to get servingId). Nothing is written until fatsecret_commit_prepared_operation confirms this.

fatsecret_prepare_food_entry_editC

Dry-run: prepare editing an existing food diary entry.

fatsecret_prepare_food_entry_deleteC

Dry-run: prepare deleting a food diary entry.

fatsecret_prepare_food_entries_copyA

Dry-run: prepare copying one day's food entries to another date.

fatsecret_get_weight_historyA

Your weight history for a month containing the given date.

fatsecret_prepare_weight_updateB

Dry-run: prepare logging your current weight (kg). Height/goal-weight can only ever be set on your very first weigh-in — pass firstTimeSetup=true only then. Cannot backdate more than 2 days.

fatsecret_get_exercise_entriesA

Your exercise diary entries for one date, or a month summary with monthSummary=true. Also lists known exercise types when includeTypes=true.

fatsecret_prepare_exercise_operationA

Dry-run: prepare an exercise-diary write. FatSecret has no ad-hoc single-workout create — only a recurring weekly template (exercise_entries.save_template), committing that template into a day's diary (exercise_entries.commit_day), and shifting minutes between two exercises on an existing day (exercise_entry.edit). For a one-off workout you'll never repeat, use fatsecret_log_one_off_exercise instead.

fatsecret_log_one_off_exerciseA

Orchestrates a one-off, never-to-repeat workout via FatSecret's template mechanism: saves your CURRENT template (to restore after), overwrites it with a template containing only this workout, commits that into the diary for the given date, then restores your original template. If a step fails partway, this tool attempts a best-effort restore and tells you to check fatsecret_get_exercise_entries / your template state — it cannot guarantee atomicity across FatSecret's three separate API calls. Requires FATSECRET_ENABLE_WRITES.

fatsecret_get_saved_mealsA

Your saved-meal templates, or the foods inside one with savedMealId.

fatsecret_prepare_saved_meal_operationC

Dry-run: create/edit/delete a saved-meal template.

fatsecret_prepare_saved_meal_item_operationB

Dry-run: add/edit/remove a food inside a saved meal.

fatsecret_prepare_favorite_changeA

Dry-run: mark/unmark a food or recipe as a favorite. (Adding/removing works on the Basic tier; listing favorites back requires Premier.)

fatsecret_commit_prepared_operationA

Execute a previously prepared write after the caller has reviewed it. Requires the full operation object back plus a restated confirmOperationHash and a fresh idempotencyKey.

fatsecret_commit_profile_createA

Executes ONLY the profile.create fallback auth path. Requires FATSECRET_ENABLE_PROFILE_CREATE=true. Prefer fatsecret_start_auth/fatsecret_complete_auth for real accounts.

fatsecret_call_endpointA

Allowlisted escape hatch for read-only (GET) FatSecret methods not covered by a dedicated tool. Mutating methods are rejected — use the prepare/commit tools instead.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/borgels/mcp-server-fatsecret'

If you have feedback or need assistance with the MCP directory API, please join our Discord server