Skip to main content
Glama
Lazy Toggl MCP Server

Lazy Toggl MCP Server

by movstox

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

Related MCP server: Toggl MCP Server

API

Tools

  • start_tracking

    • Start tracking time for a new task

    • Inputs:

      • title (string): Title/description of the task to track

      • workspace_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 information

  • GET /workspaces - List workspaces

  • GET /me/time_entries/current - Get current running time entry

  • POST /workspaces/{workspace_id}/time_entries - Start time tracking

  • PATCH /workspaces/{workspace_id}/time_entries/{time_entry_id}/stop - Stop time tracking

Installation

  1. Clone/create this project

  2. Install dependencies with uv:

    cd lazy-toggl-mcp
    uv sync

Configuration

Get Your Toggl API Token

  1. Go to Toggl Track

  2. Sign in to your account

  3. Click on your profile picture/avatar in the top right corner

  4. Go to "Profile" or "Settings"

  5. 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.

Available Tools

4 tools
list_workspacesA

List all available workspaces

Inputs: no named parameters.

show_current_time_entryA

Show the currently running time entry, if any

Inputs: no named parameters.

start_trackingB

Start tracking time for a new task

Inputs: title (required), tags, project_id, workspace_id.

stop_trackingA

Stop the currently running time entry

Inputs: no named parameters.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

    TDQS

    A3.8/5.0

    Scored across 4 tools

    Disambiguation5/5

    Each tool targets a distinct action: starting, stopping, listing workspaces, and viewing the current entry. There is no overlap or ambiguity between them.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern with lowercase and underscores (start_tracking, stop_tracking, list_workspaces, show_current_time_entry).

    Tool Count5/5

    Four tools is well-scoped for a minimal time tracking server, covering the essential actions without unnecessary bloat.

    Completeness3/5

    The core start/stop/current workflow is covered, but there are significant gaps: no way to view past time entries, update, or delete them. After stopping, users have no way to review what was tracked.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers