Zen — минималистичное приложение для заметок с MCP-интеграцией
Zen — это легковесное, self-hosted приложение для ведения заметок, написанное на Go. Оно хранит заметки в виде стандартных Markdown-файлов внутри локальной базы данных SQLite. Благодаря одному бинарному файлу и минимальным зависимостям, Zen потребляет мало ресурсов и идеально подходит для тех, кто ценит приватность, скорость и простоту.
Ключевые возможности
- Единый бинарный файл или развёртывание через Docker Compose — никаких сложных зависимостей.
- Гибкая система тегов для организации заметок.
- Полнотекстовый поиск с ранжированием BM25 — быстрый и релевантный поиск по всем заметкам.
- Хранение в SQLite: все заметки — это обычные
.md-файлы, доступные и вне приложения.
- Поддержка MCP (Model Context Protocol): вы можете искать, выводить список и читать заметки напрямую из AI-агентов, таких как Claude Desktop.
- Низкое потребление ресурсов — работает даже на слабом оборудовании.
- Более 390 звезд на GitHub, активное сообщество.
Варианты использования
- Личная база знаний: все заметки в одном месте с быстрым поиском.
- Ведение дневника или документации с возможностью тегирования.
- Лёгкая замена Notion/Obsidian для тех, кому нужен минимализм и полный контроль над данными.
Установка и запуск
1. Запуск одним бинарным файлом
Скачайте последний релиз для вашей ОС со страницы Releases (github.com). Затем запустите:
./zen serve
По умолчанию приложение будет доступно по адресу http://localhost:3000. База данных и заметки будут созданы в папке рядом с исполняемым файлом.
2. Запуск через Docker Compose
Создайте файл docker-compose.yml:
version: '3.8'
services:
zen:
image: ghcr.io/your-org/zen:latest
ports:
- "3000:3000"
volumes:
- ./zen-data:/app/data
restart: unless-stopped
Затем выполните:
docker compose up -d
После запуска откройте http://localhost:3000.
Конфигурация
Основные параметры задаются через переменные окружения:
| Переменная |
По умолчанию |
Описание |
ZEN_PORT |
3000 |
Порт веб-сервера |
ZEN_DATA_DIR |
./data |
Путь к папке с SQLite и Markdown-файлами |
ZEN_MCP_ENABLED |
true |
Включить MCP-сервер для AI-агентов |
ZEN_MCP_PORT |
3001 |
Порт для MCP-сервера (если включён) |
Использование MCP с AI-агентами
Zen поддерживает протокол MCP (Model Context Protocol), что позволяет подключать его к совместимым AI-клиентам (например, Claude Desktop).
Настройка в Claude Desktop
Отредактируйте файл конфигурации Claude Desktop (claude_desktop_config.json) и добавьте:
{
"mcpServers": {
"zen": {
"command": "./zen",
"args": [
"mcp",
"--db-path", "путь/к/zen.db"
],
"env": {}
}
}
}
Если Zen запущен через Docker, путь к базе данных должен соответствовать тому, что внутри контейнера (см. volume ./zen-data:/app/data).
Доступные MCP-инструменты
После подключения вы сможете выполнять следующие операции из AI-агента:
search_notes(query) — полнотекстовый поиск по заметкам с BM25-ранжированием.
list_notes(tag?) — список заметок, опционально фильтрованных по тегу.
read_note(id) — чтение полного содержимого конкретной заметки.
Пример диалога с агентом:
Пользователь: "Найди мои заметки по Go-разработке"
Агент (вызывает search_notes("Go разработка")) → возвращает результаты.
Работа с заметками из браузера
Веб-интерфейс Zen минималистичен:
- Создание: кнопка "New Note", ввод текста в Markdown, добавление тегов через запятую.
- Поиск: строка поиска с мгновенным полнотекстовым поиском.
- Теги: панель тегов для быстрой фильтрации списка заметок.
- Редактирование: клик по заметке открывает её для правки. Все изменения сохраняются в Markdown-файлы.
Хранение данных
Все заметки физически сохраняются как .md-файлы в папке data/notes/ (по умолчанию). SQLite-база (zen.db) содержит метаданные и поисковый индекс. Вы можете редактировать .md-файлы любым текстовым редактором — изменения отобразятся в Zen после перезагрузки страницы или при следующем поиске.
Предупреждения
- Zen — это self-hosted решение. Вы самостоятельно отвечаете за резервное копирование базы данных и файлов заметок.
- Если вы используете Docker, убедитесь, что volume для данных смонтирован правильно, иначе заметки будут потеряны при пересоздании контейнера.
- MCP-сервер по умолчанию слушает на порту 3001. Если вы запускаете несколько Zen-инстансов, изменяйте порты через переменные окружения.
- Проект находится в активной разработке; возможны изменения в API и формате хранения.
Ссылки
Комментарии
Комментариев пока нет. Будьте первым.