memory-mcp
memory-mcp
Постоянная, доступная для поиска, версионируемая память для ИИ-агентов — на базе Valkey (совместим с Redis), предоставляемая как MCP-сервер по HTTP.
Работает с любым агентом, поддерживающим MCP: Claude Code, Cursor, VS Code и другими.
Что он делает
Хранит именованные записи памяти с тегами, типами и областями видимости проекта
Поиск по пересечению тегов, фильтрация по типу/проекту и поиск по подстроке
Отслеживание обращений (записи, к которым обращаются чаще, поднимаются выше)
Полная история версий с возможностью отката
Эндпоинт для метрик Prometheus
Опциональная аутентификация через bearer-токен
Related MCP server: CORTEX Memory MCP
Быстрый старт
cp .env.example .env
# Optional: set MEMORY_MCP_AUTH_TOKEN in .env (see Auth section)
docker compose up -dЭта команда загружает предварительно собранный образ из GHCR. Теперь MCP-сервер доступен по адресу http://127.0.0.1:3106/mcp.
Чтобы собрать локально:
docker compose build
docker compose up -dИспользование существующего Redis или Valkey
По умолчанию docker compose up -d запускает встроенный контейнер Valkey. Чтобы подключиться к существующему экземпляру Redis или Valkey, установите VALKEY_URL и запустите только сервис memory-mcp:
# .env
VALKEY_URL=redis://your-host:6379
docker compose up -d memory-mcpРаботает любой сервер, совместимый с Redis (Redis 6+, Valkey, KeyDB, Upstash через rediss:// и т. д.). Сервер использует только базовые структуры данных: хеши, списки и множества.
Настройка агента
Скопируйте AGENTS.md из этого репозитория в корень вашего проекта. В нем описано, как агент должен использовать инструменты памяти, что хранить и когда.
Затем зарегистрируйте MCP-сервер в вашем клиентском приложении агента:
Claude Code
# Without auth
claude mcp add memory --transport http http://127.0.0.1:3106/mcp
# With auth
claude mcp add memory --transport http http://127.0.0.1:3106/mcp \
--header "Authorization: Bearer your-token"Или добавьте вручную в ~/.claude.json:
{
"mcpServers": {
"memory": {
"type": "http",
"url": "http://127.0.0.1:3106/mcp",
"headers": { "Authorization": "Bearer your-token" }
}
}
}Cursor
Добавьте в ~/.cursor/mcp.json (глобально) или .cursor/mcp.json (для проекта):
{
"mcpServers": {
"memory": {
"url": "http://127.0.0.1:3106/mcp",
"headers": { "Authorization": "Bearer your-token" }
}
}
}VS Code (GitHub Copilot, расширение MCP)
Добавьте в .vscode/mcp.json в вашем проекте:
{
"servers": {
"memory": {
"type": "http",
"url": "http://127.0.0.1:3106/mcp",
"headers": { "Authorization": "Bearer your-token" }
}
}
}Если вы не используете аутентификацию, пропустите строку headers / Authorization в любой конфигурации.
Конфигурация
Скопируйте .env.example в .env и отредактируйте по мере необходимости.
Переменная | По умолчанию | Описание |
|
| Интерфейс для привязки. Используйте |
|
| Порт, открытый на хосте |
| (пусто) | Bearer-токен для |
|
| Мягкое ограничение — предупреждает при записи при превышении |
|
| Максимальное количество снимков версий на запись |
|
| Ограничение памяти контейнера |
|
| Используемый образ Valkey |
Аутентификация
По умолчанию сервер работает без аутентификации. Это безопасно при привязке к локальному интерфейсу (127.0.0.1) и доступе только с локальной машины.
Чтобы включить аутентификацию:
# Generate a token
openssl rand -hex 32
# Add to .env
MEMORY_MCP_AUTH_TOKEN=your-generated-token
docker compose up -dВсе запросы к POST /mcp должны затем включать:
Authorization: Bearer <token>GET /health и GET /metrics всегда доступны без аутентификации.
Доступные инструменты
Инструмент | Описание |
| Поиск по тегам (пересечение), типу, проекту или подстроке текста |
| Получение одной записи по ID (увеличивает счетчик обращений) |
| Создание или обновление записи (версионируется при каждой записи) |
| Список записей с опциональной фильтрацией по типу/проекту |
| Удаление записи (сначала записывается версия-метка удаления) |
| Просмотр истории версий записи |
| Восстановление записи до предыдущей версии |
| Выявление устаревших записей с нулевым количеством обращений для проверки (только чтение) |
Типы памяти
pattern, decision, reference, feedback, incident, project, entity, state
Эндпоинты
Метод | Путь | Аутентификация | Описание |
|
| если настроено | Эндпоинт MCP JSON-RPC |
|
| нет | Проверка работоспособности |
|
| нет | Метрики Prometheus |
Модель данных
Каждая запись хранится как хеш Redis по адресу mem:<id>:
Поле | Описание |
| Краткий описательный заголовок |
| Полное содержимое |
| Тип записи |
| Список тегов через запятую |
| Кто создал |
| Область видимости проекта (пусто = кросс-проектная) |
| Дата создания в формате ISO |
| Дата последнего обновления |
| Количество извлечений через |
| Время жизни в секундах (опционально) |
История версий хранится в списке Redis по адресу memver:<id> (от новых к старым, ограничено MAX_VERSIONS_PER_ENTRY).
Индексы тегов, типов и проектов — это множества Redis (tag:<name>, type:<name>, project:<name>).
Лицензия
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
- memnodeOAuthdev.memnode
Persistent, inspectable memory for AI agents with lineage, correction, and a hosted MCP endpoint.
Persistent memory for AI agents across Claude, ChatGPT and any MCP client.
Persistent memory, knowledge graph, task management and more for AI agents via MCP.
- mcpOAuthai.butlerbrain
Persistent memory for AI assistants. Save once; recall from Claude, ChatGPT, or any MCP client.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceA local-first MCP memory server providing persistent, searchable memory for AI agents, powered by SQLite.1 npm1Apache 2.0
- FlicenseNot gradedqualityDmaintenancePersistent semantic memory MCP server for AI agents with hybrid search, LLM scoring, and decay engine, fully local.2-
- AlicenseNot gradedqualityDmaintenanceA local-first long-term memory system for AI coding agents, exposed as an MCP server.54 npmMIT
- AlicenseNot gradedqualityDmaintenanceA persistent, searchable memory layer for AI assistants, exposed as an MCP server. It supports CRUD, namespaces, hybrid ranked search, relationships, chat-context assembly, import/export, and optional LLM-powered auto-extraction.6 npmMIT