Women's health management MCP server for ChatGPT integration. Provides tools for tracking daily health records, menstrual cycles, and hormone test results.
Healthcare MCP server with 7 tools targeting women's health tracking (menstrual cycles, hormone tests, daily health records). Tool naming is consistently verb-based (get_, record_) and clear. All tools have descriptions (100-200 chars, within baseline). Input schemas are present and typed for all tools with proper enum constraints (e.g., symptom codes, test types, hormone types). Output schemas are NOT documented in the source code, the server definition shows input schemas but no return type documentation. Parameter descriptions are present but vary in quality; some are minimal (e.g., 'Array of symptom codes' lacks context on when/why to use). Error handling is not visible in the source excerpt. Security: no exposed credentials in tool definitions; OAuth provider present suggests proper auth gating. Tool composition is reasonable, separate read/write tools for each domain (daily health, menstrual, hormone). No evidence of idempotency markers or confirmation steps for destructive operations.
Retrieve daily health records including body metrics, temperature, and symptoms. Returns records sorted by date (newest first).
Retrieve hormone test results. Filter by test type (PREGNANCY, OVULATION, MENOPAUSE, DUO) and date range.
Get menstrual cycle statistics including average cycle length, period duration, and next period prediction.
Retrieve menstrual period records. Returns period start/end dates, duration, and cycle length.
Record daily health information including body metrics (weight, height), basal body temperature, and symptoms.
Record a new hormone test result. Specify the test type and hormone levels detected.
Output schemas not documented. No visible return type definitions for any tool. LLMs cannot plan downstream operations or know what fields to expect. Violates pattern:tool and pattern:response-shaper.
get_menstrual_cycle_stats accepts empty input object {} with no parameters. Unclear what filters or options are available. Description does not explain what 'average cycle length' and 'next period prediction' algorithms assume (e.g., minimum history required, prediction confidence).
record_daily_health and record_menstrual_period lack explicit idempotency markers or confirmation steps. Writing sensitive health data (especially menstrual period records) without dry-run or duplication guards risks accidental data corruption on retry. Violates pattern:confirmation-request.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | 2026-07-28+ | v2 |
Record a new menstrual period. The system will calculate duration and cycle length automatically.
Parameter descriptions for enum values are terse. E.g., 'Array of symptom codes: CRAMPS, HEADACHE, BLOATING, FATIGUE, MOOD_SWINGS, BREAST_TENDERNESS, ACNE, BACKACHE, NAUSEA, INSOMNIA, HOT_FLASHES, SPOTTING' lacks context on when/how to collect these or what they mean clinically. Violates pattern:tool-description (describe WHAT, WHEN, prerequisites).
No pagination or limit support for list tools. get_daily_health_records and get_menstrual_periods may return unlimited results, risking context window exhaustion. Violates pattern:paginated-result.
Error handling behavior is not visible in source. No recovery guidance documented. If a date format is invalid or a hormone level out of range [0, 5], unclear how errors are reported and what the LLM should do next. Violates pattern:recovery-guide.