Provides comprehensive time tracking and reporting capabilities including starting/stopping timers, retrieving time entries, generating daily/weekly reports with project breakdowns, and managing workspaces, projects, and clients through the Toggl Track API.
MCP Toggl Server
A Model Context Protocol (MCP) server for Toggl Track integration, providing time tracking and reporting capabilities with intelligent caching for optimal performance.
Features
Time Tracking: Start/stop timers, get current and past time entries
Smart Reporting: Daily/weekly reports with project and workspace breakdowns
Performance Optimized: Intelligent caching system minimizes API calls
Data Hydration: Automatically enriches time entries with project/workspace/client names
Flexible Filtering: Query by date ranges, workspaces, or projects
Automation Ready: Structured JSON output perfect for Automation Hub workflows
Quick Start (Recommended)
Use via npx without cloning or building locally.
Claude Desktop
Add this to ~/Library/Application Support/Claude/claude_desktop_config.json:
Cursor
Add this to your Cursor MCP settings (e.g., ~/.cursor/mcp.json):
Manual Installation
Configuration
Get your Toggl API key from: https://track.toggl.com/profile
Create a
.envfile:
Add to your MCP configuration:
Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json:
Cursor
Edit .mcp.json in your project:
Available Tools
Time Tracking
toggl_get_time_entries
Get time entries with optional filters.
toggl_get_current_entry
Get the currently running timer.
toggl_start_timer
Start a new time entry.
toggl_stop_timer
Stop the currently running timer.
Reporting
toggl_daily_report
Generate a daily report with project/workspace breakdowns.
toggl_weekly_report
Generate a weekly report with daily breakdowns.
toggl_project_summary
Get total hours per project for a date range.
toggl_workspace_summary
Get total hours per workspace.
Management
toggl_list_workspaces
List all available workspaces.
toggl_list_projects
List projects in a workspace.
toggl_list_clients
List clients in a workspace.
Cache Management
toggl_warm_cache
Pre-fetch workspace/project/client data for better performance.
toggl_cache_stats
View cache performance metrics.
toggl_clear_cache
Clear all cached data.
Performance Optimization
The server uses an intelligent caching system to minimize API calls:
First Run: Warms cache by fetching workspaces, projects, and clients
Subsequent Calls: Uses cached names for hydration (95%+ cache hit rate)
Smart Invalidation: TTL-based expiry with configurable duration
Memory Efficient: LRU eviction keeps memory usage under 10MB
Typical Performance
First report: 2-3 API calls (warm cache + get entries)
Subsequent reports: 1 API call (just time entries)
Cache hit rate: >95% for typical usage
Usage Examples
Daily Standup Report
Weekly Summary for Automation Hub
Project Hours Tracking
Integration with Automation Hub
The server returns structured JSON perfect for Automation Hub workflows:
Troubleshooting
API Key Issues
Ensure your API key is correct (get from https://track.toggl.com/profile)
API key goes in the username field, "api_token" as password for basic auth
Trim whitespace: copy/paste can include trailing spaces/newlines which cause 401/403
Accepted env var names:
TOGGL_API_KEY(preferred),TOGGL_API_TOKEN, orTOGGL_TOKENIf you see 401/403, regenerate the token on your Toggl profile and update your MCP config
Security & Token Lifecycle
This server uses Basic Auth with a Toggl API token, not OAuth; there is no refresh token to manage.
Toggl API tokens do not expire automatically. They only change if you manually regenerate them or if Toggl invalidates them during a security event.
If you regenerate your token, the old one stops working immediately. Update the
TOGGL_API_KEYin your Claude/Cursor config and restart the client.Never commit real secrets to version control. Use placeholders like
your_api_key_herein docs and examples.Claude Desktop stores the env value in
claude_desktop_config.jsonon your machine. Treat that file as sensitive and do not share it.
Quick Auth Check
You can verify connectivity by calling the toggl_check_auth tool, which pings /me and lists your available workspaces without exposing your token.
Rate Limiting
The server implements automatic retry with exponential backoff
Respects Toggl's rate limits (max 1 request per second)
Cache Issues
Run
toggl_clear_cacheif data seems staleAdjust
TOGGL_CACHE_TTLfor your needs (default: 1 hour)
Development
License
GPL-3.0
Support
For issues or questions, please open an issue on GitHub.
Built with ๐งก for the open source community by Very Good Plugins
Related MCP Servers
- AsecurityAlicenseAqualityEnables natural language time tracking and reporting for Harvest, including automatic leave requests, project/task matching, and date parsing.Last updated -14MIT License
- AsecurityAlicenseAqualityIntegrates with Harvest time tracking API, enabling AI assistants to manage time entries, projects, clients, and tasks through natural language commands.Last updated -1115MIT License
- AsecurityAlicenseAqualityProvides comprehensive integration with the Clockify time tracking API, enabling automated time entry management, project organization, task tracking, and reporting through a standardized interface.Last updated -2913MIT License
TimeCamp MCP Serverofficial
-securityFlicense-qualityA Model Context Protocol server that provides time tracking integration with TimeCamp, allowing AI assistants to create, retrieve, update, and delete time entries through natural language commands.Last updated -