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 対応

stdioおよびStreamable HTTP経由で、Fitatuアカウントの参照・更新ツールをMCPクライアントに公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの 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 の認証情報とアカウントデータは機密情報として扱ってください。

特長

  • プロフィール、日次プラン、栄養サマリーの照会。
  • 最新または指定日の身体測定値の取得と、明示的に指定した日付の一部項目の更新。
  • 更新ツールで必要となる識別子を含む、食品とレシピの検索。
  • 食事項目の作成、更新、置換、移動、削除。
  • レシピの作成、確認、更新、削除。
  • ローカルの 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 でトランスポートを 1 つ選択します。

トランスポート最適な用途プロセスモデル
stdio独自の MCP サーバーを起動するローカルクライアントクライアントごとに 1 つのサーバープロセス
http1 つ以上のクライアントで共有する常駐サーバー/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 モードでは、標準出力が JSON-RPC ストリーム用に予約されているため、ログは標準エラー出力に書き込まれます。

Streamable HTTP

npm run dev でサーバーを起動するか、ビルドして次のコマンドで実行します。

npm run build
npm start

Streamable HTTP にネイティブ対応しているクライアントは、次の URL に直接接続できます。

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_* を使用して異なる 2 つの 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手動または自動のエネルギー目標を設定するか、水分の1回分の量を更新するか、両方の変更をまとめて適用します。
get_day_plan_itemsYYYY-MM-DD 日付の食事と食品項目を返します。
get_diet_summary開始日と終了日を含む期間の栄養とエネルギーを要約します。
search_foodFitatu の食品カタログを検索し、変更に使用できる識別子を返します。
search_food_by_barcodes公開食品カタログで最大10件のバーコードを並列検索します。
add_meal_items商品、レシピ、カスタム項目を食事に追加します。
update_meal_item量、計量単位、または摂取済みの状態を更新します。
replace_meal_item指定した食事エントリーを置き換えます。
move_meal_item項目を別の食事、日付、またはその両方に移動します。
remove_meal_itemsUUID を指定して、デイリープランの選択したエントリーをまとめて削除します。
search_recipes非公開レシピ、公開レシピ、または両方のカタログを検索します。
get_recipe1人分あたりの標準的なレシピ詳細を返します。
create_recipe商品と計量単位の識別子を使用して非公開レシピを作成します。
update_recipe所有する編集可能なレシピを部分的に更新します。
delete_recipe名前が正確に一致することを確認した後、レシピを論理削除します。

設定

ランタイム設定は環境変数から読み込まれ、起動時に検証されます。

変数必須デフォルト説明
FITATU_EMAILはい—Fitatu アカウントのメールアドレス。
FITATU_PASSWORDはい—Fitatu アカウントのパスワード。
FITATU_INTEGRATION_EMAIL統合テストおよびトンネルコマンドで必要—専用 Fitatu テストアカウントのメールアドレス。
FITATU_INTEGRATION_PASSWORD統合テストおよびトンネルコマンドで必要—専用テストアカウントのパスワード。
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 モバイルランタイムのユーザーエージェント。
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 の下でライセンスされています。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。