МКП-память
Сервер протокола контекста модели (MCP), реализующий решения по памяти для приложений с большим объемом данных и эффективными возможностями графа знаний.
Обзор
Этот сервер MCP реализует решение памяти для приложений с большим объемом данных, которые включают поиск информации из многих источников, включая загруженные файлы. Он использует HippoRAG внутренне для управления памятью через эффективный граф знаний. HippoRAG является обязательной зависимостью для этого пакета.
Related MCP server: Memory Custom
Функции
Память на основе сеансов : создание и управление памятью для определенных сеансов чата.
Эффективный граф знаний : использует HippoRAG для управления памятью
Поддержка множественного транспорта : работает как с транспортами stdio, так и с транспортами SSE.
Возможности поиска : поиск информации из различных источников, включая загруженные файлы.
Автоматическое управление ресурсами : очистка на основе TTL как для сеансов, так и для экземпляров памяти
Установка
Установка из PyPI:
pip install mcp-mem hipporagИли установите из исходного кода:
git clone https://github.com/ddkang1/mcp-mem.git
cd mcp-mem
pip install -e .
pip install hipporagПримечание: HippoRAG является обязательной зависимостью для функционирования mcp-mem.
Использование
Вы можете запустить сервер MCP напрямую:
mcp-memПо умолчанию используется транспорт stdio. Для использования транспорта SSE:
mcp-mem --sseВы также можете указать хост и порт для транспорта SSE:
mcp-mem --sse --host 127.0.0.1 --port 3001Конфигурация
Базовая конфигурация
Чтобы использовать этот инструмент с Клодом в Windsurf, добавьте следующую конфигурацию в файл конфигурации MCP:
"memory": {
"command": "/path/to/mcp-mem",
"args": [],
"type": "stdio",
"pollingInterval": 30000,
"startupTimeout": 30000,
"restartOnFailure": true
}Поле command должно указывать на каталог, в который вы установили пакет Python с помощью pip.
Конфигурация переменных среды
Вы можете настроить LLM и модели встраивания, используемые mcp-mem, с помощью переменных среды:
EMBEDDING_MODEL_NAME: Имя используемой модели внедрения (по умолчанию: «text-embedding-3-large»)EMBEDDING_BASE_URL: Базовый URL для API встраивания (необязательно)LLM_NAME: Имя используемой модели LLM (по умолчанию: «gpt-4o-mini»).LLM_BASE_URL: Базовый URL для API LLM (необязательно)OPENAI_API_KEY: ключ API OpenAI (обязательно)
Конфигурация управления памятью
Сервер включает в себя функции автоматического управления ресурсами:
Session TTL : Автоматически удаляет каталоги сеансов после указанного количества дней бездействия. Устанавливается с помощью параметра конфигурации
session_ttl_days(по умолчанию: None — отключено).Instance TTL : Автоматически выгружает экземпляры HippoRAG из памяти после указанного периода бездействия. Устанавливается с помощью параметра конфигурации
instance_ttl_minutes(по умолчанию: 30 минут).Эта функция помогает управлять использованием памяти, выгружая неактивные экземпляры, сохраняя при этом базовые данные. Когда выгруженный экземпляр снова будет доступен, он будет автоматически перезагружен с диска.
Пример использования:
EMBEDDING_MODEL_NAME="your-model" LLM_NAME="your-llm" mcp-memДля удобства вы можете воспользоваться предоставленным примером скрипта:
./examples/run_with_env_vars.shДоступные инструменты
Сервер MCP предоставляет следующие инструменты:
create_memory : Создать новое воспоминание для данного сеанса чата
store_memory : Добавить память к определенному сеансу
retrieve_memory : Извлечь память из определенного сеанса
Разработка
Установка для развития
git clone https://github.com/ddkang1/mcp-mem.git
cd mcp-mem
pip install -e ".[dev]"Проведение тестов
pytestСтиль кода
В этом проекте используется Black для форматирования, isort для сортировки импорта и flake8 для линтинга:
black src tests
isort src tests
flake8 src testsВнося вклад
Вклады приветствуются! Пожалуйста, не стесняйтесь отправлять запрос на включение.
Лицензия
Данный проект лицензирован по лицензии MIT — подробности см. в файле LICENSE .