get_today_summary
Retrieve today's RescueTime productivity summary including pulse score, time logged, and breakdowns to analyze daily work patterns.
Instructions
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
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/rescuetime_mcp/server.py:45-92 (handler)Handler function decorated with @mcp.tool() which registers and implements the get_today_summary tool. Fetches daily summary data from RescueTimeClient and formats a detailed productivity report including pulse score, time breakdowns by productivity levels, and visual elements.@mcp.tool() async def get_today_summary() -> str: """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 """ try: client = RescueTimeClient() summaries = await client.get_daily_summary() if not summaries: return "No data available yet for today." today = summaries[0] lines = ["=== RescueTime Daily Summary ===", f"Date: {today.date}", ""] # Productivity pulse pulse = today.productivity_pulse lines.append("PRODUCTIVITY PULSE") lines.append(f" {productivity_bar(pulse)} {pulse:.0f}/100") lines.append("") # Time summary lines.append("TIME LOGGED") lines.append(f" Total: {today.total_duration_formatted}") lines.append(f" Productive: {today.all_productive_duration_formatted} ({today.all_productive_percentage:.0f}%)") lines.append(f" Distracting: {today.all_distracting_duration_formatted} ({today.all_distracting_percentage:.0f}%)") lines.append("") # Breakdown lines.append("BREAKDOWN") lines.append(f" Very Productive: {today.very_productive_duration_formatted}") lines.append(f" Productive: {today.productive_duration_formatted}") lines.append(f" Neutral: {today.neutral_duration_formatted}") lines.append(f" Distracting: {today.distracting_duration_formatted}") lines.append(f" Very Distracting:{today.very_distracting_duration_formatted}") return "\n".join(lines) except RescueTimeAuthError as e: return f"Authentication error: {e}" except RescueTimeAPIError as e: return f"API error: {e}"