Другие языки: English | Ukrainian
Построить local-first MCP-сервер, который работает как практическая долговременная память для AI coding-агентов.
Сервер должен снижать повторные расходы токенов за счёт того, что:
выносит "холодный" контекст из активного prompt
сначала возвращает компактный контекст с указанием источника
открывает более полный контекст только через явный hydration-запрос
Что проект делает
Чего проект не делает
держит знания проекта доступными для поиска на стороне MCP
не управляет KV-cache хостованных моделей
локально хранит заметки и проиндексированный Markdown
не заменяет внутреннюю память модели
возвращает компактные карточки retrieval с provenance
не обещает одинаковую экономию для любого репозитория
поддерживает project и cross-project recall
не пытается решать все задачи только за счёт сжатия
Инженеры, работающие в реальных репозиториях через Claude Code, Codex, Cursor, OpenCode и похожие MCP-клиенты.
Команды, которым нужно локальное развёртывание с низким операционным overhead.
Agent-heavy workflow-и, которые постоянно возвращаются к docs, notes, ADR и Markdown knowledge base.
Принцип
Значение
Local-first
Базовый memory loop должен работать на машине разработчика
Markdown-first
Human-readable Markdown остаётся источником истины
Compact-first retrieval
Сначала возвращается минимально полезный ответ
Hydration on demand
Более крупные payload-ы должны запрашиваться явно
Traceability always
Каждый результат должен указывать на источник
Easy setup
Установка и подключение должны занимать минуты, а не часы
Направление
Выбор
Язык
Python 3.11+
MCP-фреймворк
официальный MCP Python SDK
Хранилище
локальная файловая система плюс embedded LanceDB
Embeddings
Sentence Transformers с лёгкой локальной моделью
Конфиг
environment variables плюс typed settings
Пакетирование
uv как основной путь, pip как fallback
Индексировать один или несколько Markdown-root.
Делить контент по heading-структуре с детерминированными fallback-правилами.
Сохранять source metadata: путь, heading path, timestamps, tags, checksum и block identity.
Поддерживать incremental re-index только для изменённого контента.
Принимать свободные текстовые запросы через semantic_search(...).
Возвращать компактные карточки результатов вместо сырых дампов полных файлов.
Сохранять видимыми provenance, релевантность, confidence и key points.
Явно предупреждать о low-confidence или ambiguous retrieval.
Открывать более полный excerpt только тогда, когда компактного retrieval уже недостаточно.
Поддерживать ограниченное локальное окружение вокруг выбранного hit.
Держать предсказуемый token budget за счёт явных hydration-вызовов.
Сохранять решения, уроки, handoff-и и reusable patterns.
Писать заметки с типом, тегами, timestamps и source refs.
Разрешать явную promotion из project в global.
Разрешать deprecate-ить устаревшие заметки без потери истории.
Показывать health и runtime metadata.
Показывать счётчики хранилища и freshness индекса.
Давать быстрый self-test контракт.
Держать smoke-test инструкции для поддерживаемых клиентов.
Запускать структурные lint-проверки Markdown-корпуса.
Выявлять битые внутренние Markdown-ссылки.
Выявлять orphan candidates без входящих и исходящих internal links.
Выявлять дубликаты нормализованных заголовков, повышающие неоднозначность retrieval.
Инструмент
Для чего
health()
базовая проверка состояния
server_info()
runtime, project, storage и install contract
list_scopes()
доступные scopes и режимы по умолчанию
self_test()
быстрая проверка контракта
remember_note(...)
сохранить типизированную заметку
promote_note(note_id)
скопировать project-note в reusable global memory
deprecate_note(...)
вывести устаревшее знание из активного обращения
semantic_search(...)
достать компактный контекст
hydrate(...)
открыть ограниченный более полный контекст
index_paths(...)
индексировать или обновить Markdown-root
lint_knowledge_base(...)
запускать структурную проверку целостности ссылок и согласованности wiki
Поле
Значение
block_id
стабильный идентификатор блока
file_path
путь к исходному Markdown
heading_path
иерархия heading-ов
content_raw
полный исходный текст
content_compressed
компактное представление для retrieval
embedding
вектор для поиска
checksum
обнаружение изменений
created_at / updated_at
временные metadata
tags
необязательные ярлыки
source_kind
markdown
Поле
Значение
note_id
идентификатор заметки
title
заголовок
content
полный текст
note_kind
decision, lesson, handoff или pattern
summary
краткое представление для retrieval
tags
необязательные ярлыки
session_id
привязка к сессии, когда это релевантно
project_id
владелец-проект
created_at
время создания
source_refs
provenance-ссылки
Целевые Показатели Производительности
локальный старт должен быть комфортным на ноутбуке разработчика
первая индексация должна укладываться в нормальный интерактивный setup
latency поиска должна оставаться интерактивной для малых и средних corpus
recall-heavy workflow-и обычно должны экономить значительную часть контекста по сравнению с naive full-file opening
Индексировать только явно выбранные пути.
По умолчанию ограничивать размер output.
Сохранять границы источника и provenance.
Рассматривать notes и retrieval как tool data, а не как абсолютный авторитет.
Избегать скрытых внешних сетевых зависимостей для core local flow.
Шаг
Ожидаемый контракт
Рекомендуемая установка
uv tool install git+https://github.com/Lexus2016/turbo_quant_memory@v0.2.4
Fallback-установка
python -m pip install git+https://github.com/Lexus2016/turbo_quant_memory@v0.2.4
Команда запуска
turbo-memory-mcp serve
Пример для Claude Code
claude mcp add --scope project tqmemory -- turbo-memory-mcp serve
Эквивалентные примеры
в репозитории есть готовые конфиги для Codex, Cursor, OpenCode и Antigravity
Уровень
Покрытие
Unit-тесты
chunking, IDs, payload contracts, provenance mapping
Integration-тесты
flow index -> search -> hydrate, note write-back и knowledge-base lint
Smoke-тесты
чистая установка, подключение клиента, индексация, retrieval, hydration
Benchmarking
repository-level отчёт об экономии контекста с реальными измерениями
Новый пользователь может установить пакет и подключить его к поддерживаемому клиенту за несколько минут.
Сервер может индексировать Markdown-файлы и искать их семантически.
Стандартный retrieval возвращает компактный контекст с источником, а не сырые дампы.
Агенты могут явно hydrate-ить более полный контекст при необходимости.
Заметки можно сохранять, продвигать, deprecate-ить и находить позже.
Оператор может быстро проверить health, freshness и состояние storage.
Оператор может lint-ить Markdown knowledge base на битые ссылки, orphan candidates и duplicate titles.
заменить внутренние механизмы памяти самой модели
заявлять прямой контроль над квантованием токенов или hosted KV-cache
строить enterprise multi-tenant governance в текущем scope
решать все задачи reasoning только через сжатие
Turbo Quant Memory - это практический MCP memory layer:
local-first
компактный по умолчанию
прослеживаемый в каждом retrieval
явный в момент открытия более полного контекста
простой в установке и эксплуатации в обычном workflow разработчика