Skip to main content
Glama

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

  • Category, project, task & subtask management — List, create, update, and delete Tyme objects (projects and tasks also support detailed lookup)

  • Time record search — Query records by date range, project, task, type, and more

  • Mileage tracking — Configure per-kilometer rates and record traveled distance

  • 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

  • 29 tools covering the full Tyme workflow

Related MCP server: TrackingTime MCP Server

Requirements

  • macOS

  • Tyme 3 installed and running

  • Bun runtime — Bun is required because the package runs TypeScript directly. Use bunx tyme-mcp; npx tyme-mcp is not supported.

Setup

1. Install Bun (if not installed)

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

2. Configure your MCP client

Claude Code

claude mcp add tyme -- bunx tyme-mcp

Or add to your .mcp.json:

{
  "mcpServers": {
    "tyme": {
      "command": "bunx",
      "args": ["tyme-mcp"]
    }
  }
}

Claude Desktop

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

{
  "mcpServers": {
    "tyme": {
      "command": "bunx",
      "args": ["tyme-mcp"]
    }
  }
}

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

Date-only inputs are interpreted in the server's local timezone. For date ranges, endDate is inclusive through the end of the specified day.

Timer Operations

Tool

Description

start_timer

Start a timer for a task

stop_timer

Stop a timer for a task

get_running_timers

List currently running timers

Data Retrieval

Tool

Description

list_categories

List all categories

list_projects

List projects (optionally filtered by category)

get_project_detail

Get detailed project information

list_tasks

List tasks in a project

list_subtasks

List subtasks of a task

get_task_detail

Get detailed task information

get_selected_object

Get the currently selected item in Tyme UI

get_task_records

Search time records by date range and filters

get_record_detail

Get detailed record information

CRUD Operations

Tool

Description

create_category

Create a new category

update_category

Update a category

delete_category

Delete a category

create_project

Create a new project

update_project

Update project properties

delete_project

Delete a project

create_task

Create a new task

update_task

Update task properties

delete_task

Delete a task

create_subtask

Create a new subtask

update_subtask

Update subtask properties

delete_subtask

Delete a subtask

create_record

Create a time record

update_record

Update a time record

delete_record

Delete a time record

Reports

Tool

Description

get_daily_summary

Work summary for a specific day

get_range_summary

Work 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 object creation/deletion, JXA for property updates

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

# Type-check the TypeScript source (CI gate)
bun run typecheck

# Run unit tests (Tyme is not required)
bun test

# Run the E2E smoke suite (requires Tyme running locally)
# Test data is cleaned up automatically, including after failures.
bun run smoke

Tech Stack

License

MIT

A
license - permissive license
-
quality - not tested
B
maintenance

Maintenance

Maintainers
<1hResponse time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Let ChatGPT, Claude & Cursor use your Mac: email, calendar, iMessage, Teams, files. Local, free.

  • Manage projects, tasks, time tracking, and team collaboration through natural language.

  • Connects ChatGPT to your Apple Calendar via a local Mac agent + Vercel relay

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/watarutmnh/tyme-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server