
RescueTime MCP Server
Enables 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.
README
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).
Table of Contents
- Features
- Supported RescueTime APIs
- Installation
- Configuration
- Usage
- Development
- Contributing
- License
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
- Comprehensive Testing: Full test suite including unit tests, integration tests, and performance tests
Supported RescueTime APIs
1. Analytic Data API
- Get detailed productivity analytics with customizable time ranges and filters
- Support for different perspectives (rank, interval, member) and resolutions
2. Daily Summary Feed API
- Access daily productivity summaries and pulse scores
- Filter by date ranges
3. Alerts Feed API
- Retrieve and manage productivity alerts
- Dismiss unwanted alerts
4. Highlights Feed/POST API
- View existing highlights
- Create new productivity highlights
5. FocusTime APIs
- Start and end focus sessions
- Monitor current focus session status
- Set custom focus duration
6. Offline Time POST API
- Log offline work time
- Add descriptions for offline activities
Installation
Prerequisites
- Python 3.9 or higher
- RescueTime account with API access
- RescueTime API key
Install from Source
# Clone the repository
git clone https://github.com/ebowman/rescuetime-mcp.git
cd rescuetime-mcp
# Create and activate virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# For users - install basic package
pip install -e .
# For developers - install with development tools
pip install -e ".[dev]"
Configuration
Environment Variables
Set your RescueTime API key as an environment variable:
export RESCUETIME_API_KEY="your_rescuetime_api_key_here"
Alternatively, create a .env
file in the project root:
RESCUETIME_API_KEY=your_rescuetime_api_key_here
Getting Your API Key
- Log in to your RescueTime account
- Go to https://www.rescuetime.com/anapi/manage
- Generate or copy your existing API key
Usage
Running the MCP Server
# Run directly
rescuetime-mcp
# Or using Python module
python -m rescuetime_mcp.server
# Check version
rescuetime-mcp --version
Available MCP Tools
get_analytic_data
- Get detailed productivity analytics with filtersget_daily_summary_feed
- Access daily productivity summariesget_alerts_feed
- Retrieve productivity alertsdismiss_alert
- Dismiss specific alertsget_highlights_feed
- View productivity highlightspost_highlight
- Create new highlightsstart_focus_session
- Start FocusTime sessionsend_focus_session
- End current focus sessionget_focus_session_status
- Check focus session statuspost_offline_time
- Log offline work timehealth_check
- Verify API connection
Development
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install with development dependencies
pip install -e ".[dev]"
# Install pre-commit hooks
pre-commit install
Running Tests
# Run all tests
pytest
# Run with coverage
pytest --cov=rescuetime_mcp --cov-report=html
# Run only unit tests
pytest tests/test_client.py tests/test_server.py
# Run integration tests (requires real API key)
export RESCUETIME_API_KEY_REAL="your_real_api_key"
pytest tests/test_integration.py -m integration
# Run performance tests
pytest tests/test_integration.py -m slow
Code Quality
# Format code
black src tests
# Sort imports
isort src tests
# Lint code
ruff check src tests
# Type checking
mypy src
Project 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 configuration
Contributing
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!
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.