Skip to main content
Glama
JM-404

ActivityWatch MCP Server

by JM-404

MCP-сервер, который предоставляет ИИ-ассистентам информацию о вашей активности на компьютере в реальном времени через ActivityWatch. Никаких сырых запросов. Никакого синтаксиса AQL. Просто спросите свой ИИ: «Что я делал сегодня?» — и получите понятный ответ.

Почему именно этот проект?

Существуют другие MCP для ActivityWatch. Вот чем этот отличается:

Этот проект

Другие

Интерфейс запросов

Предобработанные высокоуровневые инструменты

Сырые AQL-запросы

Нужно ли знать AQL?

Нет

Да

Встроенные категории

✅ программирование, браузер, общение и т.д.

❌

Готовые инструменты

get_day_summary, get_current_activity и т.д.

run_query(aql_string)

Предназначен для

ИИ-компаньонов и чат-интерфейсов

Отладки разработчиками

Коротко: Другие MCP дают вашему ИИ консоль базы данных. Этот дает вашему ИИ глаза.

Related MCP server: ActivityWatch MCP Server

Что ваш ИИ может делать с этим?

После подключения ваш ИИ-помощник сможет отвечать на такие вопросы:

  • 🕐 «Над чем я сейчас работаю?»

  • 📊 «Как я провел время сегодня?»

  • 💻 «Сколько часов я программировал на этой неделе?»

  • 🌙 «Во сколько я закончил работать вчера вечером?»

  • 🔍 «Покажи мне все, что я делал вчера с 14:00 до 17:00.»

  • 🌐 «На каких сайтах я проводил больше всего времени?»

  • 📁 «Над какими проектами я работал на этой неделе?»

  • 🏷️ «Добавь Cursor в мою категорию программирования.»

Ваш ИИ знает, что вы делаете, а не только то, что вы говорите. Он может заметить закономерности, которые вы упускаете — например, если вы программировали 5 часов подряд без перерыва.

Быстрый старт

1. Предварительные требования

  • Установленный и запущенный ActivityWatch

  • Node.js >= 20

2. Установка

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

3. Настройка

Добавьте в конфигурацию MCP для Claude Desktop / Claude Code:

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

4. Попробуйте

Откройте Claude и спросите: «Что я делал на компьютере сегодня?»

Это все. Никакого AQL. Никаких ID бакетов. Просто общение.

Инструменты

get_current_activity

«Что я делаю прямо сейчас?»

Возвращает активное приложение, заголовок окна, длительность и статус отсутствия (AFK).

get_day_summary

«Как я провел время сегодня?»

Топ приложений по времени использования, общее количество активных часов/часов AFK, время начала и окончания активности.

Параметры: date (необязательно, по умолчанию — сегодня)

get_category_time

«Сколько часов я программировал на этой неделе?»

Агрегированное время для категории или конкретного приложения за указанный период с разбивкой по дням.

Параметры: category (обязательно), start_date, end_date (необязательно)

Встроенные категории:

Категория

Приложения

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

Настраивайте категории с помощью переменной окружения AW_CATEGORIES_FILE, указывающей на ваш собственный JSON-файл.

get_timeline

«Расскажи, как прошел мой день.»

Хронологический список переключений приложений с заголовками окон и длительностью.

Параметры: date, start_time, end_time, min_duration_seconds

get_browser_history

«Какие сайты я посещал сегодня?»

Топ доменов по затраченному времени. Требуется расширение ActivityWatch для браузера.

Параметры: date, domain (необязательный фильтр)

manage_categories

«Добавь Cursor в мою категорию программирования.»

Просмотр и изменение сопоставлений категорий активности во время выполнения. Изменения сохраняются в ~/.activitywatch-mcp/categories.json.

Параметры: action (list | add | remove | update), category, apps

get_project_time

«Над какими проектами я работал на этой неделе?»

Время программирования с разбивкой по проектам/репозиториям. Извлекает названия проектов из заголовков окон IDE (VS Code, Cursor, PyCharm, Xcode, Terminal).

Параметры: start_date, end_date (необязательно)

Даты на естественном языке

Все параметры даты принимают естественный язык в дополнение к формату YYYY-MM-DD:

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

Переменные окружения

Переменная

По умолчанию

Описание

AW_HOST

http://localhost:5600

Адрес API ActivityWatch

AW_TITLE_MAX_LENGTH

80

Обрезка заголовков окон для конфиденциальности

AW_CATEGORIES_FILE

встроенный

Путь к пользовательскому JSON-файлу сопоставления категорий

Конфиденциальность

🔒 Ваши данные никогда не покидают ваш компьютер.

  • ActivityWatch хранит все локально

  • Этот MCP-сервер работает локально

  • Поток данных: ActivityWatch (локально) → MCP-сервер (локально) → Ваш ИИ-диалог

  • Заголовки окон обрезаются, чтобы предотвратить случайное раскрытие конфиденциального контента

  • Никакой телеметрии, никаких внешних вызовов API, никакого облачного хранилища

Дорожная карта

  • [ ] Интеграция с «Экранным временем» macOS (данные iPhone + Mac из knowledgeC.db)

  • [ ] Автоматически генерируемые ежедневные/еженедельные отчеты

  • [ ] Проактивные уведомления (например, «Вы программируете уже 4 часа — сделайте перерыв»)

  • [ ] Оценка продуктивности и анализ трендов

  • [ ] Транспорт SSE для удаленного доступа

Участие в разработке

PR и сообщения об ошибках приветствуются. Если у вас есть идеи для новых инструментов или категорий, создайте issue.

Лицензия

MIT


Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    An interface that allows large language models like Claude to interact with ActivityWatch time tracking data through the Model Context Protocol, enabling queries about application usage, browsing history, and productivity patterns.
    5
    73
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables LLM agents to query and analyze ActivityWatch time tracking data, including window activity, web browsing, and category management with natural language time periods and automatic data aggregation.
    12
    GPL 3.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    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.
    14 npm
    4
    MIT