Server has 5 tools with basic descriptions and some parameter documentation, but significant gaps in schema completeness, parameter descriptions, and error handling. Tool names are action-oriented (get_*, positive). However, input schemas are incomplete or missing for several tools, descriptions lack LLM-optimization guidance, and no output schemas are documented. Error handling is minimal. The codebase shows two different implementations (server.py variants) with inconsistent tool signatures, suggesting incomplete refactoring. Security is good (SSRF hardening via mycelium-security), but definition quality falls short of production standards.
Get top activities/applications by time spent. Args: date_str: Date to query - 'today', 'yesterday', or 'YYYY-MM-DD' limit: Maximum number of activities to show (default: 10) Shows which specific applications and websites you spent time on, ranked by duration. Includes productivity classification for each.
Get time spent by category. Args: date_str: Date to query - 'today', 'yesterday', or 'YYYY-MM-DD' Shows high-level categories like Software Development, Communication, Reference & Learning, etc. with time and productivity classification.
Get productivity breakdown by hour. Args: date_str: Date to query - 'today', 'yesterday', or 'YYYY-MM-DD' Shows when during the day you were most/least productive. Useful for identifying peak productivity hours and scheduling deep work.
Get productivity pulse trend for the last N days. Args: days: Number of days to look back (default: 7, max 14) Shows the daily productivity pulse with visual bars and calculates averages. Useful for identifying patterns and trends over time.
Output schemas not documented. Tools return dicts/lists but LLMs cannot infer field names, types, or structure. Downstream tool chaining and field extraction become error-prone.
get_today_summary has empty input schema ({}). No parameters documented, yet description mentions 'daily check-in' without explaining when/why to call it vs other tools.
Parameter descriptions lack actionable constraints. 'Number of days to look back (default: 7, max 14)' is present but no minimum stated; 'Date to query' lacks format guidance (ISO 8601 vs other formats unclear).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 61 | 2026-07-28+ | v2 |
Get today's complete RescueTime productivity summary. This is the recommended daily check-in tool. Returns: - Productivity pulse (0-100 score) - Total time logged - Time breakdown by productivity level - Productive vs distracting percentages
Error handling is minimal. No recovery guidance. If API returns no data or auth fails, LLM receives raw error dict with no actionable next steps (e.g., 'Try again later' vs 'Check API key').
Two conflicting server.py implementations in repo (root and src/rescuetime_mcp/). Tool signatures differ (get_daily_summary vs get_today_summary, get_top_activities vs get_activity_data). Unclear which is canonical; suggests incomplete refactoring.