Stores food logs and nutrition data locally in a SQLite database, enabling persistent tracking of meals, macros, and daily nutrition goals.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Food Tracker MCP Serverlog 150g of grilled chicken breast for lunch with 200 calories and 30g protein"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Food Tracker MCP Server
A Model Context Protocol (MCP) server for tracking food intake and nutrition using the USDA FoodData Central database.
Features
Search Foods: Query the USDA FoodData Central database for nutritional information
Log Meals: Record food intake with calories, macros, and serving sizes
Track Progress: View daily logs with totals compared to your goals
Set Goals: Define daily targets for calories, protein, carbs, and fat
Get Summaries: View nutrition averages over days, weeks, or months
Installation
Claude Desktop
Add to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Claude Code
Or add to ~/.claude.json:
Requirements
USDA API Key
Get your free API key at: https://fdc.nal.usda.gov/api-key-signup/
Available Tools
search_food
Search the USDA FoodData Central database for foods.
Returns nutrition information per 100g serving including calories, protein, carbs, and fat.
log_food
Log a food entry to your daily food diary.
Parameters:
food_name(required): Name of the foodserving_size(required): Amount of the servingserving_unit(required): Unit (g, oz, cup, piece, etc.)calories(required): Calories for this servingprotein_g: Protein in gramscarbs_g: Carbohydrates in gramsfat_g: Fat in gramsfiber_g: Fiber in gramsmeal: breakfast, lunch, dinner, or snackdate: Date in YYYY-MM-DD format (defaults to today)
get_daily_log
Get all food entries for a specific day with totals and goal comparison.
set_goals
Set your daily nutrition goals.
get_summary
Get nutrition summary and averages for a date range.
delete_entry
Delete a food log entry by its ID.
Data Storage
Food logs are stored locally in a SQLite database at ~/.food-tracker/food.db. Your data never leaves your machine.
Example Conversation
You: Search for oatmeal Claude: Found 10 foods matching "oatmeal"...
You: Log 1 cup of oatmeal for breakfast Claude: Logged: Oatmeal (1 cup) - 150 cal | P: 5g | C: 27g | F: 3g
You: What have I eaten today? Claude: Food Log for 2025-01-15...
License
MIT License - see LICENSE for details.
Contributing
Contributions are welcome! Please open an issue or submit a pull request on GitHub.