movstox/lazy-toggl-mcp
If you are the rightful owner of lazy-toggl-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The Lazy Toggl MCP Server is a Model Context Protocol server designed to facilitate interaction with Toggl's time tracking services.
start_tracking
Start tracking time for a new task.
stop_tracking
Stop the currently running time entry.
list_workspaces
List all available workspaces.
show_current_time_entry
Show the currently running time entry, if any.
Lazy Toggl MCP Server
A Model Context Protocol (MCP) server that provides tools for interacting with Toggl time tracking.
Features
- Start/stop time tracking
- Get current entry
- List workspaces
API
Tools
-
start_tracking
- Start tracking time for a new task
- Inputs:
title
(string): Title/description of the task to trackworkspace_id
(integer): Workspace ID (optional, uses default if not provided)project_id
(integer): Project ID (optional)tags
(string[]): List of tags (optional)
-
stop_tracking
- Stop the currently running time entry
- No input required
- Returns confirmation of stopped time entry
-
list_workspaces
- List all available workspaces
- No input required
- Returns list of workspaces with their IDs and names
-
show_current_time_entry
- Show the currently running time entry, if any
- No input required
- Returns:
- If tracking: Task description, entry ID, workspace, start time, running duration, tags, and project (if any)
- If not tracking: A message indicating no time entry is currently running
Integration with Toggl Track API
This server uses the Toggl Track API v9. The following endpoints are utilized:
GET /me
- Get user informationGET /workspaces
- List workspacesGET /me/time_entries/current
- Get current running time entryPOST /workspaces/{workspace_id}/time_entries
- Start time trackingPATCH /workspaces/{workspace_id}/time_entries/{time_entry_id}/stop
- Stop time tracking
Installation
- Clone/create this project
- Install dependencies with
uv
:cd lazy-toggl-mcp uv sync
Configuration
Get Your Toggl API Token
- Go to Toggl Track
- Sign in to your account
- Click on your profile picture/avatar in the top right corner
- Go to "Profile" or "Settings"
- Find your "API Token" - copy this long string of characters
Configure MCP Server
Add the following configuration to your MCP settings file:
{
"mcpServers": {
"lazy-toggl-mcp": {
"autoApprove": [],
"disabled": false,
"timeout": 60,
"type": "stdio",
"transportType": "stdio",
"command": "uv",
"args": [
"run",
"--directory",
"/path/to/lazy-toggl-mcp",
"python",
"server.py"
],
"env": {
"TOGGL_API_TOKEN": "your-actual-api-token-here"
}
}
}
}
Important: Replace /path/to/lazy-toggl-mcp
with the actual path to this project and your-actual-api-token-here
with your real Toggl API token.
Project Structure
lazy-toggl-mcp/
āāā src/
ā āāā toggl_server/
ā āāā __init__.py # Package initialization
ā āāā main.py # MCP server implementation (new structure)
ā āāā models.py # Data models and type definitions
ā āāā toggl_api.py # Toggl API client
ā āāā utils.py # Utility functions
āāā main.py # CLI interface for testing
āāā server.py # Main MCP server entry point
āāā pyproject.toml # Project configuration and dependencies
āāā README.md # This file
āāā uv.lock # Dependency lock file
āāā .gitignore # Git ignore patterns
āāā .python-version # Python version specification
License
MIT License - feel free to modify and use as needed.