LINZA — MCP-сервер для Claude Code: карта папки знаний
Локальный MCP-сервер, который индексирует Markdown-папку и показывает агенту темы, связи и кандидатов в память. Записи только после ревью.
claude mcp add --env LINZA_VAULT=<LINZA_VAULT> --env LINZA_EMBED_PROVIDER=<LINZA_EMBED_PROVIDER> --env LINZA_EMBED_URL=<LINZA_EMBED_URL> --env LINZA_EMBED_MODEL=<LINZA_EMBED_MODEL> --env LINZA_EMBED_KEY=<LINZA_EMBED_KEY> --transport stdio linza -- uvx linza-mcpЧто делает LINZA
LINZA читает выбранную папку с заметками и складывает рядом служебную SQLite-базу .linza/linza.db. Агенту достаётся карта: сколько заметок найдено, свежий ли индекс, какие смысловые области видны, какие формы материалов повторяются, где просматриваются связи и что стоит помнить в следующих сессиях. Исходные файлы при индексации не переписываются.
Всё, что сервер предлагает изменить, проходит через ревью. Сначала dry-run, потом подтверждение, и только затем запись в .linza или в компактный YAML. Принятое можно отозвать: одобрение помечается как отозванное, старая запись остаётся в истории. Команды teach и grow подбирают удачные принятые примеры и предлагают похожие интенты с объяснением, почему они попали в партию.
Нужен Python 3.10+. Обычная установка закрывает Markdown, TXT, JSON, DOCX и XLSX; для чтения PDF ставят вариант с pypdf. Смысловой поиск, карта тем и предложения связей работают через embedding-сервер, поэтому без него часть инструментов останется вхолостую. Папку задают переменной LINZA_VAULT — без неё сервер возьмёт ./vault, и для реальной работы это плохой выбор.
Какие задачи решает
- разобрать большую папку заметок и увидеть в ней основные области
- отличить повторяющиеся формы материалов от разовых записей
- найти вероятные связи между документами и объяснить их
- собрать компактный пакет контекста с источниками для агента
- подготовить кандидатов в память для будущих сессий
Примеры запросов агенту
- Проверь LINZA через
agent_workspace(action="doctor")и проиндексируй папку. - Покажи первые 3-5 предложений на ревью и объясни, почему ты так решил.
- Прими формат материала «логи диагностики» по этим примерам.
Как установить LINZA
Командой платформы
claude mcp add --env LINZA_VAULT=<LINZA_VAULT> --env LINZA_EMBED_PROVIDER=<LINZA_EMBED_PROVIDER> --env LINZA_EMBED_URL=<LINZA_EMBED_URL> --env LINZA_EMBED_MODEL=<LINZA_EMBED_MODEL> --env LINZA_EMBED_KEY=<LINZA_EMBED_KEY> --transport stdio linza -- uvx linza-mcpВместо <…> подставьте свои значения. Ещё 4 переменные окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from linza-mcp <команда>
Командой платформы
codex mcp add linza --env LINZA_VAULT=<LINZA_VAULT> --env LINZA_EMBED_PROVIDER=<LINZA_EMBED_PROVIDER> --env LINZA_EMBED_URL=<LINZA_EMBED_URL> --env LINZA_EMBED_MODEL=<LINZA_EMBED_MODEL> --env LINZA_EMBED_KEY=<LINZA_EMBED_KEY> -- uvx linza-mcpВместо <…> подставьте свои значения. Ещё 4 переменные окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from linza-mcp <команда>
Файл настроек
{
"mcpServers": {
"linza": {
"command": "uvx",
"args": [
"linza-mcp"
],
"env": {
"LINZA_VAULT": "<LINZA_VAULT>",
"LINZA_EMBED_PROVIDER": "<LINZA_EMBED_PROVIDER>",
"LINZA_EMBED_URL": "<LINZA_EMBED_URL>",
"LINZA_EMBED_MODEL": "<LINZA_EMBED_MODEL>",
"LINZA_EMBED_KEY": "<LINZA_EMBED_KEY>"
}
}
}
}Вместо <…> подставьте свои значения. Ещё 4 переменные окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from linza-mcp <команда>
Файл настроек
{
"servers": {
"linza": {
"type": "stdio",
"command": "uvx",
"args": [
"linza-mcp"
],
"env": {
"LINZA_VAULT": "<LINZA_VAULT>",
"LINZA_EMBED_PROVIDER": "<LINZA_EMBED_PROVIDER>",
"LINZA_EMBED_URL": "<LINZA_EMBED_URL>",
"LINZA_EMBED_MODEL": "<LINZA_EMBED_MODEL>",
"LINZA_EMBED_KEY": "<LINZA_EMBED_KEY>"
}
}
}
}Вместо <…> подставьте свои значения. Ещё 4 переменные окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from linza-mcp <команда>
Командой платформы
gemini mcp add -e LINZA_VAULT=<LINZA_VAULT> -e LINZA_EMBED_PROVIDER=<LINZA_EMBED_PROVIDER> -e LINZA_EMBED_URL=<LINZA_EMBED_URL> -e LINZA_EMBED_MODEL=<LINZA_EMBED_MODEL> -e LINZA_EMBED_KEY=<LINZA_EMBED_KEY> linza uvx linza-mcpВместо <…> подставьте свои значения. Ещё 4 переменные окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from linza-mcp <команда>
По шагам, с командами для каждой платформы: Как подключить MCP-сервер: Claude Code, Codex, Cursor, VS Code, Gemini CLI и другие
Вопросы о LINZA
Как установить LINZA в Claude Code?
Сначала поставьте пакет: python -m pip install linza-mcp. Затем добавьте сервер командой claude mcp add linza-mcp -e LINZA_EMBED_KEY=<LINZA_EMBED_KEY> -- uvx linza-mcp.
Что делает LINZA?
Индексирует Markdown-папку, строит локальную базу .linza/linza.db и отдаёт агенту карту тем, форматов материалов и связей. Изменения вносятся только после ревью и подтверждения.
Нужен ли embedding-сервер для работы LINZA?
Сервер запустится и покажет инструменты без него, но смысловой поиск, карта тем и предложения связей без эмбеддингов не заработают. Для локального варианта подойдёт LM Studio с embedding-моделью.