FatSecret
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.
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.
Related Servers
Euroleague Live
Provides club information and advanced player statistics for Euroleague and Eurocup basketball from the Euroleague API.
Currency Exchange & Crypto Rates
Real-time forex and crypto conversion with multi-source failover across 5 providers. 60+ fiat currencies, 30+ cryptocurrencies, no API keys needed.
Haiguitang (Turtle Soup) Game
An MCP server for 'ๆตท้พๆฑค' (Turtle Soup), a scenario-based reasoning puzzle game.
CryptoMinute
AI-powered crypto news intelligence MCP server with 8 tools: news search, narrative analytics, AI-clustered stories, Reddit sentiment, YouTube engagement, historical prices, token metadata, and Telegram flash posts.
Lcontext
An MCP server that exposes user behavior as queryable data for AI coding agents.
OnlySwaps
Multi-chain DEX meta-aggregator for AI agents. Best prices from 15+ aggregators across 13 chains.
Upstox MCP Server
A Model Context Protocol (MCP) server that integrates with the Upstox Trading API, enabling AI agents like Claude to securely access Indian stock market data, perform technical analysis, and view account information in read-only mode.
winforensics-mcp
A comprehensive MCP server for Windows digital forensics on KALI Linux
ThinkPLC-MCP
Interface with SIEMENS PLC S7-1500/1200 using their JSON-RPC 2.0 API, exposing PLC functionalities as MCP tools for programmatic interaction.
MCP Trakt
Access real-time entertainment data and personal viewing history from the Trakt.tv API.