RescueTime MCP Server
The RescueTime MCP Server gives Claude access to your RescueTime productivity data, enabling analysis of how you spend your time on your computer.
Get Today's Summary (
get_today_summary): Retrieve a complete productivity snapshot, including a productivity pulse score (0–100), total time logged, time breakdown by productivity level, and productive vs. distracting percentages.Get Productivity Trend (
get_productivity_trend): View your daily productivity pulse over the last N days (up to 14), with visual bars and averages to identify patterns over time.Get Activity Data (
get_activity_data): See the top apps and websites by time spent for a given date, ranked by duration, with productivity classifications for each.Get Category Breakdown (
get_category_breakdown): View time spent grouped into high-level categories (e.g., Software Development, Communication, Reference & Learning) for a specific date.Get Hourly Productivity (
get_hourly_productivity): Analyze productivity broken down by hour of the day to pinpoint peak productivity windows and optimize scheduling for deep work.
Provides access to RescueTime productivity data through tools for retrieving daily summaries, top activities, category breakdowns, and productivity trends.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@RescueTime MCP ServerHow productive was I yesterday?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
RescueTime MCP Server
A lightweight MCP server that gives Claude access to your RescueTime productivity data. Built with FastMCP.
Tools
Tool | Description |
| Productivity pulse, hours logged, productive vs. distracting time breakdown |
| Top apps/websites ranked by time spent |
| Time breakdown by category (Development, Communication, Social, etc.) |
| Productivity pulse trend over the past N days |
All tools accept a day parameter: "today", "yesterday", or "YYYY-MM-DD".
Related MCP server: RescueTime MCP Server
Install
Open Claude Code, paste:
/plugin marketplace add adelaidasofia/rescuetime-mcp
/plugin install rescuetime-mcp@rescuetime-mcpThen get a RescueTime API key at rescuetime.com/anapi/manage and set RESCUETIME_API_KEY in your environment.
1. Get your API key
Go to rescuetime.com/anapi/manage and create or copy an API key.
2. Install FastMCP
pipx install fastmcpOr with uv:
uv tool install fastmcp3. Add to Claude Code
claude mcp add rescuetime \
-e RESCUETIME_API_KEY=your_api_key_here \
-- fastmcp run /path/to/server.pyOr add manually to your .mcp.json:
{
"mcpServers": {
"rescuetime": {
"command": "fastmcp",
"args": ["run", "/path/to/server.py"],
"env": {
"RESCUETIME_API_KEY": "your_api_key_here"
}
}
}
}4. Restart Claude Code
The RescueTime tools should appear in your session.
Example Usage
Once connected, you can ask Claude things like:
"How productive was I today?"
"What apps did I spend the most time on yesterday?"
"Show me my productivity trend for the last 7 days"
"What categories did I spend time on this week?"
Requirements
Python 3.11+
FastMCP 3.x
A RescueTime account (free or premium)
RescueTime API key
How It Works
The server calls the RescueTime Analytic Data API using your API key and returns structured productivity data that Claude can reason about. No data is stored or sent anywhere except back to your Claude session.
Related MCPs
Same author, same architecture pattern (FastMCP, draft+confirm on writes where applicable, vault auto-export, MIT):
slack-mcp — multi-workspace Slack
imessage-mcp — macOS iMessage
whatsapp-mcp — WhatsApp via whatsmeow
google-workspace-mcp — Gmail / Calendar / Drive / Docs / Sheets
apollo-mcp — Apollo.io CRM + sequences
substack-mcp — Substack writing + analytics
luma-mcp — lu.ma events
parse-mcp — markitdown / Docling / LlamaParse router
graph-query-mcp — vault knowledge graph queries
graph-autotagger-mcp — wikilink suggestions from the graph
investor-relations-mcp — seed-raise pipeline tracker
vault-sync-mcp — bidirectional vault sync
Telemetry
This plugin sends a single anonymous install signal to myceliumai.co the first time it loads in a Claude Code session on a given machine.
What is sent:
Plugin name (e.g.
slack-mcp)Plugin version (e.g.
0.1.0)
What is NOT sent:
No user identifiers, names, emails, tokens, or API keys
No file paths, message content, or anything from your work
No IP address is stored after dedup processing
Why: Helps the maintainer know which plugins people actually install, so attention goes to the ones that get used.
Opt out: Set the environment variable MYCELIUM_NO_PING=1 before launching Claude Code. The hook will skip the network call entirely. Already-pinged installs leave a sentinel at ~/.mycelium/onboarded-<plugin> — delete it if you want to reset state.
License
MIT
Built by Mycelium AI. Full install or team version at diazroa.com.
Available Tools
5 toolsget_activity_dataA
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.
| Name | Required | Description | Default |
|---|---|---|---|
| date_str | No | today | |
| limit | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, and while the description indicates what the tool does, it does not explicitly state that the operation is read-only or disclose any potential side effects, rates, or auth requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured, front-loading the core purpose and providing necessary details without unnecessary verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an existing output schema and clear description of the output content (ranked activities with classification), the description is nearly complete. Missing is an explicit statement about the read-only nature.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description clearly explains both parameters: date_str with valid formats and limit with its meaning and default, adding value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves top activities/applications by time spent, with details on ranking and productivity classification, distinguishing it from siblings like get_category_breakdown.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool should be used to see top activities, but it does not explicitly state when to use this tool versus alternatives or provide when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_category_breakdownA
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.
| Name | Required | Description | Default |
|---|---|---|---|
| date_str | No | today |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must fully disclose behavior. It mentions return content but lacks details on side effects, auth, or error handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, front-loaded with the core action, and includes all necessary information without extra words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and no annotations, the description adequately explains what is returned but omits potential edge cases or additional behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description fully explains the date_str parameter with accepted formats and default, compensating for zero schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The tool's description clearly states it retrieves time spent by category, listing example categories and distinguishing it from siblings like get_activity_data or get_hourly_productivity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for a specific date but does not provide explicit when-to-use or alternative guidance compared to sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_hourly_productivityA
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.
| Name | Required | Description | Default |
|---|---|---|---|
| date_str | No | today |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does not disclose whether the operation is read-only (though implied by 'get'), whether any data is cached or real-time, or if special permissions are needed. The lack of explicit behavioral traits is a gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact: three sentences plus a parameter definition. The main purpose is stated first, followed by parameter clarification and a use-case sentence. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with output schema, the description need not explain return values. The single parameter is well-documented. However, it omits any comparison to sibling tools or prerequisites. Given simplicity, it is largely complete but could explicitly contrast with get_activity_data or get_productivity_trend.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% coverage with no description for date_str, but the description adds: 'Date to query - 'today', 'yesterday', or 'YYYY-MM-DD''. This provides valid formats and enumerations beyond the schema's type and default, fully compensating for the lack of schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get productivity breakdown by hour' and 'Shows when during the day you were most/least productive'. The verb 'Get' and resource 'productivity breakdown by hour' are specific. It distinguishes from sibling tools like get_activity_data or get_productivity_trend by focusing on hourly granularity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes 'Useful for identifying peak productivity hours and scheduling deep work', which provides a clear use case. It does not explicitly state when not to use this tool or mention alternatives, but the given context is sufficient for guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_productivity_trendB
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.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavioral traits. It mentions that the output includes 'visual bars and calculates averages,' but does not describe data sources, update frequency, permissions, or side effects. This is minimal context for a tool that likely produces a visual response.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with four sentences. The first sentence states the purpose, followed by a structured argument explanation, then two sentences on output and usage. There is no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has an output schema, the description does not need to detail return values, but it does mention visual bars and averages. The single parameter is well-documented. It lacks information on data freshness or timezone handling, but overall it is sufficiently complete for a simple trend tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage, so the description compensates by explaining the 'days' parameter: 'Number of days to look back (default: 7, max 14).' This adds constraints and meaning beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool retrieves a productivity trend for a specified number of days, using a specific verb ('Get') and resource ('productivity pulse trend'). It provides context about daily pulse and averages, but does not explicitly differentiate from sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description suggests it is 'useful for identifying patterns and trends over time,' which implies a usage scenario. However, it does not provide explicit guidance on when not to use it or mention alternative tools among the siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_today_summaryA
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
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses the output but omits behavioral traits like read-only nature, frequency limits, or authentication needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short paragraphs, front-loaded with purpose, then bullet-style list of returns. Every sentence is informative and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given an output schema exists (context signal), the description suffices by listing key outputs. No other details needed for a parameterless daily summary tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameters (0), so baseline is 4. The description adds no parameter info, which is acceptable as none exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it gets today's complete RescueTime productivity summary, lists specific return items, and positions itself as the 'recommended daily check-in tool', distinguishing it from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly recommends this tool for daily check-in but does not provide explicit when-not-to-use guidance or alternatives, though sibling tools imply different scopes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
5 tool updates
v0.1.0- First observed
get_activity_data - First observed
get_category_breakdown - First observed
get_hourly_productivity - First observed
get_productivity_trend - First observed
get_today_summary
TDQS
Each tool has a clearly distinct focus: activity details, category aggregation, hourly productivity, trend over days, and a comprehensive daily summary. No overlap between tools.
All tools follow a consistent 'get_<descriptive_noun>' pattern with snake_case, making it predictable for an agent to infer function from name.
Five tools is well-scoped for a personal productivity monitoring server, covering key aspects without unnecessary complexity or missing essentials.
The tool set covers daily summary, detailed activities, categories, hourly breakdown, and trends. Minor gaps like historical data export or multi-day comparison are acceptable.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
WHOOP recovery, strain, sleep and workouts in Claude via official WHOOP OAuth. Free, open source.
Connect Claude to your Intervals.icu watch data for fitness, workout review, and plan writing.
Connect Claude to Fathom meeting recordings, transcripts, and summaries
Garmin data in Claude: 135 tools — activities, sleep, HRV, training, workouts. Free, open source.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables comprehensive access to RescueTime productivity data and features through the Model Context Protocol. Supports analytics retrieval, focus session management, highlights creation, and offline time tracking through natural language interactions.10MIT
- FlicenseAqualityCmaintenanceProvides access to RescueTime productivity data including daily summaries, activity tracking, productivity trends, category breakdowns, and hourly analysis to help understand and optimize time usage patterns.53-
- AlicenseNot gradedqualityCmaintenanceEnables Claude to read your Whoop recovery, sleep, cycle, and workout data through natural language queries.163MIT
- AlicenseAqualityCmaintenanceEnables Claude to manage ATimeLogger time tracking: start/stop/pause activities, log intervals, and get reports via natural language.108612MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/adelaidasofia/rescuetime-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server