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 дают вашему ИИ консоль базы данных. Этот дает вашему ИИ глаза.

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

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

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

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

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

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

  • 🔍 «Покажи мне все, что я делал вчера с 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


-
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