memory-bank-mcp
Provides a read-only MCP interface to query and retrieve verifiable evidence from a local memory bank, supporting search, dossier, chronology, source, and evidence tools.
README
Verifiable Memory Bank
Русский | English | Українська
Verifiable Memory Bank создает локальную воспроизводимую внешнюю память для людей и AI-клиентов. К каждому результату прикреплено точное доказательство, поэтому найденный фрагмент можно проверить в именованном нормализованном представлении, а его происхождение вернуть к неизменяемым исходным байтам, датам, атрибуции и SHA-256.
<p align="center"> <img src="docs/images/verifiable-memory-overview.png" width="470" alt="Обзор архитектуры Verifiable Memory Bank"> </p>
Зачем это нужно
По папке документов трудно искать. Векторная база находит похожие формулировки, но одно сходство не доказывает утверждение. Verifiable Memory Bank разделяет эти задачи:
- исходные байты хранятся в неизменяемом хранилище с адресацией по содержимому;
- детерминированные адаптеры превращают поддерживаемые форматы в неперекрывающиеся сегменты;
- политика доверия помечает материал как
canon,contextилиunresolved; - полнотекстовый поиск SQLite и TF-IDF плюс NumPy SVD дают точный и смысловой поиск;
- Reciprocal Rank Fusion объединяет оба рейтинга в режиме
hybrid; - каждый результат содержит стабильный
segment_id, аevidenceсвязывает его с хешированным нормализованным представлением через TextPosition и TextQuote selectors и с исходным объектом через SHA-256; - MCP-сервер только для чтения открывает AI-клиентам тот же интерфейс, ориентированный на доказательства.
Банк не считает автоматическим подтверждением смысловую близость, свежую дату публикации, результат OCR, цитату или речь без надёжной атрибуции.
Быстрый старт
Нужны Python 3.11 или новее и uv.
git clone https://github.com/axrbarsic/verifiable-memory-bank.git
cd verifiable-memory-bank
uv tool install .
memory-bank --bank .memory-bank init
memory-bank --bank .memory-bank ingest examples/sample-corpus
memory-bank --bank .memory-bank search "amber current" --mode hybrid --limit 5
Скопируйте segment_id из результата и откройте точное доказательство:
memory-bank --bank .memory-bank evidence SEGMENT_ID
memory-bank --bank .memory-bank health
Флаг --json после memory-bank или подкоманды включает машиночитаемый вывод.
Тот же банк можно выбрать через MEMORY_BANK_HOME.
В подробном руководстве описаны конфигурация, JSON, загрузка из inbox, приёмка и устранение неполадок.
Вымышленный sample corpus намеренно оставлен на английском. Это стабильная fixture для воспроизводимых англоязычных поисковых тестов, а не часть пользовательской документации.
Интерфейс CLI
memory-bank --bank PATH [--json] init
memory-bank --bank PATH [--json] ingest INPUT [INPUT ...]
memory-bank --bank PATH [--json] ingest-inbox [INBOX]
memory-bank --bank PATH [--json] status
memory-bank --bank PATH [--json] search QUERY [--mode exact|semantic|hybrid] [--limit N]
memory-bank --bank PATH [--json] source SOURCE_ID
memory-bank --bank PATH [--json] evidence SEGMENT_ID
memory-bank --bank PATH [--json] dossier TOPIC [--limit N]
memory-bank --bank PATH [--json] chronology TOPIC [--limit N]
memory-bank --bank PATH [--json] health
memory-bank --bank PATH [--json] accept
memory-bank --bank PATH [--json] migrate
Все фильтры и аргументы показывает memory-bank COMMAND --help.
MCP
memory-bank-mcp обслуживает один банк через stdio и не предоставляет
инструменты изменения. Безопасный для desktop запуск по умолчанию использует
~/.memory-bank, а CLI использует локальный для проекта .memory-bank.
Переменная MEMORY_BANK_HOME выбирает другой абсолютный путь для обоих:
{
"mcpServers": {
"verifiable-memory-bank": {
"command": "memory-bank-mcp",
"env": {
"MEMORY_BANK_HOME": "/absolute/path/to/.memory-bank"
}
}
}
}
Доступны инструменты status, search, dossier, chronology, source и
evidence. Перед тем как представить существенное утверждение подтверждённым,
клиент должен получить точное доказательство.
MCP возвращает переносимый object_ref и не передает абсолютный путь банка или
локальный file: URI в контекст модели. Локальный CLI и Python API сохраняют
операторский object_path.
Плагин Codex
В plugins/verifiable-memory-bank/ находится плагин с переиспользуемым
процессом проверки доказательств. Руководство по установке
объясняет подключение через marketplace Codex и запуск MCP-сервера.
Форматы и расширение
В ядро входят детерминированные адаптеры для обычного текста, разметки, структурированных данных и субтитров. Опциональные extras добавляют PDF, OCR и медиа:
uv tool install '.[pdf]'
uv tool install '.[ocr]'
uv tool install '.[media]'
uv tool install '.[all]'
Неизвестный формат получает needs_adapter, а не вымышленный успешный
результат. См. руководство по адаптерам и рабочий
пример собственного адаптера.
Доверие и доказательства
Доверие задаётся явной политикой, а не поисковой оценкой. canon может сделать
прямой первичный материал допустимым для подтверждения, context объясняет или
цитирует его, а unresolved сохраняет материал, которому ещё нужны атрибуция
или проверка. Сегменты quote, ocr и derived сами по себе не проходят этот
gate. Поле claim_evaluation: not_evaluated напоминает, что банк не
проверял entailment конкретного тезиса.
Подробности: доверие и доказательства,
examples/trust-config.yaml и
examples/acceptance.yaml.
Архитектура и проверка
При загрузке система строит полную версию-кандидат, проверяет базу данных,
хеши объектов, смещения сегментов, полнотекстовый индекс, семантический артефакт
и ссылки, запечатывает effective trust policy в manifest, затем атомарно
переключает указатель ACTIVE. Читатели видят либо предыдущую валидную сборку,
либо новую валидную сборку.
- Техническая архитектура
- Мультимодельный prior-art аудит
- Архитектурный рассказ
- Политика безопасности
- Модель приватности
Для разработки репозитория:
make install
make check
make acceptance
make acceptance строит wheel, устанавливает его в чистое окружение Python
3.13, дважды загружает sample corpus, проверяет идемпотентность и активацию,
затем вызывает search, health и acceptance через установленный CLI.
Лицензии
| Материал | Лицензия |
|---|---|
| Программный код и исполняемые примеры | 0BSD |
| Документация и оригинальные иллюстрации | CC0-1.0 |
| Полностью вымышленный sample corpus и YAML-примеры | CC0-1.0 |
| Загруженные пользователем материалы | Проект их не перелицензирует |
См. полную карту лицензий, текст 0BSD и юридический текст CC0-1.0.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
Neon Database
MCP server for interacting with Neon Management API and databases
E2B
Using MCP to run code via e2b.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.