Day One MCP-сервер
MCP-сервер для интеграции дневника Day One с Claude Desktop. Claude может создавать записи, просматривать журналы и получать статистику через естественный язык.
Обзор
Сервер использует гибридный подход: операции записи выполняются через CLI Day One (dayone2), а чтение — напрямую через SQLite-базу данных. Это обеспечивает максимальную функциональность: создание записей с метаданными и получение реальных данных из базы.
Возможности
- Запись (через CLI): создание записей с текстом, вложениями (фото, видео, аудио, PDF), геолокацией, звёздочками, тегами, указанием времени с учётом часового пояса.
- Чтение (через базу данных): просмотр последних записей, поиск по тексту, список журналов с количеством записей, выборка записей по дате («On This Day»).
- Простая установка:
uv sync автоматически устанавливает зависимости; встроенный скрипт test_setup.py проверяет работоспособность.
Предварительные требования
- Day One CLI (
dayone2) — устанавливается вместе с приложением Day One из Mac App Store или с официального сайта.
- Python 3.11+
- uv — менеджер пакетов. Установка:
curl -LsSf https://astral.sh/uv/install.sh | sh
Установка
- Клонируйте репозиторий и установите зависимости:
git clone <repository-url>
cd mcp-dayone
uv sync
- Проверьте установку:
uv run python test_setup.py
Скрипт автоматически проверит доступность CLI Day One, подключение к базе данных и корректность работы MCP-сервера.
- Настройте Claude Desktop:
Откройте файл конфигурации Claude Desktop:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
Добавьте (заменив /FULL/PATH/TO/mcp-dayone на реальный путь):
{
"mcpServers": {
"dayone": {
"command": "uv",
"args": [
"--directory",
"/FULL/PATH/TO/mcp-dayone",
"run",
"python",
"-m",
"mcp_dayone.server"
]
}
}
}
- Перезапустите Claude Desktop.
Готово! Теперь можно общаться с дневником на естественном языке.
Использование
Примеры запросов:
- «Создай запись о моём дне» — создаёт запись с текущим текстом.
- «Покажи последние записи» — выводит последние записи с датами, тегами и превью.
- «Найди записи о работе» — поиск по тексту.
- «Что я писал в этот день?» — показывает записи за ту же дату в прошлые годы.
- «Сколько у меня записей?» — реальное количество из базы.
- «Создай запись с фотографией из /path/to/photo.jpg» — запись с вложением.
- «Добавь звёздочку к последней записи» — помечает запись как важную.
Пример: «On This Day»
Запрос: «Покажи записи за 14 июня за последние 5 лет».
Claude сгруппирует записи по годам, укажет, сколько лет назад, покажет превью, теги и метаданные.
Инструменты MCP
Запись (через CLI)
create_journal_entry — создаёт запись с метаданными (вложения, местоположение, теги).
create_entry_with_attachments — для вложений (фото, видео, PDF).
create_location_entry — запись с координатами.
Чтение (через базу данных)
read_recent_entries — последние записи. Параметры: limit (1-50), journal (фильтр по журналу).
search_entries — поиск по тексту. Параметры: search_text, limit, journal.
list_journals_from_db — список журналов со статистикой.
get_entry_count_from_db — количество записей (опционально по журналу).
get_entries_by_date — записи за определённую дату в прошлые годы. Параметры: target_date (MM-DD или YYYY-MM-DD), years_back (по умолчанию 5).
Устаревшие (CLI)
list_journals, get_entry_count — выдают сообщение об ограничениях CLI.
Устранение неполадок
Day One CLI не найден
- Проверьте:
dayone2 --version.
- Убедитесь, что
dayone2 есть в PATH.
- Установите Day One и CLI по ссылке выше.
Проблемы с подключением Claude Desktop
- Проверьте абсолютный путь в конфигурации.
- Посмотрите логи Claude Desktop на предмет ошибок MCP.
- Перезапустите Claude Desktop после изменений.
Проблемы с правами
- Убедитесь, что CLI имеет доступ к журналам.
- Запустите Day One хотя бы раз для инициализации.
Ограничения CLI
- CLI может только создавать записи. Для просмотра журналов и статистики используйте инструменты чтения из базы данных.
Лицензия
MIT
Комментарии
Комментариев пока нет. Будьте первым.