Fitatu Wrapper
БесплатноНе проверенEnables programmatic access to Fitatu nutrition tracking via MCP tools for login, food search, product lookup, daily nutrition read, and adding entries.
Описание
Enables programmatic access to Fitatu nutrition tracking via MCP tools for login, food search, product lookup, daily nutrition read, and adding entries.
README
CLI and MCP wrapper for Fitatu.
Scope
This repository currently targets v1 of a product-only wrapper.
Included:
- programmatic login
- session refresh
- product search
- product details
- day read
- daily nutrition summary
- add product
- delete entry
Not included in v1:
- recipes
- water
- Own / Favorites / Fridge
- editing existing entries
Install
python3 -m pip install -e .
cp .env.example .env
Run
fitatu --help
Start the MCP server over stdio with:
fitatu-mcp
The CLI entrypoint is fitatu.
Implemented commands:
fitatu login --email ... --password ...fitatu whoamifitatu logoutfitatu search-food --date YYYY-MM-DD --meal breakfast --query bananafitatu get-product --product-id 105392008fitatu read-day --date YYYY-MM-DDfitatu read-day-summary --date YYYY-MM-DDfitatu read-days --from-date YYYY-MM-DD --to-date YYYY-MM-DDfitatu read-day-summaries --from-date YYYY-MM-DD --to-date YYYY-MM-DDfitatu add-product --date YYYY-MM-DD --meal breakfast --product-id ... --measure-id ... --quantity ...fitatu delete-entry --date YYYY-MM-DD --entry-id ...
All CLI output is JSON.
Read-oriented commands also support --out PATH for writing snapshots directly to disk.
The MCP entrypoint is fitatu-mcp.
Implemented tools:
fitatu_loginfitatu_whoamifitatu_logoutfitatu_search_foodfitatu_get_productfitatu_read_dayfitatu_read_day_summaryfitatu_add_productfitatu_delete_entry
The server uses FastMCP over stdio.
Automation Examples
Range exports for a dashboard:
fitatu read-days --from-date 2026-03-01 --to-date 2026-03-07 --out data/fitatu-days.json
fitatu read-day-summaries --from-date 2026-03-01 --to-date 2026-03-31 --out data/fitatu-summaries.json
Example cronjobs:
# macOS / BSD `date`
5 6 * * * cd /absolute/path/to/fitatu-wrapper && /absolute/path/to/.venv/bin/fitatu read-day --date $(date +\%F) --out data/today.json
10 6 * * * cd /absolute/path/to/fitatu-wrapper && /absolute/path/to/.venv/bin/fitatu read-day-summaries --from-date $(date -v-6d +\%F) --to-date $(date +\%F) --out data/weekly-summaries.json
Linux / GNU date variant:
10 6 * * * cd /absolute/path/to/fitatu-wrapper && /absolute/path/to/.venv/bin/fitatu read-day-summaries --from-date $(date -d '6 days ago' +\%F) --to-date $(date +\%F) --out data/weekly-summaries.json
For dashboard ingestion, prefer the CLI over MCP and persist JSON snapshots locally.
Configuration
Copy .env.example to .env for local development.
The runtime loads .env automatically.
Important rules:
- never commit a real
.env - never put real credentials or tokens into
.env.example - treat
.env.exampleas documentation, not as a secrets file
Supported environment variables:
FITATU_API_BASE_URLFITATU_SESSION_PATHFITATU_USERNAMEFITATU_PASSWORDFITATU_API_KEYFITATU_API_SECRETFITATU_LOGIN_API_CLUSTERFITATU_APP_LOCATION_COUNTRYFITATU_APP_UUIDFITATU_APP_VERSIONFITATU_APP_LOCALEFITATU_APP_SEARCHLOCALEFITATU_APP_STORAGELOCALEFITATU_APP_TIMEZONEFITATU_APP_OS
Zero-Bootstrap Login
The default path is now browserless and zero-bootstrap:
fitatu login --email ... --password ...can work with only credentials- the client fetches the public Fitatu login page and web bundle
- it extracts the public web-app config needed for the first login request
- after login, the session file stores the user tokens and user-scoped headers for normal reuse
This means:
- browser automation is not required for normal CLI or MCP use
- manual
FITATU_API_*/FITATU_APP_*values are not required for first login - those header env vars are now advanced debug or override inputs, not mandatory setup
The repository does not include real values for any of these fields. Populate them from your own local setup only.
Live Smoke
The repo includes opt-in live smoke tests for zero-bootstrap browserless operation.
By default they are skipped. To run them:
FITATU_RUN_LIVE=1 python3 -m pytest -m live tests/test_live_smoke.py
Required live-smoke inputs:
FITATU_USERNAMEFITATU_PASSWORDFITATU_LIVE_DATE- optionally
FITATU_LIVE_MEALandFITATU_LIVE_QUERY
Optional write smoke inputs:
FITATU_LIVE_PRODUCT_IDFITATU_LIVE_MEASURE_IDFITATU_LIVE_QUANTITY
The live smoke tests unset all manual FITATU_API_* and FITATU_APP_* env vars before building the client config. They then perform programmatic login and run the v1 read and write flows. That proves the browserless path works without manual bootstrap configuration.
Development
The project uses:
- Python 3.12+
typerfor the CLIpydanticfor public modelsmcpfor the MCP serverpytestfor testsrufffor linting
Checks:
ruff check .
python3 -m pytest
If you are changing CLI or MCP behavior, update this README in the same change.
Установка Fitatu Wrapper
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/Kymylyy/fitatu-wrapperFAQ
Fitatu Wrapper MCP бесплатный?
Да, Fitatu Wrapper MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Fitatu Wrapper?
Нет, Fitatu Wrapper работает без API-ключей и переменных окружения.
Fitatu Wrapper — hosted или self-hosted?
Доступен hosted-вариант: Unyly запускает сервер в облаке, локальная установка не обязательна.
Как установить Fitatu Wrapper в Claude Desktop, Claude Code или Cursor?
Открой Fitatu Wrapper на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectCompare Fitatu Wrapper with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
