Biorhythm API with 10 cycle types. Daily, forecast, critical days, compatibility. Working code samples.
Single tool 'getDailyBiorhythm' has a reasonable description (145 chars, within 10-1024 range) and clear parameter descriptions. However, the tool lacks a documented output schema, the response structure is inferred only from example.ts/example.js/example.py usage. No error handling guidance, no recovery paths, and no indication of what fields the LLM should expect in the response. The tool is read-only (good), but the definition is incomplete for production use. Parameter schema is present with types and descriptions, meeting baseline requirements. Overall definition quality is below median due to missing output documentation and error handling.
Daily biorhythm check-in: returns energy rating, overall phase, and primary cycle values. Uses seeded randomness so the same user gets the same reading on the same date.
No documented output schema. Response structure inferred only from example code (date, energyRating, overallPhase, quickRead, spotlight, advice, etc.). LLMs cannot plan downstream operations or extract fields without explicit schema documentation.
No error handling guidance. Tool description does not explain what happens on invalid date format, missing seed, API failures, or rate limits. LLM has no recovery path if the call fails.
Parameter 'date' lacks format validation details. Description says 'YYYY-MM-DD format' but does not specify valid date range, whether past/future dates are allowed, or what happens with invalid dates (e.g., 2026-02-30).
Tool name 'getDailyBiorhythm' uses camelCase instead of snake_case verb_noun convention. Standard MCP tools use 'get_daily_biorhythm'. This inconsistency may confuse LLM tool selection logic.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 43 | 2026-07-28+ | v2 |