J
Jezue/fitatu_library
Unofficial Python API client for Fitatu — built for AI agents and automation
SECURITY.md ✓
在 GitHub 查看 ↗链接已于 2026-11-12 核查 · HTTP 200 · 打开的是厂商自己的官网
安装与配置
取自该仓库的安装命令
pip install fitatu-api
解析自我们于 2026-10-26 抓取的该仓库 README;我们未执行过。
这条是仓库自己写的安装方式,不是 MCP 客户端配置,所以不生成 JSON。
配置项的键名以你的客户端为准:客户端与 CLI
- ★ 数取值
- 25 ★ · Jezue/fitatu_library · 取自 GitHub 搜索 API · (2026-11-13 20:00:50 核对)
- 来源明细
- 收录自 punkpeye/awesome-mcp-servers 榜单(我们从中收集的条目之一) · 条目类型:MCP 服务
- 收录与活跃
- 收录于 2026-10-23 · 最近见到 2026-11-14 · 共见到 26 次 · 被 33 个来源列出
- 评分构成
- 综合分 3,300 · 25 ★ · 33 个来源 · mcp
- 安装
pip install fitatu-api
常见问题(答案都来自我们的记录)
怎么安装?
该仓库给出的安装命令是
pip install fitatu-api。我们的记录里它是仓库自己提供的;不保证在你的客户端上直接可用。它适合谁 / 用来做什么?
我们把它归在这些标签下: MCP 服务。标签来自条目自身,不是我们强加的分类。
谁维护它、还在更新吗?
仓库
Jezue/fitatu_library;我们收录于 2026-10-23;最近见到 2026-11-14。这里没有"官方认证"或"质量评级"——我们只记录来源与时间。# fitatu-api
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
An unofficial Python client for the API of Fitatu, the calorie
counter, built to be driven by AI agents and scripts. It reads and writes the food diary,
activities, body measurements and water, reads and sets goals, and reads summaries and the food
catalog.
FitatuTools turns the diary into tools a language model can call. The session handling
follows python-garminconnect: log in once,
keep one session file, let the client refresh it.
> Unofficial. This project is not affiliated with or endorsed by Fitatu Sp. z o.o. The API
> was reverse-engineered from the Fitatu apps and can change without notice. Automated access
> may break Fitatu's Terms of Service; check them, and use the library only with your own
> account and at your own risk. The MIT licence covers this code, not the Fitatu service, its
> API or its data.
## Install
Python 3.11 or newer; the only dependency is requests (and tzdata on Windows).
bash
pip install fitatu-api # the library and the fitatu-api command
pip install "fitatu-api[mcp]" # plus fitatu-mcp, the MCP server
pip install "git+https://github.com/Jezue/fitatulibrary" # unreleased changes from main
To work on the library or run its tests offline, clone it instead: git clone
https://github.com/Jezue/fitatulibrary && cd fitatulibrary && pip install -e ".[dev]".
## Quick start
bash
fitatu-api login # asks for e-mail and password, writes ~/.fitatu/session.json
Signed up with Apple or Facebook? Then the account has no password: copy the session from the
web app with fitatu-api import-session instead, as described under
Authentication & session file.
python
from datetime import date
from fitatuapi import FitatuApiClient
with FitatuApiClient.fromsession() as client: # closes the HTTP connections at the end
userid = client.auth.fitatuuserid
today = date.today()
day = client.planner.getday(userid, today)
for mealkey, meal in day["dietPlan"].items():
for row in meal["items"]:
print(mealkey, row["name"], row["energy"], row["planDayDietItemId"])
egg = client.searchfood("jajko kurze", limit=1)[0] # search rows carry the id as foodId
added = client.planner.addproducttodaymeal(
userid, today, mealtype="breakfast", productid=egg["foodId"],
measureid=egg["measure"]["measureId"], measurequantity=2, # 2 of the hit's measure
print("added row", added["rowid"])
How writes, row ids and removals work: docs/PLANNER.md.
To copy a catering diet's menu into the diary (safe to run again), use cateringsync.py from
the repository: Importing a catering menu.
## For AI agents
FitatuTools exposes 47 tools (read the day, search food, log food, weight, water,
workouts, private recipes and products, ...) with JSON Schema inputs and read-only / destructive / idempotent annotations.
call() never raises: it returns {"ok": true, "data": ...} or {"ok": false, "error":
{"errortype", "message", "retryable", "hint", ...}}, so the model can read what went wrong.
SYSTEMPROMPT is the recommended system prompt: the rules the model needs on top of the tool
descriptions (read before writing, users' own meal names, data.ok, confirmations). The model
asks gettoday for the date, in the account's time zone.
python
import json
import anthropic
from fitatuapi import FitatuTools
counter, built to be driven by AI agents and scripts. It reads and writes the food diary,
activities, body measurements and water, reads and sets goals, and reads summaries and the food
catalog.
FitatuTools turns the diary into tools a language model can call. The session handling
follows python-garminconnect: log in once,
keep one session file, let the client refresh it.
> Unofficial. This project is not affiliated with or endorsed by Fitatu Sp. z o.o. The API
> was reverse-engineered from the Fitatu apps and can change without notice. Automated access
> may break Fitatu's Terms of Service; check them, and use the library only with your own
> account and at your own risk. The MIT licence covers this code, not the Fitatu service, its
> API or its data.
## Install
Python 3.11 or newer; the only dependency is requests (and tzdata on Windows).
bash
pip install fitatu-api # the library and the fitatu-api command
pip install "fitatu-api[mcp]" # plus fitatu-mcp, the MCP server
pip install "git+https://github.com/Jezue/fitatulibrary" # unreleased changes from main
To work on the library or run its tests offline, clone it instead: git clone
https://github.com/Jezue/fitatulibrary && cd fitatulibrary && pip install -e ".[dev]".
## Quick start
bash
fitatu-api login # asks for e-mail and password, writes ~/.fitatu/session.json
Signed up with Apple or Facebook? Then the account has no password: copy the session from the
web app with fitatu-api import-session instead, as described under
Authentication & session file.
python
from datetime import date
from fitatuapi import FitatuApiClient
with FitatuApiClient.fromsession() as client: # closes the HTTP connections at the end
userid = client.auth.fitatuuserid
today = date.today()
day = client.planner.getday(userid, today)
for mealkey, meal in day["dietPlan"].items():
for row in meal["items"]:
print(mealkey, row["name"], row["energy"], row["planDayDietItemId"])
egg = client.searchfood("jajko kurze", limit=1)[0] # search rows carry the id as foodId
added = client.planner.addproducttodaymeal(
userid, today, mealtype="breakfast", productid=egg["foodId"],
measureid=egg["measure"]["measureId"], measurequantity=2, # 2 of the hit's measure
print("added row", added["rowid"])
How writes, row ids and removals work: docs/PLANNER.md.
To copy a catering diet's menu into the diary (safe to run again), use cateringsync.py from
the repository: Importing a catering menu.
## For AI agents
FitatuTools exposes 47 tools (read the day, search food, log food, weight, water,
workouts, private recipes and products, ...) with JSON Schema inputs and read-only / destructive / idempotent annotations.
call() never raises: it returns {"ok": true, "data": ...} or {"ok": false, "error":
{"errortype", "message", "retryable", "hint", ...}}, so the model can read what went wrong.
SYSTEMPROMPT is the recommended system prompt: the rules the model needs on top of the tool
descriptions (read before writing, users' own meal names, data.ok, confirmations). The model
asks gettoday for the date, in the account's time zone.
python
import json
import anthropic
from fitatuapi import FitatuTools
收录徽章(可选)
想把收录标记放进 README 就复制这行,可选,不影响收录。
[](https://anclum.com/zh/s/jezue-fitatu-library/)
- 来源
- awesome · https://github.com/Jezue/fitatu_library
- 按领域浏览
- MCP 服务
- Traction
- 25 ★
- 收录来源
- 33 个独立来源
- 收录于
- 今天
- 安全策略
- 该仓库根目录有
SECURITY.md(我们只核文件存在,未核内容)
同类推荐
所属领域与标签
每个标签都能点进去看同类的全部条目。数字是当前库里的真实条数。