Skip to main content
Glama
JM-404

ActivityWatch MCP Server

by JM-404

Ein MCP-Server, der KI-Assistenten durch ActivityWatch Echtzeit-Bewusstsein über deine Computeraktivitäten verleiht. Keine Rohabfragen. Keine AQL-Syntax. Frag deine KI einfach: "Was habe ich heute gemacht?" und erhalte eine menschenlesbare Antwort.

Warum dieses Projekt?

Es gibt andere ActivityWatch-MCPs. Hier ist der Unterschied:

Dieses Projekt

Andere

Abfrage-Schnittstelle

Voraggregierte High-Level-Tools

Roh-AQL-Abfragen

Muss der Nutzer AQL kennen?

Nein

Ja

Integrierte Kategorien

✅ Programmieren, Surfen, Kommunikation etc.

Gebrauchsfertige Tools

get_day_summary, get_current_activity etc.

run_query(aql_string)

Entwickelt für

KI-Begleiter & Chat-Schnittstellen

Entwickler-Debugging

Kurz gesagt: Andere MCPs geben deiner KI eine Datenbankkonsole. Dieses hier gibt deiner KI Augen.

Was kann deine KI damit tun?

Sobald die Verbindung steht, kann dein KI-Begleiter Fragen beantworten wie:

  • 🕐 "Woran arbeite ich gerade?"

  • 📊 "Wie habe ich heute meine Zeit verbracht?"

  • 💻 "Wie viele Stunden habe ich diese Woche programmiert?"

  • 🌙 "Wann habe ich gestern Abend aufgehört zu arbeiten?"

  • 🔍 "Zeig mir alles, was ich gestern zwischen 14 und 17 Uhr gemacht habe."

  • 🌐 "Auf welchen Websites habe ich die meiste Zeit verbracht?"

  • 📁 "An welchen Projekten habe ich diese Woche gearbeitet?"

  • 🏷️ "Füge Cursor zu meiner Kategorie 'Programmieren' hinzu."

Deine KI weiß, was du tust, nicht nur, was du sagst. Sie kann Muster erkennen, die dir entgehen – zum Beispiel, wenn du 5 Stunden am Stück ohne Pause programmiert hast.

Schnellstart

1. Voraussetzungen

2. Installation

git clone https://github.com/JM-404/activitywatch-mcp.git
cd activitywatch-mcp
npm install && npm run build

3. Konfiguration

Füge dies zu deiner Claude Desktop / Claude Code MCP-Konfiguration hinzu:

{
  "mcpServers": {
    "activitywatch": {
      "command": "node",
      "args": ["/absolute/path/to/activitywatch-mcp/dist/index.js"]
    }
  }
}

4. Ausprobieren

Öffne Claude und frage: "Was habe ich heute an meinem Computer gemacht?"

Das war's. Kein AQL. Keine Bucket-IDs. Einfach nur Konversation.

Tools

get_current_activity

"Was mache ich gerade?"

Gibt die aktuell aktive App, den Fenstertitel, die Dauer und den AFK-Status zurück.

get_day_summary

"Wie habe ich heute meine Zeit verbracht?"

Top-Apps nach Nutzungszeit, gesamte aktive/AFK-Stunden, erste und letzte aktive Zeitstempel.

Parameter: date (optional, Standard ist heute)

get_category_time

"Wie viele Stunden habe ich diese Woche programmiert?"

Aggregierte Zeit für eine Kategorie oder eine bestimmte App über einen Datumsbereich, mit täglicher Aufschlüsselung.

Parameter: category (erforderlich), start_date, end_date (optional)

Integrierte Kategorien:

Kategorie

Apps

coding

VS Code, PyCharm, Terminal, iTerm2, Cursor, Warp, Xcode

browsing

Chrome, Safari, Firefox, Arc, Edge

communication

WeChat, Slack, Discord, Telegram, Messages, Zoom, Teams

entertainment

Bilibili, YouTube, Spotify, Netflix

writing

Obsidian, Notion, Typora, Word, Pages

design

Figma, Sketch, Canva, Photoshop

Du kannst Kategorien mit der Umgebungsvariable AW_CATEGORIES_FILE anpassen, die auf dein eigenes JSON verweist.

get_timeline

"Geh meinen Nachmittag mit mir durch."

Chronologische Liste der App-Wechsel mit Fenstertiteln und Dauer.

Parameter: date, start_time, end_time, min_duration_seconds

get_browser_history

"Welche Websites habe ich heute besucht?"

Top-Domains nach verbrachter Zeit. Erfordert die ActivityWatch-Browsererweiterung.

Parameter: date, domain (optionaler Filter)

manage_categories

"Füge Cursor zu meiner Kategorie 'Programmieren' hinzu."

Kategorie-Mappings zur Laufzeit anzeigen und ändern. Änderungen werden in ~/.activitywatch-mcp/categories.json gespeichert.

Parameter: action (list | add | remove | update), category, apps

get_project_time

"An welchen Projekten habe ich diese Woche gearbeitet?"

Programmierzeit aufgeschlüsselt nach Projekt/Repository. Extrahiert Projektnamen aus IDE-Fenstertiteln (VS Code, Cursor, PyCharm, Xcode, Terminal).

Parameter: start_date, end_date (optional)

Natürlichsprachliche Datumsangaben

Alle Datumsparameter akzeptieren neben YYYY-MM-DD auch natürliche Sprache:

today, yesterday, this_week, last_week, this_month, last_month, last_7_days, last_30_days

Umgebungsvariablen

Variable

Standard

Beschreibung

AW_HOST

http://localhost:5600

ActivityWatch API-Adresse

AW_TITLE_MAX_LENGTH

80

Kürzt Fenstertitel aus Datenschutzgründen

AW_CATEGORIES_FILE

integriert

Pfad zum benutzerdefinierten Kategorie-Mapping-JSON

Datenschutz

🔒 Deine Daten verlassen niemals deinen Rechner.

  • ActivityWatch speichert alles lokal

  • Dieser MCP-Server läuft lokal

  • Datenfluss: ActivityWatch (lokal) → MCP-Server (lokal) → Deine KI-Konversation

  • Fenstertitel werden gekürzt, um eine versehentliche Offenlegung sensibler Inhalte zu verhindern

  • Keine Telemetrie, keine externen API-Aufrufe, kein Cloud-Speicher

Roadmap

  • [ ] macOS Bildschirmzeit-Integration (iPhone + Mac Daten aus knowledgeC.db)

  • [ ] Automatisch generierte tägliche/wöchentliche Berichte

  • [ ] Proaktive Warnungen (z. B. "Du programmierst seit 4 Stunden – mach eine Pause")

  • [ ] Produktivitäts-Scoring und Trendanalyse

  • [ ] SSE-Transport für Fernzugriff

Mitwirken

Pull Requests und Issues sind willkommen. Wenn du Ideen für neue Tools oder Kategorien hast, öffne ein Issue.

Lizenz

MIT


-
security - not tested
F
license - not found
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

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/JM-404/activitywatch-mcp'

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