mcpField
F
Fitatu MCP Unofficial

Fitatu MCP Unofficial

本地服务
github.com/AndekQR健康医疗95 周前更新

关于 Fitatu MCP Unofficial

Fitatu MCP Unofficial 是用于访问和更新个人 Fitatu 账户数据的 MCP 服务,面向管理饮食记录和营养信息的用户。它提供饮食计划、身体测量、食物搜索及食谱管理工具,并支持 stdio 和 Streamable HTTP。

主要功能

  1. 01查询个人资料和营养摘要
  2. 02查找食物及食谱
  3. 03管理餐食项目
  4. 04创建和编辑食谱
  5. 05更新身体测量与设置

适用场景

  1. 01查询指定日期的饮食计划
  2. 02搜索食物并添加到餐食
  3. 03汇总日期范围内的营养数据
  4. 04维护个人食谱和测量记录

MCP 相关

它向 MCP 客户端提供 Fitatu 账户查询与更新工具,并支持 stdio 和 Streamable HTTP 传输。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库
安装包
mcpbfitatu-mcp-unofficial-3.0.1.mcpb3.0.1

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Fitatu MCP Unofficial 标志

Fitatu MCP Unofficial

用于访问和更新你自己的 Fitatu 账户数据的非官方 Model Context Protocol (MCP) 服务。它通过 stdio 或 Streamable HTTP 提供用于个人资料数据、膳食计划、营养摘要、食物搜索和食谱管理的类型化工具。

重要

本项目与 Fitatu 无关,也未得到 Fitatu 的认可或赞助。请仅将其用于你自己的账户,并将 Fitatu 凭据和账户数据视为敏感信息。

功能

  • 查询个人资料、每日计划和营养摘要。
  • 查询最新或指定日期的身体测量数据,并针对明确的日历日期进行部分更新。
  • 搜索食物和食谱,并获取变更工具所需的标识符。
  • 创建、更新、替换、移动和移除膳食项目。
  • 创建、查看、更新和删除食谱。
  • 为本地 stdio 和 Streamable HTTP 客户端提供 MCP 传输方式。
  • 本地开发和 Docker 工作流。

要求

  • Node.js >=22.18.0
  • npm
  • Fitatu 账户

Docker 和 ngrok 为可选项,仅在相应工作流中需要。

快速开始

安装依赖并创建本地配置文件:

npm install
cp .env.example .env

在 .env 中设置 FITATU_EMAIL 和 FITATU_PASSWORD,然后启动开发服务:

npm run dev

默认 MCP 端点为 http://localhost:3000/mcp。

MCP 客户端配置

使用 MCP_TRANSPORT 选择一种传输方式:

传输方式适用场景进程模型
stdio启动自身 MCP 服务的本地客户端每个客户端启动一个服务进程
http由一个或多个客户端共用的持久服务在 /mcp 上运行的长期服务
stdio

配置客户端前先构建服务:

npm run build

使用指向仓库中 .env 和 dist/index.js 文件的绝对路径:

{
	"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"
			}
		}
	}
}

客户端负责启动和停止服务。在 stdio 模式下,日志会写入 stderr,因为 stdout 专用于 JSON-RPC 流。

Streamable HTTP

使用 npm run dev 启动服务,或构建并运行:

npm run build
npm start

支持原生 Streamable HTTP 的客户端可直接连接到:

http://localhost:3000/mcp

对于通过命令启动远程 MCP 连接的客户端,请使用 mcp-remote:

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

若要交互式检查本地服务:

npm run inspector

将 Inspector 连接到 http://localhost:3000/mcp。

使用 ngrok 访问远程 MCP

安装并验证 ngrok。在 .env 中,使用 FITATU_* 和 FITATU_INTEGRATION_* 配置两个不同的 Fitatu 账户,然后添加分配给你的域名:

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)

在任何支持远程 Streamable HTTP 连接的 MCP 客户端中,使用以下任一无需身份验证的 URL:

  • 个人:https://YOUR_NGROK_DOMAIN/personal/mcp
  • 测试:https://YOUR_NGROK_DOMAIN/test/mcp

可用工具

工具用途
get_current_user返回已认证用户个人资料中的安全子集。
get_body_measurement返回最新的身体测量数据,或指定可选 YYYY-MM-DD 日期的完整记录。
save_body_measurement使用个人资料中的单位,部分更新 YYYY-MM-DD 日期的身体测量数据。
get_user_settings返回按日期解析的能量、计算和饮水设置,以及请求日期和生效日期;日期默认为 Fitatu 时区的今天。
update_user_settings设置手动或自动能量目标、更新饮水份量大小,或同时应用这两项更改。
get_day_plan_items返回 YYYY-MM-DD 日期的餐食和食物项目。
get_diet_summary汇总包含起止日期在内的日期范围内的营养和能量。
search_food搜索 Fitatu 食物目录并返回可用于修改的标识符。
search_food_by_barcodes并行搜索公开食物目录,最多查询 10 个条形码。
add_meal_items向餐食添加产品、食谱或自定义项目。
update_meal_item更新数量、计量方式或食用状态。
replace_meal_item替换一条精确的餐食记录。
move_meal_item将项目移至另一餐食、日期,或同时更改两者。
remove_meal_items按 UUID 原子性地移除选定的每日计划条目。
search_recipes搜索私人食谱、公开食谱,或同时搜索两个目录。
get_recipe返回规范的每份食谱详情。
create_recipe使用产品和计量方式标识符创建私人食谱。
update_recipe部分更新自己拥有且可编辑的食谱。
delete_recipe在确认名称完全一致后软删除食谱。

配置

运行时配置从环境变量读取,并在启动时进行验证。

变量必需默认值说明
FITATU_EMAIL是—Fitatu 账户邮箱地址。
FITATU_PASSWORD是—Fitatu 账户密码。
FITATU_INTEGRATION_EMAIL集成测试和隧道命令需要—专用 Fitatu 测试账户的邮箱地址。
FITATU_INTEGRATION_PASSWORD集成测试和隧道命令需要—专用 Fitatu 测试账户的密码。
MCP_TRANSPORT否httpMCP 传输方式:http 或 stdio。
PORT否3000HTTP 端口;stdio 模式下不使用。
HOST否0.0.0.0HTTP 绑定地址;stdio 模式下不使用。隧道启动器会强制使用环回地址。
NODE_ENV否developmentdevelopment、production 或 test。
SERVER_NAME否fitatu-mcpMCP 服务报告的名称。
SERVER_VERSION否3.0.0MCP 服务报告的版本。
LOG_LEVEL否infosilent、error、warn、info 或 debug。
FITATU_USER_AGENT否Dart/3.10 (dart:io)Fitatu 移动运行时 User-Agent。
FITATU_APP_VERSION否4.14.4Fitatu 移动应用版本。
FITATU_API_APK_UUID否BE4B.251210.005Fitatu 移动版本标识符。

请勿提交 .env。移动客户端配置文件的默认值与 2026-07-30 捕获的 Fitatu 4.14.4 流量相匹配,无需更改代码即可覆盖这些默认值。

Docker

当前镜像构建需要配置好的 .env 文件:

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

Dockerfile 会将 .env 复制到镜像中。请将生成的镜像视为敏感内容;不要发布或分享。

开发

任务命令
开发服务器npm run dev
使用 ngrok 启动两个账户npm run dev:all
使用 ngrok 启动测试账户npm run dev:test-account
生产构建npm run build
启动构建后的服务器npm start
类型检查npm run typecheck
代码检查npm run lint
格式检查npm run format:check
运行单元测试并生成覆盖率npm run test:ci
本地覆盖率报告npm run test:coverage
集成测试npm run test:integration

npm run test:ci 具有确定性,不会加载 Fitatu 凭据。集成测试使用上文介绍的专用 Fitatu 测试账户,并可能修改其膳食计划、食谱和身体测量数据。

有关分层边界和设计规则,请参阅 ARCHITECTURE.md;有关贡献指南,请参阅 CONTRIBUTING.md。

许可证

基于 MIT License 授权。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。