genesys-memory
Genesys
Интеллектуальный уровень для памяти ИИ.
Механизм оценки + причинно-следственный граф + менеджер жизненного цикла для памяти ИИ-агентов. Поддерживает протокол MCP.
Что это такое
Genesys — это механизм оценки, причинно-следственный граф и менеджер жизненного цикла для памяти ИИ. Воспоминания оцениваются по мультипликативной формуле (релевантность × связность × реактивация), соединяются в причинно-следственный граф и активно удаляются, когда становятся неактуальными. Система подключается к любому хранилищу и поддерживает протокол MCP.
Related MCP server: tentra
Зачем это нужно
Плоская память не масштабируется. Сброс всего в векторное хранилище дает извлечение без понимания. 500-е воспоминание перекрывает 5 действительно важных.
Нет забывания = нет интеллекта. Настоящие системы памяти забывают. Без активной очистки ваш ИИ утонет в устаревшем контексте.
Нет причинно-следственного мышления. Векторное сходство не может ответить на вопрос «почему я выбрал X?» — для этого нужен граф.
Ваш ИИ помнит всё, но не понимает ничего. Genesys исправляет это.
Быстрый старт
Большинству пользователей стоит начать с Варианта 1 (в оперативной памяти). Если вы хотите полностью локальное решение без API-ключей, перейдите к Варианту 3: Obsidian + локально.
Вариант 1: В оперативной памяти (без зависимостей)
Самый быстрый способ попробовать Genesys. База данных не требуется — состояние хранится в оперативной памяти и при необходимости сохраняется в JSON-файл.
pip install genesys-memory
cp .env.example .env
# Set OPENAI_API_KEY in .env
uvicorn genesys.api:app --port 8000Чтобы сохранять данные после перезапуска, установите GENESYS_PERSIST_PATH в файле .env:
GENESYS_PERSIST_PATH=.genesys_state.jsonДайте это Claude, чтобы он настроил всё за вас: "Установи genesys-memory, создай .env с моим ключом OpenAI, запусти сервер на порту 8000 с бэкендом в оперативной памяти и подключи его как MCP-сервер."
Вариант 2: Postgres + pgvector (для продакшена)
Постоянное, масштабируемое хранилище с векторным поиском через pgvector.
pip install 'genesys-memory[postgres]'
cp .env.example .envОтредактируйте .env:
OPENAI_API_KEY=sk-...
GENESYS_BACKEND=postgres
DATABASE_URL=postgresql://genesys:genesys@localhost:5432/genesysЗапустите Postgres и выполните миграции:
docker compose up -d postgres
alembic upgrade head
GENESYS_BACKEND=postgres uvicorn genesys.api:app --port 8000Дайте это Claude, чтобы он настроил всё за вас: "Установи genesys-memory[postgres], запусти контейнер Postgres с pgvector через docker compose, выполни миграции alembic, создай .env с моим ключом OpenAI и DATABASE_URL, запусти сервер с GENESYS_BACKEND=postgres и подключи его как MCP-сервер."
Вариант 3: Obsidian Vault (локально-ориентированный)
Превращает ваше хранилище Obsidian в хранилище памяти Genesys. Markdown-файлы становятся узлами памяти, [[вики-ссылки]] — причинно-следственными связями. SQLite-файл (.genesys/index.db) отвечает за индексацию.
pip install 'genesys-memory[obsidian]'
cp .env.example .envОтредактируйте .env:
OPENAI_API_KEY=sk-...
GENESYS_BACKEND=obsidian
OBSIDIAN_VAULT_PATH=/path/to/your/vaultЗапустите сервер:
uvicorn genesys.api:app --port 8000При первом запуске Genesys индексирует все .md-файлы в хранилище и создает эмбеддинги. Наблюдатель за файлами выполняет инкрементальную переиндексацию при редактировании заметок.
Если
OBSIDIAN_VAULT_PATHне задан, Genesys автоматически определяет его, ища.obsidian/в~/Documents/personal,~/Documents/Obsidianи~/obsidian.
Полностью локально (без API-ключей)
Используйте локальный провайдер эмбеддингов для работы в режиме Obsidian без внешних зависимостей:
pip install 'genesys-memory[obsidian,local]'GENESYS_BACKEND=obsidian
GENESYS_EMBEDDER=local
OBSIDIAN_VAULT_PATH=/path/to/your/vault
# No OPENAI_API_KEY neededuvicorn genesys.api:app --port 8000Для эмбеддингов используется all-MiniLM-L6-v2 (384-размерность) через sentence-transformers. Модель загружается при первом использовании (~80 МБ).
Подключите Claude Desktop — добавьте в ваш claude_desktop_config.json:
{
"mcpServers": {
"genesys": {
"url": "http://localhost:8000/mcp"
}
}
}Или для Claude Code:
claude mcp add --transport http genesys http://localhost:8000/mcpДайте это Claude, чтобы он настроил всё за вас: "Установи genesys-memory[obsidian,local], создай .env с GENESYS_BACKEND=obsidian, GENESYS_EMBEDDER=local и OBSIDIAN_VAULT_PATH к моему хранилищу по адресу [YOUR_VAULT_PATH], запусти сервер на порту 8000 и подключи его как MCP-сервер. API-ключи не нужны."
Вариант 4: FalkorDB (графовый)
Использует FalkorDB (графовая база данных на базе Redis) для нативного обхода графа.
pip install 'genesys-memory[falkordb]'
cp .env.example .envОтредактируйте .env:
OPENAI_API_KEY=sk-...
GENESYS_BACKEND=falkordb
FALKORDB_HOST=localhostЗапустите FalkorDB и сервер:
docker compose up -d falkordb
uvicorn genesys.api:app --port 8000Дайте это Claude, чтобы он настроил всё за вас: "Установи genesys-memory[falkordb], запусти контейнер FalkorDB через docker compose, создай .env с моим ключом OpenAI и GENESYS_BACKEND=falkordb, запусти сервер на порту 8000 и подключи его как MCP-сервер."
Из исходного кода
git clone https://github.com/rishimeka/genesys.git
cd genesys
pip install -e '.[dev]'Скрипты для наполнения данными
Два вспомогательных скрипта наполняют запущенный экземпляр Genesys демонстрационными данными через REST API. Они требуют запущенного сервера с настроенной аутентификацией Clerk.
cp .env.example .env
# Set CLERK_SECRET_KEY and CLERK_USER_ID in .env
python seed_demo.py # Creates 25 memories with causal edges and runs recall queries
python seed_recalls.py # Runs 5 rounds of recall queries to build reactivation historyОба скрипта считывают учетные данные из переменных окружения (через .env). См. .env.example для всех необходимых переменных.
Подключение к вашему ИИ
Claude Code
claude mcp add --transport http genesys http://localhost:8000/mcpClaude Desktop
Добавьте в ваш claude_desktop_config.json:
{
"mcpServers": {
"genesys": {
"url": "http://localhost:8000/mcp"
}
}
}Любой MCP-клиент
Укажите клиенту адрес MCP-эндпоинта:
http://localhost:8000/mcpИнструменты MCP
Инструмент | Описание |
| Сохранить новое воспоминание, при необходимости связав его с другими |
| Извлечь воспоминания по запросу на естественном языке (вектор + граф) |
| Поиск воспоминаний с фильтрами (статус, диапазон дат, ключевое слово) |
| Пройти по причинно-следственному графу от заданного узла |
| Объяснить, почему существует воспоминание и какова его причинно-следственная цепочка |
| Получить статистику системы памяти |
| Закрепить воспоминание, чтобы оно никогда не было забыто |
| Открепить ранее закрепленное воспоминание |
| Безвозвратно удалить воспоминание |
| Список основных воспоминаний, опционально с фильтрацией по категориям |
| Установить пользовательские предпочтения для категорий основной памяти |
Как это работает
Каждое воспоминание оценивается тремя силами, перемноженными друг на друга:
decay_score = relevance × connectivity × reactivationРелевантность со временем убывает. Старые воспоминания исчезают, если их не подкреплять.
Связность поощряет воспоминания с большим количеством причинно-следственных связей. Узловые воспоминания выживают.
Реактивация усиливает воспоминания, к которым часто обращаются. Частота имеет значение.
Поскольку формула мультипликативная, воспоминание должно иметь высокий балл по всем трем осям, чтобы выжить. Сильно связанное, но никогда не используемое воспоминание все равно угаснет. Часто извлекаемое, но причинно-следственно изолированное воспоминание также исчезнет.
STORE → ACTIVE → DORMANT → FADING → PRUNED
↑ │
└── reactivation ────┘
(only if score=0, orphan, not pinned)Воспоминания также могут быть повышены до статуса основных (core) — структурно важных воспоминаний, которые автоматически закрепляются и никогда не удаляются.
Результаты тестирования
Протестировано на бенчмарке долгосрочной памяти LoCoMo (1540 вопросов в 10 диалогах, категория 5 исключена — состязательные вопросы, где истина содержит фактические ошибки, например, неверные даты и атрибуции событий):
Категория | J-Score |
Одношаговые | 94.3% |
Временные | 87.5% |
Многошаговые | 69.8% |
Открытый домен | 91.7% |
Общий | 89.9% |
Модель ответов: gpt-4o-mini | Модель оценки: gpt-4o-mini | Извлечение k=20
Для контекста: Mem0 набрал 67.1%, а Zep — 75.1% на том же бенчмарке. Полные скрипты воспроизведения находятся в benchmarks/.
Бэкенды хранилища
Бэкенд | Установка | Вариант использования |
| Встроено | Без зависимостей, для пробы |
|
| Постоянное, масштабируемое |
Obsidian vault |
| Локально-ориентированная база знаний |
FalkorDB |
| Графовый обход |
Custom | Свой | Реализуйте |
Конфигурация
Скопируйте .env.example в .env и установите:
Переменная | Обязательно | Описание |
| Если не | Эмбеддинги |
| Нет | Обработка памяти LLM (консолидация, обнаружение противоречий) |
| Нет |
|
| Нет |
|
| Если postgres | Строка подключения к Postgres |
| Если obsidian | Путь к вашему хранилищу Obsidian |
| Если falkordb | Хост FalkorDB (по умолчанию: |
| Нет | ID пользователя по умолчанию для однопользовательского режима |
См. .env.example для всех опций.
Создатели
Genesys создан Риши Мека в Astrix Labs. Он появился из-за разочарования от необходимости постоянно пересказывать контекст проекта Claude в каждой сессии. Цель — создать интеллектуальный уровень между вашим LLM и вашей памятью — полностью с открытым исходным кодом.
Участие в разработке
См. CONTRIBUTING.md.
Лицензия
Примечание: Релизы Genesys до v0.3.6 ошибочно документировались как Apache 2.0. Файл LICENSE всегда содержал текст AGPLv3. Начиная с v0.3.6, вся документация корректно ссылается на AGPL-3.0-or-later с Соглашением о лицензировании участников (Contributor License Agreement).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
No tool schema history has been recorded yet.
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.
Related MCP Connectors
Graph-native persistent memory for AI agents — 33 MCP tools, zero-LLM writes.
Persistent memory and knowledge graphs for AI agents. Hybrid search, context checkpoints, and more.
- memnodeOAuthdev.memnode
Persistent, inspectable memory for AI agents with lineage, correction, and a hosted MCP endpoint.
Evidence-grounded, graph-connected, correctable memory for agents.
Related MCP Servers
- FlicenseNot gradedqualityFmaintenanceCognitive memory system for AI agents with 129 MCP tools. Persistent 6-tier hierarchical memory (working→short-term→long-term→semantic), Ebbinghaus forgetting curves, dream consolidation, hybrid retrieval (BM25+RRF), goal tracking, emotional recall, knowledge graphs, and a 26-job consciousness daemon. Works with Claude Code, Cursor, and any MCP client.-
- AlicenseBqualityFmaintenanceMemory for AI coding agents. Persistent code graph + AI architecture diagrams. 32 MCP tools32695MIT
- AlicenseNot gradedqualityBmaintenanceLong-term memory for AI agents over MCP — episodic + semantic memory, a temporal knowledge graph, and a dialectic user model, exposed as 32 tools (recall, remember, context, graph, dreaming, peers). Zero dependencies, runs fully offline; leads the LoCoMo benchmark at ~35x fewer LLM calls.2Apache 2.0
- FlicenseNot gradedqualityCmaintenanceProvides persistent, causal memory for AI agents with semantic recall, causal tracking, and importance-based forgetting through MCP tools.-
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/Astrix-Labs/papez'
If you have feedback or need assistance with the MCP directory API, please join our Discord server