Provides comprehensive access to RescueTime's productivity tracking APIs, enabling retrieval of analytic data, daily summaries, alerts management, highlights creation, focus session control, and offline time logging for productivity monitoring and management.
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 Servershow me my productivity score for today"
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 comprehensive FastMCP server for integrating with the RescueTime API, providing tools to access productivity data, manage focus sessions, and interact with all RescueTime features through the Model Context Protocol (MCP).
Quick Start (macOS)
Follow these steps in order to get RescueTime MCP working with Claude Desktop:
Step 1: Get Your RescueTime API Key
Log in to your RescueTime account
Go to https://www.rescuetime.com/anapi/manage
Generate or copy your existing API key (you'll need this for Step 3)
Step 2: Clone and Set Up the Project
# Clone the repository
git clone https://github.com/ebowman/rescuetime-mcp.git
cd rescuetime-mcp
# Create and activate virtual environment
python3 -m venv venv
source venv/bin/activate
# Install dependencies
pip install -r requirements.txt
# Install the package in editable mode
pip install -e .Step 3: Create Your Configuration File
Create a .env file in the project root with your API key:
echo "RESCUETIME_API_KEY=your_api_key_here" > .envReplace your_api_key_here with your actual RescueTime API key from Step 1.
Step 4: Note Your Installation Path
# Get the full path to your installation (you'll need this for Step 5)
pwd
# This will output something like: /Users/yourname/projects/rescuetime-mcpStep 5: Configure Claude Desktop
Open your Claude Desktop configuration file:
open ~/Library/Application\ Support/Claude/claude_desktop_config.jsonAdd this configuration, replacing /path/from/step4 with your actual path:
{
"mcpServers": {
"rescuetime": {
"command": "/path/from/step4/venv/bin/python",
"args": ["-m", "rescuetime_mcp.server"]
}
}
}For example, if your path from Step 4 was /Users/john/projects/rescuetime-mcp, your config would look like:
{
"mcpServers": {
"rescuetime": {
"command": "/Users/john/projects/rescuetime-mcp/venv/bin/python",
"args": ["-m", "rescuetime_mcp.server"]
}
}
}Step 6: Restart Claude Desktop
Quit Claude Desktop completely and restart it.
Step 7: Test It Works
In Claude Desktop, try asking:
"Check my RescueTime productivity data for today"
"Start a 25-minute focus session"
"Show me my daily productivity summary"
If Claude can access your RescueTime data, you're all set!
Related MCP server: Analytical MCP Server
Available Commands in Claude
Once configured, you can ask Claude to:
Core Functions
Get productivity data: "Show me my RescueTime data for the last week"
Daily summaries: "Get my daily productivity summary" (Note: Has ~24 hour delay, returns previous days only)
Manage alerts: "Show me my RescueTime alerts"
Create highlights: "Add a highlight for completing the project presentation"
Focus sessions: "Start a 45-minute focus session" or "End my focus session"
Log offline time: "Log 2 hours of offline coding work"
Check status: "Is my focus session still active?"
Convenience Functions
Today's productivity score: "What's my productivity score today?" (Real-time data)
Top distractions: "Show me my top distracting activities today"
Latest daily summary: "Get the most recent daily summary" (Usually yesterday's data)
Features
Complete RescueTime API Coverage: Access all major RescueTime APIs including analytic data, daily summaries, alerts, highlights, focus sessions, and offline time tracking
FastMCP Integration: Built on the FastMCP framework for robust MCP server functionality
Async Support: Full asynchronous support for high-performance operations
Type Safety: Comprehensive type hints and Pydantic models for data validation
Error Handling: Robust error handling with custom exceptions and logging
Advanced Configuration
Alternative API Key Methods
While the .env file is recommended, you can also:
Set in Claude Desktop config (if you prefer not to use .env):
{
"mcpServers": {
"rescuetime": {
"command": "/path/to/venv/bin/python",
"args": ["-m", "rescuetime_mcp.server"],
"env": {
"RESCUETIME_API_KEY": "your_api_key_here"
}
}
}
}Use system environment variable:
export RESCUETIME_API_KEY="your_api_key_here"Windows Installation
The steps are similar, but use:
python -m venv venvinstead ofpython3venv\Scripts\activateinstead ofsource venv/bin/activateConfig file location:
%APPDATA%\Claude\claude_desktop_config.json
Development
Running Tests
# Activate virtual environment first
source venv/bin/activate
# Run all tests
pytest
# Run with coverage
pytest --cov=rescuetime_mcp --cov-report=html
# Run integration tests (requires real API key)
export RESCUETIME_API_KEY_REAL="your_real_api_key"
pytest tests/test_integration.py -m integrationCode Quality
# Format code
black src tests
# Sort imports
isort src tests
# Lint code
ruff check src tests
# Type checking
mypy srcProject Structure
rescuetime-mcp/
├── src/rescuetime_mcp/
│ ├── __init__.py # Package initialization
│ ├── client.py # RescueTime API client
│ └── server.py # FastMCP server implementation
├── tests/
│ ├── conftest.py # Test configuration
│ ├── test_client.py # Client tests
│ ├── test_server.py # Server tests
│ └── test_integration.py # Integration tests
└── pyproject.toml # Project configurationContributing
See CONTRIBUTING.md for development setup, code standards, and contribution guidelines.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Copyright © 2025 Eric Bowman
Acknowledgments
Built with FastMCP framework
Uses RescueTime API
Powered by Pydantic for data validation
HTTP client powered by httpx
Special thanks to the FastMCP community and RescueTime for providing robust APIs.
Support
Getting Help
Documentation: This README and inline code documentation
Bug Reports: Use GitHub Issues
Feature Requests: Create an issue with detailed use cases
Questions: Use GitHub Discussions
Security: Email ebowman@boboco.ie for security-related issues
Project Status
This project is actively maintained. We aim to respond to issues and pull requests promptly.
Latest Version: v0.1.0
Python Support: 3.9+
Status: Beta Release
Changelog
See CHANGELOG.md for detailed version history and changes.
Made with ❤️ by Eric Bowman
If this project helps you, please consider giving it a ⭐ on GitHub!
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.