← Back to directory
COMPARE UP TO 4 SERVERS

Compare MCP servers

Compare scores, permissions, risks, and fit in one decision-focused table.

DimensionMyFitnessPal MCP ServerLet AI assistants read and write your MyFitnessPal diary and health dataCompartmentEncrypted, fully offline long-term memory for AI agents
FMRS51 / 100 · D75 / 100 · B
Reliability9 / 2012 / 20
Security and permissions8 / 2016 / 20
Maintenance10 / 2014 / 20
Documentation14 / 2018 / 20
Setup experience10 / 2015 / 20
Best for
  • Individuals who want to view and organize MyFitnessPal food, exercise and weight records in natural language
  • macOS Claude Desktop users who are comfortable authenticating with browser cookies
  • People automating entries (e.g. inferring fasts from a sleep window plus first-meal timestamp) or correcting logs programmatically
  • Technical users who accept a scraping-based approach and know the interface can break
  • Individuals or teams who prioritise privacy and offline operation and do not want data leaving the machine
  • Users who share memory across multiple MCP clients such as Claude Code, Claude Desktop, Hermes Agent, OpenClaw, Cursor, Codex and Gemini CLI
  • Scenarios that need encrypted storage, a hash-chained audit log and verifiable vault migration
  • Users who want low-latency recall, a bundled embedding model and no extra LLM calls inside the memory layer
Not for
  • Production use requiring official support or a stable public API
  • Users unwilling to keep session cookies or account credentials on their machine
  • Environments on Python 3.13+ or where lxml cannot be built
  • MCP clients other than Claude Desktop (only a Claude Desktop config example is documented)
  • Anyone who needs to read fasting history — MFP exposes no read endpoint for it
  • Users who need cloud multi-device sync or a hosted team memory service; moving between machines means locking the vault and copying the file
  • Users who expect the server itself to run an LLM that extracts facts and decides what to remember; Compartment explicitly keeps no LLM inside and leaves that to the host model
  • Users who cannot keep a passphrase safe or who need a recovery path if it is lost, since Compartment never generates a password, seed or recovery phrase
  • Deployments that require network transports such as SSE or streamable-http; this server is stdio only and opens no ports
Required permissions
  • Read and modify your MyFitnessPal account data (diary, goals, measurements, water, fasting)
  • Write to ~/.mfp_mcp/cookies.json (mode 0600; equivalent to a password with full account access)
  • On macOS, read each browser's '<Browser> Safe Storage' keychain entry to decrypt its cookie database
  • Read browser cookies (Chromium-based or Firefox) or credentials from the MFP_USERNAME / MFP_PASSWORD environment variables
  • Optionally read MFP_SECRET_KEY from the environment or OS keychain to decrypt credentials
  • Read and write the vault file under the user's home directory, by default ~/.compartment/memory.vault, and its sibling settings file
  • Access the session directory holding the unlock credential (configurable with COMPARTMENT_SESSION_DIR), which also carries the shared embedding process's Unix socket
  • Optionally use the macOS keychain (compartment unlock --keychain is an explicit opt-in, and it survives reboots)
  • Write or merge an mcpServers entry into each MCP client's own configuration file, taking a byte-exact backup first
  • Install a PostToolUse hook for Claude Code that captures memory files the agent writes
  • Serve a read-only dashboard on 127.0.0.1 behind a one-time random URL token
Risks and side effects
  • The server can modify your diary, goals, measurements and water — mistaken calls change real data
  • Session cookies grant full account access and are stored locally in ~/.mfp_mcp/cookies.json; leaking that file is leaking the account
  • Storing plain credentials in the client config puts your MyFitnessPal password in plaintext on disk, readable by anything running as your user
  • Reads and writes depend on MFP's undocumented interfaces, which can change without notice (the author notes it already happened once)
  • Scraping and internal API use may conflict with MyFitnessPal's terms of service
  • If MFP_SECRET_KEY is stored alongside the encrypted values in the same config file, the encryption provides little protection
  • A leaked passphrase means the encrypted content can be decrypted; Compartment generates no recovery phrase and cannot recover a lost passphrase
  • Enabling the memory_unlock tool places the passphrase in the model's context, which is why it is off by default
  • If a 2FA keyfile is lost, for example a USB stick, the vault cannot be opened even with the passphrase
  • `export --plaintext` writes the vault as unencrypted JSONL, so that file must be handled carefully
  • Memory content can come from untrusted sources; recall wraps memories with a notice that they are stored data and content can be marked quarantined, but the host agent must still treat memory as data to limit prompt-injection risk
  • The capture hook and client integration write into the user's own settings files, although the implementation backs up and merges rather than replacing
Supported clientsClaude DesktopClaude Desktop, Claude Code, Hermes Agent, OpenClaw, Cursor, VS Code, Codex, Gemini CLI, Cline, Roo Code, Zed, OpenCode, LM Studio, AnythingLLM, BoltAI, Goose, Kiro
Tools2014