关于 fatsecret-mcp
fatsecret-mcp 是连接 FatSecret Platform API 的非官方 MCP 服务,面向希望通过 AI 助手查询营养信息和管理饮食记录的用户。它涵盖食物与食谱搜索、饮食日记、体重及运动记录。
主要功能
- 01食物搜索、营养详情与条码查询
- 02按条件搜索食谱
- 03创建和管理饮食日记
- 04管理收藏食物、食谱与餐食模板
- 05记录体重和查看运动数据
- 06交互式凭据设置与 OAuth 授权
适用场景
- 01查询食品营养信息或扫描条码查找食品
- 02按热量和宏量营养素筛选食谱
- 03记录每日饮食并查看月度营养摘要
- 04跟踪体重历史和运动条目
MCP 相关
该 MCP 服务连接 FatSecret Platform API,向 MCP 客户端提供食物、食谱、日记、体重和运动相关工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y fatsecret-mcpFATSECRET_CLIENT_ID密钥FatSecret API Client IDFATSECRET_CLIENT_SECRET密钥FatSecret API Client Secret (OAuth 2.0)FATSECRET_CONSUMER_SECRET密钥FatSecret API Consumer Secret (OAuth 1.0)本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
44收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| region | string | 否 | |
| language | string | 否 | |
| food_type | string | 否 | |
| max_results | number | 否 | |
| page_number | number | 否 | |
| search_expression | string | 是 | 食品搜索查询 |
| include_food_images | boolean | 否 | |
| flag_default_serving | boolean | 否 | |
| include_sub_categories | boolean | 否 | |
| include_food_attributes | boolean | 否 |
详细介绍
FatSecret MCP Server 
重要
这不是 FatSecret 官方的 MCP 服务。 它使用 FatSecret Platform API,需要免费的开发者账号。
一个将 Claude/Cursor 连接到 FatSecret Platform API 的 MCP(Model Context Protocol)服务。你可以直接通过 AI 助手搜索食物、记录饮食、管理食谱和追踪体重。
可通过 NPM 获取:npx fatsecret-mcp | Claude Desktop 扩展:fatsecret-mcp.mcpb
✨ 功能
- 🔐 身份验证 — 交互式凭据设置和 OAuth 授权
- 🔍 食物搜索 — 在 FatSecret 丰富的食物数据库中搜索,并获取详细的营养数据
- 📷 条码查询 — 通过 GTIN-13 条码查找食物
- 🍳 食谱搜索 — 按卡路里、宏量营养素和准备时间浏览并筛选食谱
- 📝 饮食日记 — 添加、编辑、复制和删除饮食日记条目
- 🍽️ 已保存的餐食 — 创建和管理可重复使用的餐食模板
- ⚖️ 体重追踪 — 记录并查看体重历史
- 🏃♂️ 运动追踪 — 查看运动项目并管理活动条目
- ⭐ 收藏夹 — 管理收藏的食物和食谱
🚀 快速开始
将以下内容添加到 MCP 客户端配置中:
{
"mcpServers": {
"fatsecret": {
"command": "npx",
"args": ["-y", "fatsecret-mcp"]
}
}
}
完成!首次使用时,AI 会引导你完成设置:
check_auth_status— 检查是否缺少凭据,并告知你该如何操作setup_credentials— 输入 API 密钥(保存到~/.fatsecret-mcp/config.json)start_auth→complete_auth— 授权 FatSecret 账号,以使用饮食日记和体重工具
或者,也可以将凭据作为环境变量传入:
{
"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"
}
}
}
}
🔑 获取凭据
- 在 platform.fatsecret.com 创建免费账号
- 前往 My Account → API Keys
- 你会看到三个值:
- Client ID(用于 OAuth 2.0 和 OAuth 1.0)
- Client Secret(OAuth 2.0 — 用于公开的食物和食谱搜索)
- Consumer Secret(OAuth 1.0 — 用于用户个人资料和饮食日记访问)
📖 分步指南:开始使用 FatSecret API
Claude Desktop(扩展)
下载 fatsecret-mcp.mcpb,并使用 Claude Desktop 打开。系统会提示你输入 FatSecret 凭据 — 密钥会安全地存储在操作系统钥匙串中。
更多详情请参阅使用 MCPB 构建桌面扩展。
Claude Desktop(手动配置)
~/Library/Application Support/Claude/claude_desktop_config.json
Claude Code(CLI)
claude mcp add fatsecret -- npx -y fatsecret-mcp
也可以使用环境变量:
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
运行 claude mcp list 进行验证。
Cursor
- 设置界面 —
Settings → MCP → + Add new MCP server,然后填写命令、参数和环境变量 - 项目配置 — 将 JSON 添加到项目根目录下的
.cursor/mcp.json - 全局配置 — 将 JSON 添加到
~/.cursor/mcp.json
🛠️ 可用工具
| 工具 | 描述 |
|---|---|
| 🔐 设置与身份验证 | |
check_auth_status | 检查是否已配置凭据和个人资料身份验证。请先调用此工具。 |
setup_credentials | 将 FatSecret API 凭据保存到持久化配置中 |
start_auth | 开始 OAuth 1.0 授权——返回供用户访问的 URL |
complete_auth | 使用授权页面上的验证器 PIN 完成 OAuth |
| 🔍 食物搜索 (公开) | |
search_foods | 搜索食物数据库 |
get_food | 获取食物的详细营养信息 |
find_food_by_barcode | 按 GTIN-13 条码查找食物 |
autocomplete_foods | 获取搜索自动补全建议 |
| 🍳 食谱 (公开) | |
search_recipes | 使用筛选条件搜索食谱 |
get_recipe | 获取包含食材和做法的食谱详情 |
| 📚 参考信息 (公开) | |
get_food_categories | 获取食物类别 |
get_food_sub_categories | 获取食物子类别 |
get_brands | 获取食物品牌 |
get_recipe_types | 获取食谱类型 |
| 📝 食物日记 (个人资料身份验证) | |
get_food_entries | 获取某日的食物日记条目 |
get_food_entries_month | 获取每月营养摘要(每天的卡路里和宏量营养素) |
create_food_entry | 添加食物日记条目 |
edit_food_entry | 编辑食物日记条目 |
delete_food_entry | 删除食物日记条目 |
copy_food_entries | 将条目从某一日期复制到另一日期 |
copy_saved_meal_entries | 将已保存的餐食复制到某一日期 |
| ⭐ 收藏夹 (个人资料身份验证) | |
get_favorite_foods | 获取收藏的食物 |
delete_favorite_food | 从收藏夹中移除食物 |
get_most_eaten_foods | 获取最常吃的食物 |
get_recently_eaten_foods | 获取最近吃过的食物 |
get_favorite_recipes | 获取收藏的食谱 |
add_favorite_recipe | 将食谱添加到收藏夹 |
delete_favorite_recipe | 从收藏夹中移除食谱 |
| 🍽️ 已保存的餐食 (个人资料身份验证) | |
get_saved_meals | 获取已保存的餐食 |
create_saved_meal | 创建已保存的餐食 |
edit_saved_meal | 编辑已保存的餐食 |
delete_saved_meal | 删除已保存的餐食 |
get_saved_meal_items | 获取已保存餐食中的项目 |
add_saved_meal_item | 将食物添加到已保存的餐食 |
edit_saved_meal_item | 编辑已保存餐食中的项目 |
delete_saved_meal_item | 从已保存的餐食中移除项目 |
| ⚖️ 体重 (个人资料身份验证) | |
update_weight | 记录某日的体重 |
get_weight_month | 获取某月的体重历史 |
| 🏃♂️ 锻炼 (个人资料身份验证) | |
get_exercises | 获取锻炼类型 |
edit_exercise_entries | 在不同活动之间调整锻炼时间 |
get_exercise_entries_month | 获取某月的锻炼数据 |
save_exercise_template | 保存工作日锻炼模板 |
| 👤 个人资料 (个人资料身份验证) | |
get_profile | 获取用户个人资料信息 |
create_food | 创建自定义食物(Premier) |
API 参考:FatSecret Postman Collection
🧪 测试连接
npx fatsecret-mcp
也可通过环境变量配置:
FATSECRET_CLIENT_ID='...' FATSECRET_CLIENT_SECRET='...' FATSECRET_CONSUMER_SECRET='...' npx fatsecret-mcp
📋 要求
- Node.js 18+
- FatSecret Platform API 账号(platform.fatsecret.com)
- 兼容 MCP 的客户端(Claude Desktop、Cursor 等)
🔧 开发
- 克隆代码库
npm install- 将
.env.example复制为.env,并填写凭据 - 运行
npm run dev以开发模式启动
使用 MCP Inspector 调试:
FATSECRET_CLIENT_ID=X FATSECRET_CLIENT_SECRET=X FATSECRET_CONSUMER_SECRET=X npx -y @modelcontextprotocol/inspector npx <local-path>/fatsecret-mcp
📄 许可证
MIT 许可证——详情请参阅 LICENSE 文件。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。