MCP server for NOOP health/fitness data platform with delta sync support via liters
19 tools with mixed quality. Most have basic descriptions (10-50 chars) and minimal parameter documentation. 13 tools lack input schemas entirely (health_snapshot, data_freshness, list_pending, request_sync, etc.). Tools with schemas (metric_series, sleep_summary, workout_summary, etc.) show proper JSON Schema structure with type and description fields. Naming follows verb_noun pattern (get_, list_, propose_, confirm_) but descriptions are often too terse to guide LLM selection. No tool annotations (readOnlyHint/destructiveHint) despite clear risk classifications. Output schemas undocumented across all tools. Error handling and recovery guidance absent.
Compare health data from multiple sources
Confirm a pending edit proposal (read-write scope only)
Returns information about data freshness and last sync time
Query coverage of deep buffer archive by time window
Fetch deep buffer data for a time window
Query the edit journal for applied edits
Fetch specific health data records
Returns current health metrics snapshot
6 tools (health_snapshot, data_freshness, list_pending, request_sync, and 2 others) have NO input schema visible in source.
Descriptions are uniformly terse (10-50 chars). Rubric baseline is 194 chars average; these lack context for LLM selection. E.g. 'Returns current health metrics snapshot' does not explain WHEN to call it vs data_freshness, or what fields are returned.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk classifications. propose_edit, confirm_edit, reject_edit, request_sync are WRITE operations but lack destructiveHint annotation.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 48 | 2026-07-28+ | v2 |
Get heart rate time series data
List annotations from the edit journal
List pending edit proposals
Query metric time series data
Propose an edit to health data
Reject a pending edit proposal (read-write scope only)
Request a sync with the phone device
Search health data by query
Get detailed sleep stage data
Get sleep summary data for a date range
Get workout summary data for a date range
Output schemas undocumented for all 19 tools. LLMs cannot plan downstream calls or extract required fields without knowing what each tool returns. E.g. does metric_series return timestamps, values, units?
No error handling guidance. Tools like search and fetch accept free-form strings (query, recordId) with no validation rules, format constraints, or recovery hints. Invalid input will fail silently.