Model Context Protocol (MCP) server for WHOOP, served over stdio
Critical failures across all 14 tools. Descriptions are present but generic (10-50 chars), below the 50-200 char baseline for LLM-optimized docs. No parameter descriptions exist because no parameters are defined. Tools lack context on what IDs they accept, what data they return, pagination support, or error recovery paths. The server reads from WHOOP API but exposes no schema documentation of responses. This is a skeleton implementation with no production-grade tool definitions.
Get the user's body measurements from WHOOP
Get details of a specific WHOOP cycle
Get recovery data for a specific WHOOP cycle
Get sleep data for a specific WHOOP cycle
Get the user's WHOOP profile information
Get a summary of WHOOP recovery data
Get details of a specific WHOOP sleep record
Get a summary of WHOOP sleep data
All 14 tools have empty input schemas ({}). LLMs cannot determine what parameters to pass, what types are expected, or what constraints apply.
Descriptions are 10-50 characters (e.g., 'Get the user's WHOOP profile information'). Baseline for LLM-optimized descriptions is 50-200 chars. Current descriptions lack context on when to use each tool, what data is returned, dependencies, or error recovery.
Inferred effective spec: 2026-07-28+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 38 | 2026-07-28+ | v2 |
Get today's WHOOP snapshot including cycle, recovery, and sleep data
Get details of a specific WHOOP workout
List WHOOP cycles for the user
List WHOOP recovery records for the user
List WHOOP sleep records for the user
List WHOOP workout records for the user
No output schemas documented. LLMs cannot plan downstream tool calls or extract required fields (e.g., cycle_id, sleep_id) for chaining. Responses are opaque.
List tools (list_cycles, list_sleeps, list_recoveries, list_workouts) have no pagination parameters visible. No limit, offset, page_size, or cursor parameters defined. Large result sets will blow context windows.
Tools like get_cycle, get_sleep, get_workout accept no visible parameters. LLMs cannot specify which cycle/sleep/workout to retrieve. Unclear if these tools require IDs, dates, or other identifiers.