# RescueTime MCP

> RescueTime connects deep productivity metrics and focus management directly to your AI agent. It lets you query historical time usage, track specific projects, start immediate focus blocks, and get daily summaries—all without leaving your chat interface. Stop manually crunching CSVs; just ask the agent for a performance report.

## Overview
- **Category:** productivity
- **Price:** Free
- **Tags:** time-tracking, productivity-metrics, focus-mode, activity-analysis, work-life-balance

## Description

You're gonna connect your **RescueTime** account right into your AI agent. This server gives you total control over your time data, letting you track focus metrics and analyze exactly where you spend your hours—all without leaving your chat interface. Forget manually crunching CSVs or jumping between tabs; you just ask the agent for a report.

### Analyzing Your Time and Productivity Metrics

You can run deep historical dives into your productivity using `get_analytic_data`, letting you query detailed metrics across specific date ranges and even break down activity by category. Need to see what score you're generating? The agent handles that via `get_overviews` and pulls context from defined productivities through `get_productivities`. You can also get a top-level view of your entire profile using `get_overview_tree`, which includes details on any score overrides you've set up. For account setup, the server lets you check high-level settings with `get_accounts` and see who manages the structure via `get_organizations`. You can also get basic info on yourself or other team members using `get_users` or `get_managed_users`. If you need to know what time blocks were logged by different machines, run `get_devices`.

### Mastering Focus and Deep Work Blocks

The server gives you robust control over your deep work periods. You can initiate a global focus session using `start_focus_session`, signaling that it's time for zero distractions. If you need more time in that zone, you can extend the current block with `extend_focus_session`. When you wrap up, or if something changes, you end the active period via `end_focus_time` or by using `cancel_or_stop_focus_session`. The agent logs every session start and stop for you—you get feeds of when focus time started (`get_focustime_started_feed`) and when it ended (`get_focustime_ended_feed`), plus a list of all previous sessions through `get_focus_sessions`. You'll also see when you worked offline, logging general blocks that aren't tied to a specific app using `add_offline_focus_work` or the premium `post_offline_time`.

### Logging and Structuring Your Workday

The agent handles all the time entries RescueTime missed. You can manually add time for non-core jobs, like unexpected client calls, by running `create_extra_work`. If you need to attribute a specific block of time—say, a consulting gig or a side project—you use `log_project_time` to record it against a defined project or task. You'll find that the server helps keep everything clean: if two work blocks butt right up against each other, you can merge them into one continuous entry with `merge_project_time`. For planning, you initialize new projects with `create_project`, list all existing ones via `get_projects`, or move an entire project to archive status using `archive_project`.

### Tracking Goals and Managing Tasks

Want to know if you're hitting your targets? You set objectives by calling `create_goal` and then check progress with `get_goals`. The server also tracks the tasks linked to those projects through `get_tasks`, giving you a clear picture of where your efforts are focused. If there’s something specific happening on your calendar, the agent pulls that in for context using `get_calendar_events` or filtering strictly for meetings with `get_meeting_events`. You can also see all team groups you belong to via `get_teams`, and if you're managing staff, you can view details about them through `get_managed_users`.

### Daily Overviews and Alerts System

Getting a quick read on your day is simple. The agent pulls the high-level rollup of time logged for today using `get_daily_summary_feed`. For team environments, you can get pre-calculated daily summaries for multiple users with `get_daily_user_summaries`. You're always notified about critical items; you set up custom alerts by calling `create_alert`, and the agent lets you review them all using `get_alerts` or check the real-time feed through `get_alerts_feed`. The system also keeps track of your notifications, letting you count unread messages with `get_web_notification_counts` or view them directly via `get_web_notifications`. For cleanup, if you need to delete large chunks of historical time data for a specific date range, run `delete_timeline_activities`, and when the day is done, you can lock the timesheet using `toggle_timesheet_finalized`.

## Tools

### add_offline_focus_work
Logs time spent in focus mode when you weren't actively using a tracked application.

### archive_project
Moves a project into an archived state or restores it to active status.

### cancel_or_stop_focus_session
Ends the current active focus session early.

### create_alert
Sets a custom alert that notifies you when certain criteria are met.

### create_extra_work
Manually adds a time entry for non-core work tasks, like unexpected calls or admin duties.

### create_goal
Sets a measurable objective you want to track your progress toward.

### create_project
Initializes a new project record within RescueTime.

### delete_timeline_activities
Removes bulk tracked time entries for a specified date range.

### end_focus_time
Stops the active focus session (Premium feature).

### extend_focus_session
Increases the duration of a currently running Focus Session.

### get_accounts
Retrieves high-level information about account settings and permissions.

### get_alerts
Lists all active, user-defined alerts you have set up.

### get_alerts_feed
Fetches a running log of recently triggered custom alerts.

### get_analytic_data
Queries detailed historical data and productivity metrics for analysis.

### get_calendar_events
Lists calendar events synchronized with your RescueTime account.

### get_categories
Retrieves a list of all recognized activity categories.

### get_daily_summary_feed
Gets a high-level, pre-computed rollup of time logged for the day.

### get_daily_user_summaries
Fetches pre-calculated daily summaries for multiple users in a team.

### get_devices
Lists all user machines (laptops, desktops) that have reported activity time.

### get_extra_works
Retrieves a list of manually created extra-work time entries.

### get_focus_sessions
Lists all persistent records and details about past focus sessions.

### get_focustime_ended_feed
Provides a log feed of all concluded Focus Sessions.

### get_focustime_started_feed
Provides a log feed of when Focus Sessions were initiated.

### get_goals
Retrieves the details and current status of defined goals.

### get_highlights_feed
Gets a premium feed showing your key productivity achievements for the day.

### get_managed_users
Lists all team members that you manage or oversee access for.

### get_meeting_events
Filters and lists events specifically classified as meetings from your calendar sync.

### get_organizations
Retrieves details about the organizational structure associated with the account.

### get_overview_tree
Pulls a personalized hierarchy view of activity data, including score overrides.

### get_overviews
Lists the top-level categories or buckets for your overall activity profile.

### get_productivities
Retrieves definitions and types of productivity scores available in the system.

### get_profile_entities
Lists settings where you have customized category or score overrides per account.

### get_projects
Retrieves a list of all defined projects and their current status.

### get_schedules
Lists your configured work schedules and availability times.

### get_tasks
Retrieves a list of tasks associated with projects or accounts.

### get_teams
Lists all team groups that the current user belongs to.

### get_timeline_activities
Fetches a normalized stream of activity data for a specific day.

### get_user_settings
Retrieves user-specific settings that can be written to via the API.

### get_users
Fetches basic information and details about the current logged-in user.

### get_web_notification_counts
Checks the number of read or unread notifications in the system.

### get_web_notifications
Lists all recent in-app notification messages.

### log_project_time
Records a specific block of time and attributes it to a named project or task.

### merge_project_time
Combines two adjacent, separate time entries into one continuous record.

### opt_in_beta
Changes your status regarding participation in beta feature testing.

### post_highlight
Creates a new daily highlight entry (Premium feature).

### post_offline_time
Logs general offline time blocks, excluding specific projects (Premium feature).

### register_live_activity
Registers push tokens required for Apple Live-Activity notifications.

### start_focus_session
Initiates a global focus session, signaling deep work time to the system.

### start_focus_time
Triggers a specific Focus Session period (Premium feature).

### start_focus_zone
Begins a designated 'Do Not Disturb' block for deep work.

### toggle_timesheet_finalized
Marks a specific date as finalized, locking the timesheet data from further changes.

### update_user
Modifies your personal profile details or settings within RescueTime.

### update_web_notification
Marks an existing notification as read or dismisses it entirely.

### upsert_profile_entity
Updates or creates a custom activity score override for a specific application or site.

## Prompt Examples

**Prompt:** 
```
Show me my productivity summary for the last 7 days.
```

**Response:** 
```
I've retrieved your daily summary feed. Over the last week, your average productivity pulse was 72. Your most productive day was Tuesday, with 6 hours of focused work logged.
```

**Prompt:** 
```
Start a 45-minute Focus Session for me.
```

**Response:** 
```
Focus Session started! I've triggered a 45-minute session via RescueTime. Distractions are now blocked so you can stay in the zone. Good luck!
```

**Prompt:** 
```
What were my top 5 most distracting activities yesterday?
```

**Response:** 
```
Analyzing your activity data... Yesterday, your top distractions were: 1. YouTube (45m), 2. Twitter (30m), 3. News sites (20m), 4. Personal Email (15m), and 5. Reddit (10m).
```

## Capabilities

### Query productivity metrics
Ask for historical activity data, category breakdowns, and efficiency reports using `get_analytic_data`.

### Manage focus blocks
Start or end an active Focus Session to block distractions; you can also extend the current duration with `extend_focus_session`.

### Log manual time entries
Record activity that RescueTime didn't track, such as meetings (`create_extra_work`) or exercise (`add_offline_focus_work`).

### Retrieve daily summaries
Get a high-level summary of your day’s logged time and productivity pulse using `get_daily_summary_feed`.

### Manage projects and goals
List existing projects (`get_projects`), create new ones (`create_project`), or check progress against set objectives (`get_goals`).

## Use Cases

### Client billing review
A consultant finishes a week of diverse tasks. Instead of logging into RescueTime, exporting data, and manually calculating billable time, they ask their agent: 'Pull all logged time for Project Chimera this week.' The agent runs `get_analytic_data` and returns the total hours segmented by category, ready to copy directly onto an invoice.

### Deep work interruption
A developer is in flow state but gets distracted by a chat message. They immediately tell their agent: 'I need 60 minutes of uninterrupted focus.' The agent executes `start_focus_session`, triggering the DND block and providing immediate confirmation, letting them get back to code.

### Tracking non-work time
A manager realizes they forgot to log a two-hour personal development session. Instead of trying to remember which project it relates to, they use `add_offline_focus_work` and tag the entry as 'Professional Development', keeping their records complete.

### Team accountability check
A team lead needs to know if a junior dev is hitting his assigned objectives. He asks: 'Check out John's progress on Goal X.' The agent runs `get_goals` and reports back the current status, eliminating the need for manual dashboard review.

## Benefits

- Stop manual reporting. Instead of exporting CSVs and spending an hour in Excel to calculate last week's focus hours, just ask the agent: 'What was my average productivity score for Q3?' The agent uses `get_analytic_data` and gives you a single number.
- Maintain deep work flow without interruption. When you need 90 minutes of concentration, trigger it with `start_focus_session`. Your AI client handles the block, so you don't have to remember to turn off notifications or manually start a timer.
- Keep your billing accurate even when you’re offline. If you spend an hour in a meeting that doesn't use tracked apps, you just call `add_offline_focus_work` and log the time against the correct project using `log_project_time`. No more guessing on invoices.
- Get instant daily performance summaries. You don’t need to visit the dashboard every morning. A simple prompt gets the agent to run `get_daily_summary_feed`, giving you a clean, concise report of your logged time and productivity pulse right in chat.
- Keep track of progress toward big goals. Instead of just seeing raw data, you can check if you’re hitting targets by calling `get_goals`. This tells you if the work you've done is actually moving the needle.

## How It Works

The bottom line is that you talk to your AI client like talking to a colleague who already has access to all your work logs.

1. Subscribe to the server and give your API Key. The AI agent connects this key to your RescueTime account.
2. You prompt the agent with a request (e.g., 'What was my productivity last Tuesday?').
3. The agent identifies the necessary tool (`get_analytic_data`), runs it, receives structured data, and replies in plain English.

## Frequently Asked Questions

**How do I check my productivity summary using get_daily_summary_feed?**
The agent runs `get_daily_summary_feed` and gives you a high-level overview of time logged for the day. It's great for quickly seeing your overall pulse without diving into specific activity types.

**Can I log time against a project using log_project_time?**
Yes, that's exactly what it does. You tell the agent which project and how long you worked, and it creates a dedicated entry using `log_project_time`.

**How do I start a focus session with start_focus_session?**
You just ask the agent to start one. It triggers the global Focus Session via `start_focus_session`, immediately blocking distractions so you can get back to work.

**What is the difference between add_offline_focus_work and create_extra_work?**
Use `add_offline_focus_work` for general, non-project time blocks (like reading or personal admin). Use `create_extra_work` when you need to log a specific type of task that is related to project work.

**Does get_analytic_data track team members?**
It tracks activity data, and if your account supports it, the agent can query summaries for managed users using `get_managed_users` before running the analysis.

**If I have multiple time entries for the same block of work, how do I use `merge_project_time`?**
It automatically combines adjacent time blocks into one entry. Use this tool when your activity log shows several small logs for a single continuous task; merging them keeps your data clean and accurate.

**How do I check the defined scope of my work using `get_projects`?**
This function lists all your configured projects. You can use this list to see the top-level containers for your logged time, helping you understand where different types of activity are categorized.

**What is the specific process for stopping an active focus session using `cancel_or_stop_focus_session`?**
It immediately ends the current Focus Session and logs the termination event. This tool lets you manually stop a work block when your priorities shift, ensuring accurate time records.

**Can I start a Focus Session directly from the chat?**
Yes! Use the `start_focus_time` tool and specify the duration in minutes. Your agent will trigger the session to block distracting websites and apps immediately.

**How do I see my top productivity categories for yesterday?**
You can ask the agent to run `get_analytic_data` with `restrict_kind` set to 'category' and the dates set to yesterday. It will return a ranked list of where your time went.

**Is it possible to log achievements or daily wins?**
Absolutely. Use the `post_highlight` tool to record a description of what you accomplished. You can later retrieve these using `get_highlights_feed`.