npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

fatsecret-mcp

v0.0.8

Published

MCP server for FatSecret API - food search, nutrition, diary, recipes, weight tracking (unofficial)

Readme

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:

  1. check_auth_status — detects missing credentials and tells you what to do
  2. setup_credentials — you provide your API keys (saved to ~/.fatsecret-mcp/config.json)
  3. start_authcomplete_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

  1. Create a free account at platform.fatsecret.com
  2. Navigate to My Account → API Keys
  3. 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 UISettings → MCP → + Add new MCP server, then fill in the command, args, and env
  • Project config — add JSON to .cursor/mcp.json in 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

  1. Clone the repository
  2. npm install
  3. Copy .env.example to .env and fill in your credentials
  4. npm run dev to 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.