ActivityWatch MCP Server
MCP-сервер, который предоставляет ИИ-ассистентам информацию о вашей активности на компьютере в реальном времени через ActivityWatch. Никаких сырых запросов. Никакого синтаксиса AQL. Просто спросите свой ИИ: «Что я делал сегодня?» — и получите понятный ответ.
Почему именно этот проект?
Существуют другие MCP для ActivityWatch. Вот чем этот отличается:
Этот проект | Другие | |
Интерфейс запросов | Предобработанные высокоуровневые инструменты | Сырые AQL-запросы |
Нужно ли знать AQL? | Нет | Да |
Встроенные категории | ✅ программирование, браузер, общение и т.д. | ❌ |
Готовые инструменты |
|
|
Предназначен для | ИИ-компаньонов и чат-интерфейсов | Отладки разработчиками |
Коротко: Другие 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 build3. Настройка
Добавьте в конфигурацию 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 (необязательно)
Встроенные категории:
Категория | Приложения |
| VS Code, PyCharm, Terminal, iTerm2, Cursor, Warp, Xcode |
| Chrome, Safari, Firefox, Arc, Edge |
| WeChat, Slack, Discord, Telegram, Messages, Zoom, Teams |
| Bilibili, YouTube, Spotify, Netflix |
| Obsidian, Notion, Typora, Word, Pages |
| 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
Переменные окружения
Переменная | По умолчанию | Описание |
|
| Адрес API ActivityWatch |
|
| Обрезка заголовков окон для конфиденциальности |
| встроенный | Путь к пользовательскому JSON-файлу сопоставления категорий |
Конфиденциальность
🔒 Ваши данные никогда не покидают ваш компьютер.
ActivityWatch хранит все локально
Этот MCP-сервер работает локально
Поток данных:
ActivityWatch (локально) → MCP-сервер (локально) → Ваш ИИ-диалогЗаголовки окон обрезаются, чтобы предотвратить случайное раскрытие конфиденциального контента
Никакой телеметрии, никаких внешних вызовов API, никакого облачного хранилища
Дорожная карта
[ ] Интеграция с «Экранным временем» macOS (данные iPhone + Mac из
knowledgeC.db)[ ] Автоматически генерируемые ежедневные/еженедельные отчеты
[ ] Проактивные уведомления (например, «Вы программируете уже 4 часа — сделайте перерыв»)
[ ] Оценка продуктивности и анализ трендов
[ ] Транспорт SSE для удаленного доступа
Участие в разработке
PR и сообщения об ошибках приветствуются. Если у вас есть идеи для новых инструментов или категорий, создайте issue.
Лицензия
MIT
This server cannot be installed
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