io.github.fliptheweb/fatsecret-mcp
MCP server for FatSecret API - food search, nutrition, diary, recipes, weight tracking (unofficial)
Ask AI about io.github.fliptheweb/fatsecret-mcp
Powered by Claude Β· Grounded in docs
I know everything about io.github.fliptheweb/fatsecret-mcp. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
FatSecret MCP Server 
[!IMPORTANT] This is not an official MCP server by FatSecret. It uses the FatSecret Platform API which requires a free developer account.
An MCP (Model Context Protocol) server that connects Claude/Cursor to the FatSecret Platform API. Search foods, track your diet, manage recipes, and monitor weight directly from your AI assistant.
Available on NPM: npx fatsecret-mcp | Claude Desktop Extension: fatsecret-mcp.mcpb
β¨ Features
- π Authentication β Interactive credential setup and OAuth authorization
- π Food Search β Search FatSecret's extensive food database with detailed nutrition data
- π· Barcode Lookup β Find foods by GTIN-13 barcode
- π³ Recipe Search β Browse and filter recipes by calories, macros, and prep time
- π Food Diary β Add, edit, copy, and delete food diary entries
- π½οΈ Saved Meals β Create and manage reusable meal templates
- βοΈ Weight Tracking β Record and view weight history
- πββοΈ Exercise Tracking β View exercises and manage activity entries
- β Favorites β Manage favorite foods and recipes
π Quick Start
Add to your MCP client configuration:
{
"mcpServers": {
"fatsecret": {
"command": "npx",
"args": ["-y", "fatsecret-mcp"]
}
}
}
That's it! On first use, the AI will guide you through setup:
check_auth_statusβ detects missing credentials and tells you what to dosetup_credentialsβ you provide your API keys (saved to~/.fatsecret-mcp/config.json)start_authβcomplete_authβ authorize your FatSecret account for diary/weight tools
Alternatively, you can pass credentials as environment variables:
{
"mcpServers": {
"fatsecret": {
"command": "npx",
"args": ["-y", "fatsecret-mcp"],
"env": {
"FATSECRET_CLIENT_ID": "your_client_id",
"FATSECRET_CLIENT_SECRET": "your_client_secret",
"FATSECRET_CONSUMER_SECRET": "your_consumer_secret"
}
}
}
}
π Where to Get Credentials
- Create a free account at platform.fatsecret.com
- Navigate to My Account β API Keys
- You'll see three values:
- Client ID (used for both OAuth 2.0 and OAuth 1.0)
- Client Secret (OAuth 2.0 - for public food/recipe search)
- Consumer Secret (OAuth 1.0 - for user profile/diary access)
π Step-by-step guide: Getting Started with FatSecret API
Claude Desktop (Extension)
Download and open fatsecret-mcp.mcpb with Claude Desktop. You'll be prompted to enter your FatSecret credentials β secrets are stored securely in the OS keychain.
See Building Desktop Extensions with MCPB for more details.
Claude Desktop (Manual)
~/Library/Application Support/Claude/claude_desktop_config.json
Claude Code (CLI)
claude mcp add fatsecret -- npx -y fatsecret-mcp
Or with env vars:
claude mcp add fatsecret \
-e FATSECRET_CLIENT_ID=your_client_id \
-e FATSECRET_CLIENT_SECRET=your_client_secret \
-e FATSECRET_CONSUMER_SECRET=your_consumer_secret \
-- npx -y fatsecret-mcp
Verify with claude mcp list.
Cursor
- Settings UI β
Settings β MCP β + Add new MCP server, then fill in the command, args, and env - Project config β add JSON to
.cursor/mcp.jsonin your project root - Global config β add JSON to
~/.cursor/mcp.json
π οΈ Available Tools
| Tool | Description |
|---|---|
| π Setup & Auth | |
check_auth_status | Check if credentials and profile auth are configured. Call this first. |
setup_credentials | Save FatSecret API credentials to persistent config |
start_auth | Start OAuth 1.0 authorization β returns URL for user to visit |
complete_auth | Complete OAuth with verifier PIN from authorization page |
| π Food Search (public) | |
search_foods | Search the food database |
get_food | Get detailed nutrition info for a food |
find_food_by_barcode | Find food by GTIN-13 barcode |
autocomplete_foods | Get search autocomplete suggestions |
| π³ Recipes (public) | |
search_recipes | Search recipes with filters |
get_recipe | Get recipe details with ingredients and directions |
| π Reference (public) | |
get_food_categories | Get food categories |
get_food_sub_categories | Get food sub categories |
get_brands | Get food brands |
get_recipe_types | Get recipe types |
| π Food Diary (profile auth) | |
get_food_entries | Get food diary entries for a date |
get_food_entries_month | Get monthly nutrition summary (calories & macros per day) |
create_food_entry | Add a food diary entry |
edit_food_entry | Edit a food diary entry |
delete_food_entry | Delete a food diary entry |
copy_food_entries | Copy entries from one date to another |
copy_saved_meal_entries | Copy a saved meal to a date |
| β Favorites (profile auth) | |
get_favorite_foods | Get favorite foods |
delete_favorite_food | Remove food from favorites |
get_most_eaten_foods | Get most eaten foods |
get_recently_eaten_foods | Get recently eaten foods |
get_favorite_recipes | Get favorite recipes |
add_favorite_recipe | Add recipe to favorites |
delete_favorite_recipe | Remove recipe from favorites |
| π½οΈ Saved Meals (profile auth) | |
get_saved_meals | Get saved meals |
create_saved_meal | Create a saved meal |
edit_saved_meal | Edit a saved meal |
delete_saved_meal | Delete a saved meal |
get_saved_meal_items | Get items in a saved meal |
add_saved_meal_item | Add food to a saved meal |
edit_saved_meal_item | Edit saved meal item |
delete_saved_meal_item | Remove item from saved meal |
| βοΈ Weight (profile auth) | |
update_weight | Record weight for a date |
get_weight_month | Get weight history for a month |
| πββοΈ Exercise (profile auth) | |
get_exercises | Get exercise types |
edit_exercise_entries | Shift exercise time between activities |
get_exercise_entries_month | Get exercise data for a month |
save_exercise_template | Save exercise template for weekdays |
| π€ Profile (profile auth) | |
get_profile | Get user profile info |
create_food | Create a custom food (Premier) |
API reference: FatSecret Postman Collection
π§ͺ Test Connection
npx fatsecret-mcp
Or with env vars:
FATSECRET_CLIENT_ID='...' FATSECRET_CLIENT_SECRET='...' FATSECRET_CONSUMER_SECRET='...' npx fatsecret-mcp
π Requirements
- Node.js 18+
- FatSecret Platform API account (platform.fatsecret.com)
- MCP-compatible client (Claude Desktop, Cursor, etc.)
π§ Development
- Clone the repository
npm install- Copy
.env.exampleto.envand fill in your credentials npm run devto run in development mode
Debugging with MCP Inspector:
FATSECRET_CLIENT_ID=X FATSECRET_CLIENT_SECRET=X FATSECRET_CONSUMER_SECRET=X npx -y @modelcontextprotocol/inspector npx <local-path>/fatsecret-mcp
π License
MIT License - see LICENSE file for details.
