MCP Hub
Back to servers

tyme-mcp

Connects AI assistants to the Tyme macOS app to manage time tracking, projects, and tasks via natural language. It uses native AppleScript and JXA to control timers and generate reports without requiring cloud dependencies or API keys.

glama
Updated
Mar 26, 2026

tyme-mcp

An MCP (Model Context Protocol) server that connects AI assistants to Tyme, the macOS time tracking app. Control timers, manage projects and tasks, search time records, and generate reports — all through natural language.

Features

  • Timer control — Start, stop, and check running timers
  • Project & task management — List, create, update, and delete projects and tasks
  • Time record search — Query records by date range, project, task, type, and more
  • Reports — Daily summaries and date-range reports grouped by project
  • Native macOS integration — Communicates directly with Tyme via AppleScript/JXA. No API keys, no cloud dependency, works offline
  • 22 tools covering the full Tyme workflow

Requirements

  • macOS
  • Tyme 3 installed and running
  • Bun runtime

Setup

1. Install Bun (if not installed)

curl -fsSL https://bun.sh/install | bash

2. Clone and install

git clone https://github.com/cdgrph/tyme-mcp.git
cd tyme-mcp
bun install

3. Configure your MCP client

Claude Code

Add to your project's .mcp.json:

{
  "mcpServers": {
    "tyme": {
      "command": "bun",
      "args": ["run", "/path/to/tyme-mcp/src/index.ts"]
    }
  }
}

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "tyme": {
      "command": "bun",
      "args": ["run", "/path/to/tyme-mcp/src/index.ts"]
    }
  }
}

Replace /path/to/tyme-mcp with the actual path where you cloned the repository.

4. Launch Tyme

Make sure Tyme is running before using the MCP server. The server communicates with Tyme through macOS scripting, so Tyme must be open.

Tools

Timer Operations

ToolDescription
start_timerStart a timer for a task
stop_timerStop a timer for a task
get_running_timersList currently running timers

Data Retrieval

ToolDescription
list_categoriesList all categories
list_projectsList projects (optionally filtered by category)
list_tasksList tasks in a project
list_subtasksList subtasks of a task
get_task_detailGet detailed task information
get_selected_objectGet the currently selected item in Tyme UI
get_task_recordsSearch time records by date range and filters
get_record_detailGet detailed record information

CRUD Operations

ToolDescription
create_projectCreate a new project
update_projectUpdate project properties
delete_projectDelete a project
create_taskCreate a new task
update_taskUpdate task properties
delete_taskDelete a task
create_recordCreate a time record
update_recordUpdate a time record
delete_recordDelete a time record

Reports

ToolDescription
get_daily_summaryWork summary for a specific day
get_range_summaryWork summary over a date range, grouped by project

Usage Examples

Once configured, you can interact with Tyme using natural language:

  • "Show me my projects" — lists all Tyme projects
  • "What timers are running?" — checks active timers
  • "Start tracking time on task X" — starts a timer
  • "How much did I work this week?" — generates a summary report
  • "Create a new task called 'Design review' in project Y" — creates a task

How It Works

AI Assistant → MCP Protocol → tyme-mcp → osascript (AppleScript/JXA) → Tyme.app

The server uses two scripting approaches:

  • JXA (JavaScript for Automation) for read operations — returns structured JSON
  • AppleScript for write operations — reliable object creation and manipulation

All user inputs are sanitized before interpolation into scripts to prevent injection.

Development

# Run the server directly
bun run src/index.ts

# Watch mode
bun run dev

Tech Stack

License

MIT

Reviews

No reviews yet

Sign in to write a review