TimeTagger MCP Server

by regismesquita

224 downloads
Not rated
GitHub

About

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

Details

Author
regismesquita
Downloads
224
Categories
Other

- Query time records within specific timeframes
- Create, update, and hide/delete records
- Get time summaries grouped by tags
- Start and stop timers
- Manage TimeTagger settings
- Find records by tag

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

Install by adding the uvx command block to your Claude Desktop configuration with environment variables TIMETAGGER_API_KEY and TIMETAGGER_API_URL. Alternatively, install uv, clone the repository, and run uv pip install -r requirements.txt. For development, use fastmcp dev timetagger_mcp.py to open the MCP Inspector interface.

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": ""
        }
    }
}

TimeTagger MCP Server

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.