mcp-server-fatsecret
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_HTTP_TOKEN | No | Bearer token required to access the HTTP server endpoint. Only needed when running the HTTP server. | |
| FATSECRET_PREMIER | No | Set to 'true' only if the FatSecret app has been upgraded to Premier tier. Enables Premier-only API tools. | false |
| FATSECRET_DEV_USER | No | Fixed user identity for local development over stdio. Required if not using gateway authentication. | |
| FATSECRET_AUDIT_LOG | No | Optional path to a JSONL audit log file. | |
| FATSECRET_POLICY_PATH | No | Optional path to a JSON policy file restricting allowed capabilities/methods. | |
| FATSECRET_CONSUMER_KEY | Yes | Your FatSecret developer app consumer key. | |
| FATSECRET_ENABLE_WRITES | No | Set to 'true' to allow any mutating calls. Off by default. | false |
| FATSECRET_ENCRYPTION_KEY | Yes | Encryption key (hex string) for the token store. Generate with `openssl rand -hex 32`. | |
| FATSECRET_CONSUMER_SECRET | Yes | Your FatSecret developer app consumer secret. | |
| FATSECRET_TRUST_FORWARDED_USER | No | Set to 'true' to trust the `X-MCP-User` header from a reverse proxy. Required for production HTTP server. | false |
| FATSECRET_ENABLE_PROFILE_CREATE | No | Set 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
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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