Unofficial MCP server for Lose It, reverse-engineered from observed web app traffic and validated against live API behavior.
Built entirely by Claude Opus 4.6 via Claude Code.
This project exposes Lose It calorie tracking and nutrition data through MCP using the web app's GWT-RPC API.
Supported capabilities include:
- reading daily calorie summary with budget, eaten, and remaining calories
- reading weekly calorie history with per-day breakdowns
- reading food log entries with food names and brands
The current implementation uses the Lose It web app GWT-RPC endpoint (www.loseit.com/web/service) with session cookies obtained from api.loseit.com/account/login. The iOS app's protobuf API is not used.
The GWT-RPC policy hash and permutation header are tied to the current Lose It web app build. If Lose It deploys a new version, these values may need updating via environment variables.
npm install
cp .env.example .env
npm test
npm run buildConfiguration requires:
LOSEIT_EMAILLOSEIT_PASSWORD
Optional values:
LOSEIT_TIMEZONE(IANA zone, defaultAmerica/Chicago)LOSEIT_SESSION_PATH(default~/.loseit-mcp/session.json)LOSEIT_REQUEST_TIMEOUT_MS(default15000)LOSEIT_GWT_POLICY_HASH(override if Lose It deploys a new web build)LOSEIT_GWT_PERMUTATION(override if Lose It deploys a new web build)
The server runs over stdio.
Example client configuration for the built server:
{
"mcpServers": {
"loseit": {
"command": "node",
"args": ["/absolute/path/to/loseit-mcp/dist/index.js"],
"cwd": "/absolute/path/to/loseit-mcp"
}
}
}For local development without building first:
{
"mcpServers": {
"loseit": {
"command": "npx",
"args": ["tsx", "src/index.ts"],
"cwd": "/absolute/path/to/loseit-mcp"
}
}
}If a client does not support cwd, pass the Lose It environment variables directly in the client configuration instead of relying on .env.
- Session cookies are cached to
~/.loseit-mcp/session.jsonto avoid re-authenticating on every server start. The cache is created with restricted file permissions. - The food log returns food names and brands but does not include per-item calorie or macro breakdowns. Daily totals are available from the daily summary tool.
- The GWT-RPC response parser uses targeted pattern extraction rather than a full generic deserializer.