Token导航 LogoToken导航TokenDH.com
Myfitnesspal MCP Python logo
AI代理stdio官方级别未说明来源级核验

Myfitnesspal MCP Python

MCP Server

MyFitnessPal MCP 服务器是一个基于 Model Context Protocol (MCP) 的服务,允许 AI 助手(如 Claude)访问和操作您的 MyFitnessPal 数据,包括食物日记、运动记录、身体测量、营养目标和饮水量等信息。

工具数

0

提示词数

0

GitHub Stars

13

资源数

0
PythonClaudeAI代理Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

AdamWalt

提供方

AdamWalt

最后核验

2026/5/17 20:19

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python3 -m venv venv

详细介绍

MyFitnessPal MCP服务器

A. 模型上下文协议(MCP) 该服务器使克劳德等人工智能助手能够与您的MyFitnessPal数据进行交互,包括食物日记、运动、身体测量、营养目标和饮水量。

特性

工具类型描述
mfp_get_diary阅读获取任何日期的食物日记条目
mfp_search_food阅读搜索MyFitnessPal食品数据库
mfp_get_food_details阅读获取食品的详细营养信息
mfp_add_food_to_diary在日记中添加一个食物项目,以记录特定的用餐和日期
mfp_get_measurements阅读获取体重/身体测量历史记录
mfp_set_measurement写入记录新的体重或身体测量值
mfp_get_exercises阅读记录锻炼(有氧运动和力量训练)
mfp_get_goals阅读获取每日营养目标
mfp_set_goals撰写更新每日营养目标
mfp_get_water阅读约会时喝水
mfp_set_water记录一个日期的饮水量
mfp_get_report阅读获取某一日期范围内的营养报告
refresh_browser_cookies实用程序从浏览器中提取并保存会话Cookie

先决条件

  • Python 3.10+ (检查 python3 --version)
  • 点21.3+ (用于pyproject.toml支持;升级为 pip install --upgrade pip)
  • MyFitnessPal帐户
  • 以下之一用于身份验证:

- 您的MFP用户名/电子邮件和密码(推荐),或 - 具有活动MyFitnessPal登录会话的Chrome或Firefox

认证选项

此MCP支持多种身份验证方法:

方法设置持久性
配置中的凭据添加 MFP_USERNAMEMFP_PASSWORD 到Claude Desktop配置自动(会话缓存30天)
浏览器Cookie在Chrome/Firefox中登录myfitnesspal.com直到浏览器会话到期

安装

选项1:从源代码安装(推荐)

# Clone the repository
git clone https://github.com/YOUR_USERNAME/myfitnesspal-mcp-python.git
cd myfitnesspal-mcp-python

# Create virtual environment (use python3.10+ on macOS/Linux)
python3 -m venv venv
# On macOS, you may need to specify version: python3.12 -m venv venv

# Activate virtual environment
source venv/bin/activate  # macOS/Linux
# On Windows: .\venv\Scripts\activate

# Upgrade pip (required for pyproject.toml support)
pip install --upgrade pip

# Install the package in editable mode
pip install -e .

选项2:使用pip安装(发布时)

pip install mfp-mcp
备注:选项2要求将包发布到PyPI。现在,使用选项1。

验证安装

安装后,验证服务器是否可以启动:

# With venv activated
python -m mfp_mcp.server

您应该看到服务器正在等待输入(它通过stdio进行通信)。按 Ctrl+C 停止。

要测试身份验证(可选):

MFP_USERNAME="your_email" MFP_PASSWORD="your_password" python -c "
from mfp_mcp.server import get_mfp_client
client = get_mfp_client()
print('Authentication successful!')
"

Claude桌面配置

步骤1:找到您的配置文件

操作系统配置文件位置
macOS~/Library/Application Support/Claude/claude_desktop_config.json
视窗%APPDATA%\Claude\claude_desktop_config.json

步骤2:添加MCP服务器配置

如果文件不存在,请创建它。添加或合并以下配置:

选项A:带凭据(推荐-无需浏览器)

macOS示例:

{
  "mcpServers": {
    "myfitnesspal": {
      "command": "/Users/yourname/myfitnesspal-mcp-python/venv/bin/python",
      "args": ["-m", "mfp_mcp.server"],
      "env": {
        "MFP_USERNAME": "your_email@example.com",
        "MFP_PASSWORD": "your_password"
      }
    }
  }
}

Windows示例:

{
  "mcpServers": {
    "myfitnesspal": {
      "command": "C:\\Users\\YourName\\myfitnesspal-mcp-python\\venv\\Scripts\\python.exe",
      "args": ["-m", "mfp_mcp.server"],
      "env": {
        "MFP_USERNAME": "your_email@example.com",
        "MFP_PASSWORD": "your_password"
      }
    }
  }
}

选项B:无凭据(浏览器Cookie回退)

macOS示例:

{
  "mcpServers": {
    "myfitnesspal": {
      "command": "/Users/yourname/myfitnesspal-mcp-python/venv/bin/python",
      "args": ["-m", "mfp_mcp.server"]
    }
  }
}
⚠️ 重要:使用 完全绝对路径 在您的虚拟环境中创建Python可执行文件。替换 yourname/YourName 使用您的实际用户名。

步骤3:重新启动克劳德桌面

保存配置文件后, 完全退出并重新启动Claude Desktop 以使更改生效。

步骤4:验证连接

在Claude Desktop中,您应该看到一个锤子图标(🔨) 表明MCP工具可用。试着问:

“显示我今天的MyFitnessPal日记”

身份验证方法

MCP服务器支持三种身份验证方法,按以下顺序尝试:

1.环境变量(推荐)

MFP_USERNAMEMFP_PASSWORD 在您的Claude Desktop配置中 env 部分。这是最可靠的方法,不需要浏览器。

"env": {
  "MFP_USERNAME": "your_email@example.com",
  "MFP_PASSWORD": "your_password"
}

2.存储会话Cookie

成功验证后,会话Cookie将保存到 ~/.mfp_mcp/cookies.json。这些将持续30天,因此您不需要经常重新进行身份验证。

3.浏览器Cookie(回退)

如果没有提供凭据并且不存在存储的Cookie,服务器将回退到从Chrome或Firefox读取Cookie。您必须在浏览器中登录myfitnesspal.com。

凭证安全说明

Claude Desktop配置中的MyFitnessPal凭据存储在您的计算机上。配置文件只能由您的用户帐户读取。但是,如果您担心存储凭据:

  1. 请改用选项B(浏览器Cookie)
  2. 或者使用专门的MyFitnessPal帐户访问API
  3. 会话Cookie存储在 ~/.mfp_mcp/cookies.json 具有受限权限

用法示例

配置后,您可以通过Claude与MyFitnessPal数据交互:

食物日志

"Show me what I ate today"
"Get my food diary for 2026-01-05"
"What meals did I log yesterday?"

跟踪重量进度

"Show my weight history for the past 30 days"
"Log my weight as 232.5 pounds"
"What's my weight trend this month?"

搜索食品

"Search MyFitnessPal for chicken breast"
"Find nutrition info for Greek yogurt"
"Look up calories in a banana"

检查目标与实际目标

"Compare my nutrition goals to what I actually ate today"
"Am I on track with my protein intake?"
"How many calories do I have left today?"

锻炼日志

"What exercises did I log today?"
"Show my workout from yesterday"

营养报告

"Show my calorie intake over the past week"
"What's my average protein intake this week?"
"Generate a nutrition report for January"

项目结构

myfitnesspal-mcp-python/
├── Dockerfile              # Container deployment
├── pyproject.toml          # Package configuration
├── README.md               # This file
└── src/
    └── mfp_mcp/
        ├── __init__.py     # Package initialization
        └── server.py       # MCP server implementation

发展

设置开发环境

# Clone and enter directory
git clone https://github.com/YOUR_USERNAME/myfitnesspal-mcp-python.git
cd myfitnesspal-mcp-python

# Create virtual environment (Python 3.10+ required)
python3 -m venv venv
source venv/bin/activate

# Upgrade pip and install with dev dependencies
pip install --upgrade pip
pip install -e ".[dev]"

运行测试

pytest

代码格式化

black src/
isort src/
ruff check src/

类型检查

mypy src/

Docker部署

⚠️ 备注:Docker部署需要挂载浏览器的cookie数据库进行身份验证。
# Build the image
docker build -t mfp-mcp .

# Run with Chrome cookies mounted (Linux example)
docker run -it --rm \
  -v ~/.config/google-chrome:/root/.config/google-chrome:ro \
  mfp-mcp

故障排除

“python:找不到命令”或python版本错误

问题:Python不在PATH中,或者需要指定版本。

解决方案:

  1. 在macOS/Linux上,使用 python3 而不是 python
  2. 检查您的版本: python3 --version (必须为3.10+)
  3. 如果需要,请通过Homebrew安装Python 3.12: brew install python@3.12
  4. 然后使用以下命令创建venv: python3.12 -m venv venv

“pip install-e.”失败,并显示“未找到setup.py”

问题:您的pip版本太旧,无法支持pyproject.toml构建。

解决方案:首先升级pip:

pip install --upgrade pip
pip install -e .

“无法通过MyFitnessPal进行身份验证”

问题:服务器无法使用您的凭据进行身份验证或读取浏览器Cookie。

解决方案:

  1. 如果使用凭据:在配置中仔细检查您的MFP_用户名和MFP_密码
  2. 如果使用浏览器Cookie:确保您已在Chrome或Firefox中登录myfitnesspal.com
  3. 尝试注销并重新登录MyFitnessPal
  4. 清除浏览器Cookie并重新登录
  5. macOS,赠款 全磁盘访问 到克劳德桌面:

- 系统设置→ 隐私和安全→ 全磁盘访问 - 添加Claude.app

“没有名为'mfp_mcp'的模块”

问题:未安装包或Python环境错误。

解决方案:

  1. 确保您在虚拟环境中使用了正确的Python
  2. 重新安装软件包: pip install -e .
  3. 验证Claude Desktop配置中的路径是否指向venv Python:
   /path/to/project/venv/bin/python  # macOS/Linux
   C:\path\to\project\venv\Scripts\python.exe  # Windows

工具未出现在Claude Desktop中

问题:MCP服务器未连接。

解决方案:

  1. 检查配置文件语法(必须是有效的JSON-使用JSON验证器)
  2. 使用 绝对路径 在配置中(否 ~ 或相对路径)
  3. 完全重新启动Claude Desktop(在macOS上按Cmd+Q,然后重新启动)
  4. 检查克劳德桌面日志:

- macOS: ~/Library/Logs/Claude/ - 窗户: %APPDATA%\Claude\logs\

空响应或无数据

问题:身份验证有效,但未返回数据。

解决方案:

  1. 验证您是否在MyFitnessPal中记录了所请求日期的数据
  2. 检查日期格式(YYYY-MM-DD)
  3. 尝试一个最近的日期,你知道你有条目

终端提示符中的双括号,如“(venv))”

问题:VS代码/游标Python扩展错误,带有venv提示符。

解决方案:

  1. 更新VS代码/游标中的Python扩展
  2. 或者手动修复venv激活脚本-更改第70行 venv/bin/activate:
   # Change from:
   PS1="("'(venv) '") ${PS1:-}"
   # To:
   PS1="(venv) ${PS1:-}"

api参考

mfp_get_diary

获取特定日期的食物日记。

  • date (可选):YYYY-MM-DD格式,默认为今天
  • response_format:“markdown”或“json”

mfp_search_food

搜索MyFitnessPal食品数据库。

  • query (必填):搜索词
  • limit (可选):最大结果(默认10,最大50)
  • response_format:“markdown”或“json”

mfp_get_food_details

为食物获取详细的营养。

  • mfp_id (必填):搜索结果中的MyFitnessPal食品ID
  • response_format:“markdown”或“json”

食品日记

在日记中添加一个特定膳食和日期的食物项目。

  • mfp_id (必填):搜索结果中的MyFitnessPal食品ID(使用 mfp_search_food 第一)
  • meal (可选):餐名-“早餐”、“午餐”、“晚餐”或“零食”(默认:“早餐”)
  • date (可选):YYYY-MM-DD格式(默认:今天)
  • quantity (可选):份数(默认值:1.0)
  • unit (可选):单位/份量描述(例如,“1杯”、“100克”)

工作流程示例:

  1. 使用 mfp_search_food 找到一种食物并得到它 mfp_id
  2. 使用 mfp_add_food_to_diary 随着 mfp_id 将其添加到您的日记中

mfp_get_测量

获取身体测量历史记录。

  • measurement (可选):“体重”、“体脂”、“腰围”等。
  • start_date (可选):YYYY-MM-DD(默认30天前)
  • end_date (可选):YYYY-MM-DD(今天默认)
  • response_format:“markdown”或“json”

mfp_set_测量

记录今天的身体测量值。

  • measurement (可选):类型(默认“重量”)
  • value (必填):数值

mfp_get_练习

获取日期的锻炼日志。

  • date (可选):YYYY-MM-DD(今天默认)
  • response_format:“markdown”或“json”

mfp_get_goals

制定每日营养目标。

  • date (可选):YYYY-MM-DD(今天默认)
  • response_format:“markdown”或“json”

mfp_set_goals

更新营养目标。

  • calories (可选):每日卡路里目标
  • protein (可选):每日蛋白质(克)
  • carbohydrates (可选):每日碳水化合物(克)
  • fat (可选):每日脂肪(克)

mfp_get_水

约会时喝水。

  • date (可选):YYYY-MM-DD(今天默认)

mfp_set_水

记录一次约会的饮水量。

  • cups (必填):杯数(例如,2.5杯等于2.5杯)。注:MyFitnessPal使用杯子作为单位(1杯=~237毫升)
  • date (可选):YYYY-MM-DD格式(默认:今天)

mfp_get_report

获取一个日期范围内的营养报告。

  • report_name (可选):“净卡路里”、“蛋白质”、“脂肪”、“碳水化合物”
  • start_date (可选):YYYY-MM-DD(默认为7天前)
  • end_date (可选):YYYY-MM-DD(今天默认)
  • response_format:“markdown”或“json”

安全与隐私

  • 凭证:如果使用用户名/密码身份验证,凭据将存储在您的Claude Desktop配置文件中,该文件只能由您的用户帐户读取。会话Cookie缓存在 ~/.mfp_mcp/cookies.json 30天。
  • 浏览器Cookie:作为后备方案,服务器可以读取您的浏览器Cookie以通过MyFitnessPal进行身份验证。
  • 仅限本地:服务器通过stdio传输在您的计算机上本地运行。数据不会发送到任何第三方服务器。
  • 无外部传输:您的MyFitnessPal数据仅在您的计算机和MyFitnessPal.com服务器之间传输。

许可证

MIT许可证-请参阅 许可证 文件以获取详细信息。

致谢

目录标签

目录标签

PythonClaudeAI代理健康数据管理本地部署AI助手集成营养跟踪运动日志数据访问服务

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

session

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiosession部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP