mcpField
F
Fitatu MCP Unofficial

Fitatu MCP Unofficial

Local
github.com/AndekQRHealth9Updated 5w ago

About Fitatu MCP Unofficial

Fitatu MCP Unofficial is an MCP server for accessing and updating data in a user's Fitatu account. It serves people managing meals and nutrition, with tools for day plans, measurements, food search, and recipes over stdio or Streamable HTTP.

Key features

  1. 01Query profile and nutrition summaries
  2. 02Search foods and recipes
  3. 03Manage meal items
  4. 04Create and edit recipes
  5. 05Update measurements and settings

Use cases

  1. 01Check a day plan for a date
  2. 02Find foods and add them to meals
  3. 03Summarize nutrition across a date range
  4. 04Maintain recipes and measurement records

MCP support

It exposes Fitatu account query and update tools to MCP clients over stdio and Streamable HTTP transports.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository
Packages
mcpbfitatu-mcp-unofficial-3.0.1.mcpb3.0.1

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project 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:

npm install
cp .env.example .env

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

npm run dev

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:

npm run build

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

{
	"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, or build and run it with:

npm run build
npm start

Clients with native Streamable HTTP support can connect directly to:

http://localhost:3000/mcp

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

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

To inspect the local server interactively:

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:

NGROK_DOMAIN=your-assigned-domain.ngrok-free.dev
npm run dev:all           # Both accounts and the tunnel
npm run dev:test-account # Test account only (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:

cp .env.example .env
docker 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
Development servernpm run dev
Both accounts with ngroknpm run dev:all
Test account with ngroknpm run dev:test-account
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.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.