TimeTagger MCP Server

by regismesquita

224 downloads Not rated yet
GitHub

About

A MCP server for the timetagger tool, allowing you to start, stop timers and get reports directly from your MCP Client

Explore

- Query time records within specific timeframes
- Create new time records
- Update existing records
- Hide/delete records
- Get time summaries by tags
- Start and stop timers
- Manage TimeTagger settings

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name TimeTagger MCP Server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

The server requires your TimeTagger API key to be set as an environment variable:

export TIMETAGGER_API_KEY="your-api-key-here"
export TIMETAGGER_API_URL="https://your-timetagger-instance.com/api/v2"

Add this to your claude_desktop_config.json:

"timetagger": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/regismesquita/timetagger-mcp",
"timetagger-mcp"
],
"env": {
"TIMETAGGER_API_KEY": "your-api-key-here",
"TIMETAGGER_API_URL": "https://your-timetagger-instance.com/api/v2"
}
}

1. Ensure you have uv installed:

   brew install uv

2. Install the required dependencies:

   uv pip install -r requirements.txt

For testing and development, use:

fastmcp dev timetagger_mcp.py

This will launch the MCP Inspector interface where you can test the tools and resources.

To use with Claude Desktop:

fastmcp install timetagger_mcp.py

- get_records(start_time, end_time): Get records within a time range
- get_recent_records(hours): Get records from the last N hours
- get_today_records(): Get today's records
- create_record(description, start_time, end_time): Create a new record
- update_record(key, description, start_time, end_time): Update an existing record
- hide_record(key): Hide/delete a record
- start_timer(description): Start a new timer
- stop_timer(key): Stop an ongoing timer
- find_records_by_tag(tag, days): Find records with a specific tag
- get_time_summary(days): Get a summary of time spent on different tags
- get_settings(): Get all TimeTagger settings
- update_setting(key, value): Update a TimeTagger setting

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "timetagger mcp server": {
            "timetagger": {
                "command": "uvx",
                "args": [
                    "--from",
                    "git+https://github.com/regismesquita/timetagger-mcp",
                    "timetagger-mcp"
                ],
                "env": {
                    "TIMETAGGER_API_KEY": "",
                    "TIMETAGGER_API_URL": ""
                }
            }
        }
    }
}

McpServers

{
    "timetagger": {
        "command": "uvx",
        "args": [
            "--from",
            "git+https://github.com/regismesquita/timetagger-mcp",
            "timetagger-mcp"
        ],
        "env": {
            "TIMETAGGER_API_KEY": "",
            "TIMETAGGER_API_URL": ""
        }
    }
}

This is a Model Context Protocol (MCP) server for interacting with TimeTagger. It provides tools to query and manage your time records through Claude or other MCP-compatible AI assistants.

Features

- Query time records within specific timeframes
- Create new time records
- Update existing records
- Hide/delete records
- Get time summaries by tags
- Start and stop timers
- Manage TimeTagger settings

Claude Desktop Installation

Add this to your claude_desktop_config.json:
"timetagger": {
  "command": "uvx",
  "args": [
    "--from",
    "git+https://github.com/regismesquita/timetagger-mcp",
    "timetagger-mcp"
  ],
  "env": {
    "TIMETAGGER_API_KEY": "your-api-key-here",
    "TIMETAGGER_API_URL": "https://your-timetagger-instance.com/api/v2"
  }
}

Manual Installation

1. Ensure you have uv installed:

   brew install uv

2. Install the required dependencies:

   uv pip install -r requirements.txt

Configuration

The server requires your TimeTagger API key to be set as an environment variable:

export TIMETAGGER_API_KEY="your-api-key-here"
export TIMETAGGER_API_URL="https://your-timetagger-instance.com/api/v2"

Usage

Running in Development Mode

For testing and development, use:

fastmcp dev timetagger_mcp.py

This will launch the MCP Inspector interface where you can test the tools and resources.

Installing for Claude Desktop

To use with Claude Desktop:

fastmcp install timetagger_mcp.py

Available Tools

- get_records(start_time, end_time): Get records within a time range
- get_recent_records(hours): Get records from the last N hours
- get_today_records(): Get today's records
- create_record(description, start_time, end_time): Create a new record
- update_record(key, description, start_time, end_time): Update an existing record
- hide_record(key): Hide/delete a record
- start_timer(description): Start a new timer
- stop_timer(key): Stop an ongoing timer
- find_records_by_tag(tag, days): Find records with a specific tag
- get_time_summary(days): Get a summary of time spent on different tags
- get_settings(): Get all TimeTagger settings
- update_setting(key, value): Update a TimeTagger setting

Available Resources

- timetagger://config: Get the TimeTagger configuration
- timetagger://records/{timerange}: Get records within a timerange
- timetagger://settings: Get all settings
- timetagger://updates/{since}: Get updates since a specific timestamp

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.