daylens-mcp
# 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
Scored across 5 tools
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.
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.
Five tools is well-scoped for a personal analytics server, covering the main ways to access Daylens data without being bloated or sparse.
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.