Fitatu MCP Unofficial

io.github.AndekQR由 GitHub 帳號 AndekQR 發布v3.0.1更新於 Oct 24, 2026

Unofficial MCP server for the Polish Fitatu app. Search foods and manage meals, recipes, and logs.

已驗證STDIO僅桌面位置與生活效率與工作流

概覽

AI 產生的概覽

非官方 MCP 伺服器,讓助理讀取與修改你自己的 Fitatu 飲食帳號:食物搜尋、餐點計畫、食譜與身體測量。

可以做什麼
透過 stdio 或 Streamable HTTP 為個人 Fitatu 帳號提供具型別的工 具。可查詢個人資料、每日計畫、營養摘要、使用者設定與身體測量,並可搜尋食物與食譜。寫入類工具可新增、更新、取代、移動或移除餐點項目,以及建立、更新或軟刪除食譜。本專案與 Fitatu 無隸屬關係。
適用情境
當你希望助理在自己的 Fitatu 帳號中記錄或調整餐點、查詢食物與條碼、檢視營養與能量摘要,或管理食譜時使用。適合個人飲食紀錄,而非團隊或多使用者情境。
執行需求
以本機 Node.js 程序執行(Node.js >= 22.18.0、npm),也可使用 Docker;需要 Fitatu 帳號。需設定 FITATU_EMAIL 與 FITATU_PASSWORD,通常放在 .env 檔案中。選用:ngrok 以及獨立的 FITATU_INTEGRATION_* 測試帳號,用於通道與整合測試流程。
安裝前請注意
需要你的 Fitatu 帳號憑證(FITATU_EMAIL、FITATU_PASSWORD);請將其與帳號資料視為敏感資訊,不要提交 .env。許多工具會寫入、移動或刪除餐點項目與食譜,整合測試可能變更餐點計畫、食譜與身體測量資料。Dockerfile 會把 .env 複製進映像檔,因此不要發布或分享該映像檔。遠端通道 URL 無需驗證即可存取。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Fitatu MCP Unofficial,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

[Fitatu MCP Unofficial logo]

Fitatu MCP Unofficial

Unofficial Model Context Protocol (MCP) server for accessing and updating data in your own Fitatu account. It provides typed tools for profile data, meal plans, nutrition summaries, food search, and recipe management over stdio or Streamable HTTP.

[!IMPORTANT] This project is not affiliated with, endorsed by, or sponsored by Fitatu. Use it only with your own account and treat Fitatu credentials and account data as sensitive.

Features

  • Profile, day-plan, and nutrition summary queries.
  • Latest or date-specific body measurement lookup and partial updates for explicit calendar dates.
  • Food and recipe search with identifiers required by mutation tools.
  • Meal item creation, update, replacement, movement, and removal.
  • Recipe creation, inspection, update, and deletion.
  • MCP transports for local stdio and Streamable HTTP clients.
  • Local development and Docker workflows.

Requirements

  • Node.js >=22.18.0
  • npm
  • A Fitatu account

Docker and ngrok are optional and required only for their respective workflows.

Quick start

Install dependencies and create the local configuration file:

bash
npm installcp .env.example .env

Set FITATU_EMAIL and FITATU_PASSWORD in .env, then start the development server:

bash
npm run dev:server

The default MCP endpoint is http://localhost:3000/mcp.

MCP client configuration

Choose one transport with MCP_TRANSPORT:

TransportBest forProcess model
stdioA local client that launches its own MCP serverOne server process per client
httpA persistent server shared by one or more clientsLong-running server on /mcp

stdio

Build the server before configuring the client:

bash
npm run build

Use absolute paths to the repository's .env and dist/index.js files:

json
{	"mcpServers": {		"fitatu": {			"command": "node",			"args": [				"--env-file=/absolute/path/to/fitatu-mcp-unofficial/.env",				"/absolute/path/to/fitatu-mcp-unofficial/dist/index.js"			],			"env": {				"MCP_TRANSPORT": "stdio"			}		}	}}

The client starts and stops the server. In stdio mode, logs are written to stderr because stdout is reserved for the JSON-RPC stream.

Streamable HTTP

Start the server with npm run dev:server, or build and run it with:

bash
npm run buildnpm start

Clients with native Streamable HTTP support can connect directly to:

text
http://localhost:3000/mcp

For a client that launches remote MCP connections through a command, use mcp-remote:

json
{	"mcpServers": {		"fitatu": {			"command": "npx",			"args": ["mcp-remote", "http://localhost:3000/mcp"]		}	}}

To inspect the local server interactively:

bash
npm run inspector

Connect the Inspector to http://localhost:3000/mcp.

Remote MCP access with ngrok

Install and authenticate ngrok. In .env, configure two different Fitatu accounts using FITATU_* and FITATU_INTEGRATION_*, then add your assigned domain:

dotenv
NGROK_DOMAIN=your-assigned-domain.ngrok-free.dev
bash
npm run dev:tunnel:all  # Personal and test accounts, gateway, and ngrok tunnelnpm run dev:tunnel:test # Test account, gateway, and ngrok tunnel (alternative)

In any MCP client that supports remote Streamable HTTP connections, use one of these URLs without authentication:

  • Personal: https://YOUR_NGROK_DOMAIN/personal/mcp
  • Test: https://YOUR_NGROK_DOMAIN/test/mcp

Available tools

ToolPurpose
get_current_userReturn a safe subset of the authenticated user profile.
get_body_measurementReturn the latest body measurement, or the complete entry for an optional YYYY-MM-DD date.
save_body_measurementPartially update body measurements for a YYYY-MM-DD date using profile units.
get_user_settingsReturn date-resolved energy, calculated, and water settings with requested and effective dates; date defaults to today in the Fitatu timezone.
update_user_settingsSet a manual or automatic energy target, update the water serving size, or apply both changes together.
get_day_plan_itemsReturn meals and food items for a YYYY-MM-DD date.
get_diet_summarySummarize nutrition and energy for an inclusive date range.
search_foodSearch Fitatu food catalogs and return mutation-ready identifiers.
search_food_by_barcodesSearch the public food catalog for up to 10 barcodes in parallel.
add_meal_itemsAdd products, recipes, or custom items to a meal.
update_meal_itemUpdate quantity, measure, or eaten state.
replace_meal_itemReplace one exact meal entry.
move_meal_itemMove an item to another meal, date, or both.
remove_meal_itemsAtomically remove selected day-plan entries by UUID.
search_recipesSearch private recipes, public recipes, or both catalogs.
get_recipeReturn canonical per-serving recipe details.
create_recipeCreate a private recipe from product and measure identifiers.
update_recipePartially update an owned, editable recipe.
delete_recipeSoft-delete a recipe after exact-name confirmation.

Configuration

Runtime configuration is read from environment variables and validated at startup.

VariableRequiredDefaultDescription
FITATU_EMAILYes—Fitatu account email address.
FITATU_PASSWORDYes—Fitatu account password.
FITATU_INTEGRATION_EMAILFor integration tests and tunnel commands—Email address of a dedicated Fitatu test account.
FITATU_INTEGRATION_PASSWORDFor integration tests and tunnel commands—Password for the dedicated Fitatu test account.
MCP_TRANSPORTNohttpMCP transport: http or stdio.
PORTNo3000HTTP port; unused in stdio mode.
HOSTNo0.0.0.0HTTP bind address; unused in stdio mode. The tunnel launcher forces loopback.
NODE_ENVNodevelopmentdevelopment, production, or test.
SERVER_NAMENofitatu-mcpName reported by the MCP server.
SERVER_VERSIONNo3.0.0Version reported by the MCP server.
LOG_LEVELNoinfosilent, error, warn, info, or debug.
FITATU_USER_AGENTNoDart/3.10 (dart:io)Fitatu mobile runtime user agent.
FITATU_APP_VERSIONNo4.14.4Fitatu mobile application version.
FITATU_API_APK_UUIDNoBE4B.251210.005Fitatu mobile build identifier.

Do not commit .env. The mobile client profile defaults match Fitatu 4.14.4 traffic captured on 2026-07-30 and can be overridden without changing code.

Docker

The current image build requires a configured .env file:

bash
cp .env.example .envdocker build -t fitatu-mcp .docker run --name fitatu-mcp -p 3000:3000 fitatu-mcp

The Dockerfile copies .env into the image. Treat the resulting image as sensitive; do not publish or share it.

Development

TaskCommand
One server using .env, with automatic restart; no ngroknpm run dev:server
Personal and test servers, gateway, and ngroknpm run dev:tunnel:all
Test server, gateway, and ngroknpm run dev:tunnel:test
Stop this repository's development servers and ngrok, including orphaned processesnpm run dev:stop
Production buildnpm run build
Start built servernpm start
Type checkingnpm run typecheck
Lintnpm run lint
Formatting checknpm run format:check
Unit tests with coveragenpm run test:ci
Local coverage reportnpm run test:coverage
Integration testsnpm run test:integration

npm run test:ci is deterministic and does not load Fitatu credentials. Integration tests use the dedicated Fitatu test account described above and may mutate its meal-plan, recipe, and body-measurement data.

See ARCHITECTURE.md for layer boundaries and design rules, and CONTRIBUTING.md for contribution guidelines.

License

Licensed under the MIT License.

來源:README.md,提交 e4538bb

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v3.0.1最新Sep 21, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分