失去它MCP
Lose It的非官方MCP服务器,根据观察到的网络应用流量进行反向工程,并根据API实时行为进行验证。
完全由Claude Opus 4.6通过Claude Code建造。
概述
该项目通过MCP使用web应用程序的GWT-RPC API公开Lose It卡路里跟踪和营养数据。
支持的功能包括:
- 阅读每日卡路里摘要,包括预算、食用量和剩余卡路里
- 阅读每周的卡路里历史记录,包括每天的细分
- 读取包含食品名称和品牌的食品日志条目
API覆盖范围
当前实现使用Lose It web应用程序GWT-RPC端点(www.loseit.com/web/service)使用从以下来源获得的会话Cookie api.loseit.com/account/login.未使用iOS应用程序的protobuf API。
GWT-RPC策略哈希和置换标头与当前Lose It web应用程序构建相关联。如果Lose It部署了新版本,这些值可能需要通过环境变量进行更新。
设置
npm install
cp .env.example .env
npm test
npm run build配置要求:
LOSEIT_EMAILLOSEIT_PASSWORD
可选值:
LOSEIT_TIMEZONE(IANA区域,默认America/Chicago)LOSEIT_SESSION_PATH(默认值~/.loseit-mcp/session.json)LOSEIT_REQUEST_TIMEOUT_MS(默认值15000)LOSEIT_GWT_POLICY_HASH(如果Lose It部署了新的web构建,则覆盖)LOSEIT_GWT_PERMUTATION(如果Lose It部署了新的web构建,则覆盖)
MCP设置
服务器通过stdio运行。
构建服务器的客户端配置示例:
{
"mcpServers": {
"loseit": {
"command": "node",
"args": ["/absolute/path/to/loseit-mcp/dist/index.js"],
"cwd": "/absolute/path/to/loseit-mcp"
}
}
}对于不先建设的地方发展:
{
"mcpServers": {
"loseit": {
"command": "npx",
"args": ["tsx", "src/index.ts"],
"cwd": "/absolute/path/to/loseit-mcp"
}
}
}如果客户不支持 cwd,直接在客户端配置中传递Lose It环境变量,而不是依赖 .env.
备注
- 会话Cookie被缓存到
~/.loseit-mcp/session.json以避免在每次服务器启动时重新进行身份验证。缓存是使用受限的文件权限创建的。 - 食物日志返回食物名称和品牌,但不包括每种食物的卡路里或宏观细分。每日汇总工具提供每日总计。
- GWT-RPC响应解析器使用目标模式提取,而不是完整的通用反序列化器。
