RemembrallMCP
👁 License: MIT
👁 Crates.io
👁 CI
👁 Docker
Постоянная память знаний и интеллектуальный анализ кода для ИИ-агентов. Ядро на Rust, Postgres + pgvector, протокол MCP.
Проблема: ИИ-агенты для написания кода не имеют состояния. Каждый сеанс начинается с нуля — нет памяти о прошлых решениях, нет понимания того, как устроена кодовая база, нет способа узнать, что сломается при внесении изменений.
Решение: RemembrallMCP дает агентам две вещи, которых нет у большинства инструментов памяти:
1. Постоянная память — Решения, шаблоны и организационные знания, которые сохраняются между сеансами. Гибридный семантический + полнотекстовый поиск мгновенно находит релевантный контекст.
2. Граф зависимостей кода — Живая карта вашей кодовой базы, построенная с помощью tree-sitter. Функции, классы, импорты и связи вызовов для 8 языков. Спросите «что сломается, если я изменю это?» и получите ответ за миллисекунды — еще до того, как агент к чему-либо прикоснется.
remembrall_recall("authentication middleware patterns")
-> 3 relevant memories from past sessions
remembrall_index("/path/to/project", "myapp")
-> Builds dependency graph: 847 symbols, 1,203 relationships
remembrall_impact("AuthMiddleware", direction="upstream")
-> 12 files depend on AuthMiddleware (with confidence scores)
remembrall_store("Switched from JWT to session tokens because...")
-> Decision stored for future sessionsПочему граф кода важен
Без RemembrallMCP агенты каждый раз исследуют вашу кодовую базу с нуля. Claude Code запускает агентов Explore, Codex читает десятки файлов, Cursor выполняет grep по директориям — все это тратит токены и время только на то, чтобы понять, что и что вызывает. Одна задача «найти всех вызывающих эту функцию» может стоить тысячи токенов при множественных вызовах инструментов.
С RemembrallMCP тот же запрос — это один вызов remembrall_impact, который возвращает результат менее чем за 1 мс без затрат токенов на исследование. Граф зависимостей уже построен и готов к работе.
Без RemembrallMCP | С RemembrallMCP | |
«Что вызывает UserService?» | Агент делает grep, читает 8-15 файлов, запускает субагентов |
|
«Где определено auth middleware?» | Агент делает glob, читает совпадения, фильтрует |
|
«Что мы решили насчет кэширования?» | У агента нет контекста, он спрашивает вас |
|
Типичная стоимость исследования | 5 000–20 000 токенов на вопрос | ~200 токенов (вызов инструмента + ответ) |
Экономия растет вместе с размером кодовой базы. В небольшом проекте агент может справиться с помощью grep и чтения. В монорепозитории из 500 файлов такое исследование становится «бутылочным горлышком» — агенты упираются в лимиты контекста, запускают множество субагентов или полностью пропускают межмодульные зависимости. Запросы к графу RemembrallMCP выполняются менее чем за 10 мс независимо от размера проекта, потому что структура заранее проиндексирована в Postgres, а не обнаруживается во время выполнения.
В этом разница между агентом, который каждый раз исследует вашу кодовую базу, и тем, который уже понимает её.
Бенчмарки
RemembrallMCP в настоящее время тестируется по двум направлениям:
Производительность агента в задачах с кодом — Протестировано на pallets/click v8.1.7 (594 символа, 1 589 связей). Пять идентичных задач по написанию кода выполнены с RemembrallMCP и без него. Полный отчет.
Качество воспроизведения памяти — Локальный набор тестов для проверки качества поиска, фильтрации, граничных случаев, ранжирования и задержки.
Метрика | Без RemembrallMCP | С RemembrallMCP | Дельта |
Всего вызовов инструментов (5 задач) | 112 | 5 | -95.5% |
Оценочное количество токенов | ~56 000 | ~1 000 | -98.2% |
Ср. вызовов инструментов на вопрос | 22.4 | 1.0 | -95.5% |
Экономия увеличивается на более крупных кодовых базах. Click — это около 90 файлов; в монорепозитории из 500+ файлов агентам без RemembrallMCP требуется пропорционально больше вызовов для исследования, в то время как запросы к графу остаются быстрее 10 мс независимо от размера.
Метрика воспроизведения памяти | Результат |
Пройденные запросы | 31 / 31 |
Recall@5 | 0.917 |
Precision@5 | 0.619 |
MRR | 0.908 |
Задержка p95 | 14 мс |
Запустите бенчмарки самостоятельно: см. benchmarks/ для получения информации о тестовом наборе и определениях задач.
Стратегию бенчмаркинга в целом (извлечение памяти, долгосрочная память, корректность графа кода и производительность агента) см. в docs/benchmark-roadmap.md.
Требования
Docker (для простейшей настройки) или PostgreSQL 16 с pgvector
Для импорта из GitHub: установленный и авторизованный GitHub CLI (
gh)
Related MCP server: smriti
Быстрый старт
Вариант 1: Docker Compose (самый простой)
git clone https://github.com/cdnsteve/remembrallmcp.git
cd remembrallmcp
# Start Postgres + initialize schema + download embedding model
docker compose up -d
# Verify it's running
docker compose exec remembrall remembrall statusЭто всё. Postgres с pgvector, схема и модель эмбеддингов настраиваются автоматически. База данных и кэш модели сохраняются после перезагрузок.
Для запуска MCP-сервера:
docker compose run --rm remembrallВариант 2: Загрузка предварительно собранного бинарного файла
# macOS (Apple Silicon)
curl -fsSL https://github.com/cdnsteve/remembrallmcp/releases/latest/download/remembrall-aarch64-apple-darwin.tar.gz | tar xz
sudo mv remembrall /usr/local/bin/
# Linux (x86_64)
curl -fsSL https://github.com/cdnsteve/remembrallmcp/releases/latest/download/remembrall-x86_64-unknown-linux-gnu.tar.gz | tar xz
sudo mv remembrall /usr/local/bin/
# Initialize (sets up Postgres via Docker, creates schema, downloads model)
remembrall initВариант 3: Сборка из исходного кода (требуется Rust 1.94+)
cargo build -p remembrall-server --release
# Binary is at target/release/remembrall
remembrall initПодключение к вашему MCP-клиенту
Codex
Codex использует тот же формат определения MCP-сервера. Зарегистрируйте сервер как remembrall и укажите путь либо к установленному бинарному файлу, либо к вашей локальной сборке.
Если remembrall установлен в PATH:
{
"mcpServers": {
"remembrall": {
"command": "remembrall"
}
}
}Если запуск из локальной копии исходного кода:
{
"mcpServers": {
"remembrall": {
"command": "/path/to/remembrallmcp/target/release/remembrall",
"env": {
"DATABASE_URL": "postgres://postgres:postgres@localhost:5450/remembrall"
}
}
}
}Если используется Docker Compose из Codex:
{
"mcpServers": {
"remembrall": {
"command": "docker",
"args": ["compose", "-f", "/path/to/remembrallmcp/docker-compose.yml", "run", "--rm", "-T", "remembrall"]
}
}
}Перезапустите Codex после добавления сервера, чтобы он переподключился и загрузил инструменты.
Claude Code, Cursor и другие MCP-клиенты
Добавьте в .mcp.json вашего проекта (работает с Claude Code, Cursor и любым MCP-совместимым клиентом).
Если используется предварительно собранный бинарный файл или сборка из исходников:
{
"mcpServers": {
"remembrall": {
"command": "remembrall"
}
}
}Если используется Docker Compose:
{
"mcpServers": {
"remembrall": {
"command": "docker",
"args": ["compose", "-f", "/path/to/remembrallmcp/docker-compose.yml", "run", "--rm", "-T", "remembrall"]
}
}
}Если запуск из исходного кода (не установлен в PATH):
{
"mcpServers": {
"remembrall": {
"command": "/path/to/remembrallmcp/target/release/remembrall",
"env": {
"DATABASE_URL": "postgres://postgres:postgres@localhost:5450/remembrall"
}
}
}
}Перезапустите ваш MCP-клиент. Все 9 инструментов станут доступны автоматически.
Попробуйте
> "Store a memory: We chose Postgres over MongoDB because our query patterns
are relational. Type: decision, tags: database, architecture"
> "Recall what we know about database decisions"
> "Index this project and show me the impact of changing UserService"MCP-инструменты
Память
Инструмент | Описание |
| Поиск в памяти — гибридный семантический + полнотекстовый с использованием RRF fusion |
| Сохранение решений, шаблонов, знаний с векторными эмбеддингами |
| Обновление существующей записи в памяти (контент, резюме, теги или важность) |
| Удаление записи из памяти по UUID |
| Массовый импорт описаний слитых PR из репозитория GitHub |
| Сканирование директории на наличие markdown-файлов и их импорт в память |
Интеллектуальный анализ кода
Инструмент | Описание |
| Парсинг директории проекта в граф зависимостей (8 языков) |
| Анализ радиуса поражения — «что сломается, если я изменю это?» |
| Поиск места определения функции или класса в проекте |
Поддерживаемые языки
Язык | Расширения | Оценка качества |
Python | .py | A (94.1) |
Java | .java | A (92.6) |
JavaScript | .js, .jsx | A (92.0) |
Rust | .rs | A (91.0) |
Go | .go | A (90.7) |
Ruby | .rb | B (87.9) |
TypeScript | .ts, .tsx | B (84.3) |
Kotlin | .kt, .kts | B (82.9) |
Оценки измерены на реальных open-source проектах (Click, Gson, Axios, bat, Cobra, Sidekiq, Hono, Exposed) с использованием автоматизированных тестов на основе эталонных данных.
Холодный старт
Новый экземпляр RemembrallMCP не обладает знаниями. Используйте инструменты импорта для начальной загрузки из истории существующего проекта.
Из истории PR GitHub:
> remembrall_ingest_github repo="myorg/myrepo" limit=100Извлекает слитые PR через gh, обрабатывает заголовки и тела сообщений в записи памяти и помечает их по проекту. PR с телом менее 50 символов пропускаются. Дедупликация по отпечатку контента предотвращает повторный импорт при повторных запусках.
Из markdown-документации:
> remembrall_ingest_docs path="/path/to/project"Обходит дерево каталогов, находит все файлы .md, разбивает их по заголовкам разделов H2 и сохраняет каждый раздел как запись в памяти с возможностью поиска. Пропускает node_modules, .git, target и подобные директории. Подходит для README, ARCHITECTURE, ADR и любой другой документации.
Запустите оба инструмента по одному разу для каждого проекта. После импорта remembrall_recall получит мгновенный контекст.
Архитектура
Source Code Organizational Knowledge
| |
v v
Tree-sitter Parsers Ingestion Pipeline
(8 languages) (GitHub PRs, Markdown docs)
| |
v v
+--------------------------------------------------+
| Postgres + pgvector |
| |
| memories (text + embeddings + metadata) |
| symbols (functions, classes, methods) |
| relationships (calls, imports, inherits) |
+--------------------------------------------------+
|
MCP Server (stdio)
|
Any MCP-compatible AI agentПарсинг: tree-sitter (Rust-биндинги, без Python в конвейере)
Эмбеддинги: fastembed (all-MiniLM-L6-v2, 384-dim, встроенный ONNX Runtime)
Поиск: Гибридный RRF (семантическое косинусное сходство + полнотекстовый tsvector)
Запросы к графу: Рекурсивные CTE с обнаружением циклов и затуханием уверенности
Транспорт: stdio через rmcp
CLI-команды
Команда | Описание |
| Настройка базы данных, схемы и модели эмбеддингов |
| Запуск MCP-сервера (по умолчанию, если подкоманда не указана) |
| Запуск контейнера базы данных Docker |
| Остановка контейнера базы данных Docker |
| Показать количество записей в памяти, количество символов, статус подключения |
| Проверка на наличие распространенных проблем (Docker, pgvector, схема, модель) |
| Удаление и повторное создание схемы (удаляет все данные) |
| Вывод версии и пути к конфигурации |
Конфигурация
Файл конфигурации: ~/.remembrall/config.toml (создается командой remembrall init)
Переменные окружения переопределяют значения из файла конфигурации:
Переменная | Описание |
| Строка подключения к PostgreSQL |
| Имя схемы базы данных (по умолчанию: |
Структура проекта
crates/
remembrall-core/ # Library - parsers, memory store, graph store, embedder
remembrall-server/ # MCP server + CLI binary
remembrall-test-harness/ # Parser quality testing against ground truth
remembrall-recall-test/ # Search quality testing
docs/ # Architecture and test plan docs
test-fixtures/ # Ground truth TOML files for 8 languages
tests/ # Recall test fixturesПроизводительность
Операция | Время |
Сохранение в память | 7 мс |
Семантический поиск (HNSW) | <1 мс |
Полнотекстовый поиск | <1 мс |
Гибридный поиск (end-to-end) | ~25 мс |
Анализ влияния | 4–9 мс |
Поиск символа | <1 мс |
Индексация 89 файлов Python | 2.3 с |
Лицензия
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Appeared in Searches
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/roboticforce/remembrallmcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
