MCP server for WakaTime API integration, providing access to coding activity summaries and time tracking data
Two tools with basic schemas and descriptions, but significant gaps in parameter documentation and output schema clarity. Tool names lack action verbs (wakatime_summaries, wakatime_today are noun-heavy). Descriptions are present but minimal (Japanese text, ~50-80 chars). Parameter descriptions exist but lack format constraints, ranges, and validation guidance. No documented output schema. Error handling is minimal, API errors are raised as generic RuntimeError with no recovery guidance. No tool annotations (readOnlyHint, etc.). Composition is reasonable (two distinct read-only operations), but parameter naming could be clearer (e.g., 'timezone' vs 'tz' inconsistency in implementation).
WakaTime Summaries API を叩き、指定期間の日次サマリ(JSON)を返します。
今日のサマリ(JSON)を返します(Asia/Tokyo をデフォルトにします)。
Tool names lack action verbs. 'wakatime_summaries' and 'wakatime_today' are noun-based; should be 'get_wakatime_summaries' and 'get_wakatime_today' to signal retrieval action to LLMs.
Parameter descriptions lack format constraints and validation rules. 'start' and 'end' say 'YYYY-MM-DD' but do not specify range, whether past dates are allowed, or what happens if start > end. 'timezone' example 'Asia/Tokyo' is not a constraint, should document valid IANA timezone format.
No documented output schema. Tools return raw JSON from WakaTime API (res.body as string). LLMs cannot plan downstream operations without knowing response structure (fields, types, nesting). Document: returns JSON object with 'data' array containing daily summaries with 'grand_total' and 'projects' fields.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 45 | 2026-07-28+ | v2 |
Error handling is generic. RuntimeError with API status code and body is not actionable for LLMs. Should categorize errors (auth failure → 'check WAKATIME_API_KEY', invalid date range → 'ensure start <= end', rate limit → 'retry after 60s') and provide recovery guidance.
No tool annotations. Tools are read-only but lack readOnlyHint annotation. This prevents agents from understanding idempotency and safety, risking unnecessary retry logic or incorrect composition assumptions.