Skip to main content
Glama
README.md
# daylens-mcp

An MCP server that lets Cursor and Claude answer "what was I working on?" from your local Daylens timeline — no cloud, no API keys.

## The problem

You ask your AI assistant what you did this morning. It guesses.

It doesn't know you spent three hours in Cursor on the auth refactor, or that you context-switched 200 times before lunch. It wasn't there. Daylens was — it logged every session, labeled every work block, scored your focus — but your AI tools can't see any of it.

You shouldn't have to reconstruct your own day from memory just to fill a timesheet or pick up where you left off.

## What it does

Ask in plain language. Get answers grounded in your actual machine:

```
You › what was I working on this morning?

  • 06:40–09:30 (2h 50m) — Tax Filing, Email & Planning
  • 09:30–12:57 (3h 26m) — Mixed Development & Research
    Top app: Codex  |  219 context switches
  • 12:57–13:12 (15m) — X.com, YouTube, Email
```

Works in Claude Code, Cursor, Claude Desktop, and Windsurf.

## Install

Requires [Daylens](https://github.com/irachrist1/daylens) on macOS and Node.js 22+.

**Claude Code — one command:**
```bash
claude mcp add daylens -- npx -y daylens-mcp
```

**Cursor — add to `~/.cursor/mcp.json`:**
```json
{
  "mcpServers": {
    "daylens": {
      "command": "npx",
      "args": ["-y", "daylens-mcp"]
    }
  }
}
```

**All clients — auto-detects Claude Code, Cursor, Desktop, and Windsurf:**
```bash
git clone https://github.com/irachrist1/daylens-mcp.git && cd daylens-mcp && bash install.sh
```

Restart your client after install.

## How it works

- **Read-only bridge.** Opens your Daylens SQLite database in read-only mode. Nothing is written, nothing leaves your Mac.
- **Labeled blocks, not raw logs.** Queries AI-labeled work sessions like "Mixed Development & Research" — not "Chrome: 6 hours".
- **Five tools, natural questions.** Timeline, focus stats, app usage, keyword search, and recent activity. Your assistant picks the tool; you just ask.
- **On demand, no daemon.** Starts when your AI client needs it, exits when the session closes. No background process, no network calls.
- **Pre-computed summaries.** Pulls focus scores, streaks, and daily summaries Daylens already computed — fast answers without re-analyzing raw sessions.

MIT License · Built by [Christian Tonny](https://github.com/irachrist1)

TDQS

A3.9/5.0

Scored across 5 tools

Disambiguation5/5

Each tool has a distinct purpose: timeline for daily blocks, focus stats for metrics, app usage for breakdown, search for querying history, and recent activity for up-to-the-minute info. No two tools clearly overlap.

Naming Consistency4/5

Four tools consistently use the get_ prefix (get_timeline, get_focus_stats, get_app_usage, get_recent_activity), but search_work breaks the pattern. While still readable, the inconsistency is mildly noticeable.

Tool Count5/5

Five tools is well-scoped for a personal analytics server, covering the main ways to access Daylens data without being bloated or sparse.

Completeness5/5

The set covers all the typical read-only needs for a work-tracking service: daily overview, metrics, detailed usage, search, and real-time activity. No obvious gaps for this domain.