- Reliability 9/20
- The README declares 20 tools but describes behavior only through tables and an API reference; no source such as server.py is provided, so declared behavior cannot be checked against implementation, and there are no CI workflows or committed tests. Static calibration therefore caps reliability at 12. The auth path is fragile by the author's own account: MFP moved to NextAuth so the form-POST credential flow almost always fails and credentials only work while cached cookies survive. Writes depend on an undocumented v2 JSON API that the author says already changed once, breaking food logging with a 404. Dependencies require Python 3.10–3.12 because lxml has no wheels for 3.13+. Score 9: the happy path is plausible, but there is no execution evidence, little described error handling or regression coverage, and known brittleness on key write paths.
- Security and permissions 8/20
- No malware, covert exfiltration, or credential theft is visible, so no red line applies, but scoping and confirmation are incomplete. Write tools (mfp_add_food_to_diary, mfp_set_goals, mfp_set_measurement, mfp_set_water, mfp_delete_custom_food, mfp_remove_food_from_diary, fasting writes) carry no documented user-confirmation requirement, and destructive deletes are merely labeled irreversible rather than gated behind explicit confirmation. Credential handling has positives: optional Fernet encryption with MFP_SECRET_KEY held in the environment or OS keychain, and cookie files at 0700/0600. However browser-cookie extraction requires reading macOS keychain Safe Storage entries, a broad permission, and the legacy plaintext MFP_PASSWORD configuration is still documented with examples, putting the account password on disk in cleartext. Risks are visible but insufficiently contained, hence 8.
- Maintenance 10/20
- MIT license is present and the repository is not archived, with 53 stars and 7 open issues indicating real usage. But there is no evidence of releases, versioning policy, CHANGELOG, CI, or dependency-update process; the README states functionality depends on reverse-engineered private MFP endpoints that the author says already changed once, concentrating maintenance risk on a single undocumented interface, and no security-response channel is described. Anchoring at '10 = active but governance/versioning gaps', the score is 10.
- Documentation 14/20
- Documentation is the strongest dimension here: installation (venv, pip version requirements), four authentication methods with priority order and failure explanations, Claude Desktop config examples for macOS and Windows, a Docker mount example, full tool parameter tables, a carbs/country_code semantics table for custom foods, the write-only fasting design with the 405 explanation, and thorough troubleshooting (keychain dialog, Python version, missing module). It also discloses limits: no public MFP API, writes against undocumented endpoints, possible breakage. Deductions: some described paths diverge from the stated repo layout (src/mfp_mcp vs. module mfp_mcp), example clone URLs still use placeholder YOUR_USERNAME inconsistent with the real repository, no verifiable real run output is included, and the README itself is untrusted evidence with no external confirmation. Score 14.
- Setup experience 10/20
- Clear source-install steps, Claude Desktop configuration examples with absolute paths for macOS and Windows, and a Docker example are provided, and the mainstream auth path (log in via any Chromium browser, cookies auto-discovered) is convenient on macOS. Still largely manual and fragile: you must create a venv, pin Python 3.10–3.12 (3.13+ fails on lxml), need pip 21.3+, hand-edit JSON config, and restart the client; the encrypted option additionally needs Node.js 18+, npm install, and a keychain CLI. Platform support is uneven since auto-discovery is macOS-only. No CI or tests substantiate reproducibility; capped at 15 by static calibration, the score is 10.