Служба памяти MCP
MCP-сервер, предоставляющий возможности семантической памяти и постоянного хранения для Claude Desktop с использованием ChromaDB и преобразователей предложений. Этот сервис обеспечивает долгосрочное хранение памяти с возможностями семантического поиска, что делает его идеальным для поддержания контекста в разговорах и случаях.
Помощь
Пообщайтесь с репозиторием с помощью TalkToGitHub !
Related MCP server: TranscriptionTools MCP Server
Функции
Семантический поиск с использованием преобразователей предложений
Припоминание естественного языка с учетом времени (например, «на прошлой неделе», «вчера утром»)
Система извлечения памяти на основе тегов
Постоянное хранилище с использованием ChromaDB
Автоматическое резервное копирование баз данных
Инструменты оптимизации памяти
Поиск точного соответствия
Режим отладки для анализа сходства
Мониторинг работоспособности базы данных
Обнаружение и очистка дубликатов
Настраиваемая модель встраивания
Кроссплатформенная совместимость (Apple Silicon, Intel, Windows, Linux)
Аппаратно-ориентированная оптимизация для различных сред
Изящные откаты при ограниченных аппаратных ресурсах
Установка
Быстрый старт (рекомендуется)
Расширенный скрипт установки автоматически обнаруживает вашу систему и устанавливает соответствующие зависимости:
# Clone the repository
git clone https://github.com/doobidoo/mcp-memory-service.git
cd mcp-memory-service
# Create and activate a virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Run the installation script
python install.pyСкрипт install.py выполнит следующие действия:
Определите архитектуру вашей системы и доступные аппаратные ускорители
Установите соответствующие зависимости для вашей платформы.
Настройте оптимальные параметры для вашей среды
Проверьте установку и при необходимости проведите диагностику.
Установка докера
Вы можете запустить службу памяти с помощью Docker:
# Using Docker Compose (recommended)
docker-compose up
# Using Docker directly
docker build -t mcp-memory-service .
docker run -p 8000:8000 -v /path/to/data:/app/chroma_db -v /path/to/backups:/app/backups mcp-memory-serviceМы предоставляем несколько конфигураций Docker Compose для различных сценариев:
docker-compose.yml— стандартная конфигурация с использованием pip installdocker-compose.uv.yml— Альтернативная конфигурация с использованием менеджера пакетов UVdocker-compose.pythonpath.yml— Конфигурация с явными настройками PYTHONPATH
Чтобы использовать альтернативную конфигурацию:
docker-compose -f docker-compose.uv.yml upУстановка Windows (особый случай)
Пользователи Windows могут столкнуться с проблемами установки PyTorch из-за доступности колеса для определенной платформы. Используйте наш скрипт установки для Windows:
# After activating your virtual environment
python scripts/install_windows.pyЭтот скрипт обрабатывает:
Определение доступности и версии CUDA
Установка соответствующей версии PyTorch с правильного индексного URL-адреса
Установка других зависимостей без конфликта с PyTorch
Проверка установки
Установка через Smithery
Чтобы автоматически установить Memory Service для Claude Desktop через Smithery :
npx -y @smithery/cli install @doobidoo/mcp-memory-service --client claudeПодробное руководство по установке
Подробные инструкции по установке и устранению неполадок см. в Руководстве по установке .
Конфигурация Клода MCP
Стандартная конфигурация
Добавьте следующее в файл claude_desktop_config.json :
{
"memory": {
"command": "uv",
"args": [
"--directory",
"your_mcp_memory_service_directory", // e.g., "C:\\REPOSITORIES\\mcp-memory-service"
"run",
"memory"
],
"env": {
"MCP_MEMORY_CHROMA_PATH": "your_chroma_db_path", // e.g., "C:\\Users\\John.Doe\\AppData\\Local\\mcp-memory\\chroma_db"
"MCP_MEMORY_BACKUPS_PATH": "your_backups_path" // e.g., "C:\\Users\\John.Doe\\AppData\\Local\\mcp-memory\\backups"
}
}
}Конфигурация, специфичная для Windows (рекомендуется)
Пользователям Windows мы рекомендуем использовать скрипт-оболочку, чтобы убедиться, что PyTorch установлен правильно:
{
"memory": {
"command": "python",
"args": [
"C:\\path\\to\\mcp-memory-service\\memory_wrapper.py"
],
"env": {
"MCP_MEMORY_CHROMA_PATH": "C:\\Users\\YourUsername\\AppData\\Local\\mcp-memory\\chroma_db",
"MCP_MEMORY_BACKUPS_PATH": "C:\\Users\\YourUsername\\AppData\\Local\\mcp-memory\\backups"
}
}
}Скрипт-обертка будет:
Проверьте, установлен ли PyTorch и правильно ли он настроен.
При необходимости установите PyTorch с правильным индексным URL-адресом.
Запустите сервер памяти с соответствующей конфигурацией.
Руководство по использованию
Подробные инструкции по взаимодействию со службой памяти в Claude Desktop:
Руководство по вызову — изучите конкретные ключевые слова и фразы, которые запускают операции с памятью в Claude
Руководство по установке - Подробные инструкции по настройке
Служба памяти вызывается посредством команд естественного языка в ваших разговорах с Клодом. Например:
Сохранить: «Пожалуйста, помните, что крайний срок сдачи моего проекта — 15 мая».
Извлечь: «Помнишь, что я говорил тебе о сроках сдачи моего проекта?»
Удалить: «Пожалуйста, забудьте то, что я вам говорил о моем адресе».
Полный список команд и подробные примеры использования см. в Руководстве по вызову.
Операции с памятью
Служба памяти обеспечивает выполнение следующих операций через сервер MCP:
Операции с основной памятью
store_memory— сохранение новой информации с дополнительными тегамиretrieve_memory— выполнить семантический поиск соответствующих воспоминанийrecall_memory- Извлечение воспоминаний с использованием выражений времени на естественном языкеsearch_by_tag— поиск воспоминаний с использованием определенных теговexact_match_retrieve— поиск воспоминаний с точным совпадением содержанияdebug_retrieve— извлечение воспоминаний с оценками сходства
Управление базой данных
create_backup— Создать резервную копию базы данныхget_stats- Получить статистику памятиoptimize_db— Оптимизация производительности базы данныхcheck_database_health— получение показателей работоспособности базы данныхcheck_embedding_model— проверка статуса модели
Управление памятью
delete_memory- Удалить определенную память по хешуdelete_by_tag— Удалить все воспоминания с определенным тегомcleanup_duplicates- Удалить дубликаты записей
Параметры конфигурации
Настройте через переменные среды:
CHROMA_DB_PATH: Path to ChromaDB storage
BACKUP_PATH: Path for backups
AUTO_BACKUP_INTERVAL: Backup interval in hours (default: 24)
MAX_MEMORIES_BEFORE_OPTIMIZE: Threshold for auto-optimization (default: 10000)
SIMILARITY_THRESHOLD: Default similarity threshold (default: 0.7)
MAX_RESULTS_PER_QUERY: Maximum results per query (default: 10)
BACKUP_RETENTION_DAYS: Number of days to keep backups (default: 7)
LOG_LEVEL: Logging level (default: INFO)
# Hardware-specific environment variables
PYTORCH_ENABLE_MPS_FALLBACK: Enable MPS fallback for Apple Silicon (default: 1)
MCP_MEMORY_USE_ONNX: Use ONNX Runtime for CPU-only deployments (default: 0)
MCP_MEMORY_USE_DIRECTML: Use DirectML for Windows acceleration (default: 0)
MCP_MEMORY_MODEL_NAME: Override the default embedding model
MCP_MEMORY_BATCH_SIZE: Override the default batch sizeСовместимость оборудования
Платформа | Архитектура | Ускоритель | Статус |
macOS | Apple Silicon (M1/M2/M3) | МПС | ✅ Полностью поддерживается |
macOS | Apple Silicon под Rosetta 2 | Процессор | ✅ Поддерживается с резервными вариантами |
macOS | Интел | Процессор | ✅ Полностью поддерживается |
Окна | x86_64 | CUDA | ✅ Полностью поддерживается |
Окна | x86_64 | DirectML | ✅ Поддерживается |
Окна | x86_64 | Процессор | ✅ Поддерживается с резервными вариантами |
Линукс | x86_64 | CUDA | ✅ Полностью поддерживается |
Линукс | x86_64 | ROCм | ✅ Поддерживается |
Линукс | x86_64 | Процессор | ✅ Поддерживается с резервными вариантами |
Линукс | ARM64 | Процессор | ✅ Поддерживается с резервными вариантами |
Тестирование
# Install test dependencies
pip install pytest pytest-asyncio
# Run all tests
pytest tests/
# Run specific test categories
pytest tests/test_memory_ops.py
pytest tests/test_semantic_search.py
pytest tests/test_database.py
# Verify environment compatibility
python scripts/verify_environment_enhanced.py
# Verify PyTorch installation on Windows
python scripts/verify_pytorch_windows.py
# Perform comprehensive installation verification
python scripts/test_installation.pyПоиск неисправностей
Подробные инструкции по устранению неполадок см. в руководстве по установке .
Советы по быстрому устранению неполадок
Ошибки Windows PyTorch : используйте
python scripts/install_windows.pyКонфликты зависимостей Intel в macOS : используйте
python install.py --force-compatible-depsОшибки рекурсии : Запустите
python scripts/fix_sitecustomize.pyПроверка среды : Запустите
python scripts/verify_environment_enhanced.pyПроблемы с памятью : установите
MCP_MEMORY_BATCH_SIZE=4и попробуйте меньшую модель.Apple Silicon : убедитесь, что Python 3.10+ собран для ARM64, установите
PYTORCH_ENABLE_MPS_FALLBACK=1Тестирование установки : Запустите
python scripts/test_installation.py
Структура проекта
mcp-memory-service/
├── src/mcp_memory_service/ # Core package code
│ ├── __init__.py
│ ├── config.py # Configuration utilities
│ ├── models/ # Data models
│ ├── storage/ # Storage implementations
│ ├── utils/ # Utility functions
│ └── server.py # Main MCP server
├── scripts/ # Helper scripts
├── memory_wrapper.py # Windows wrapper script
├── install.py # Enhanced installation script
└── tests/ # Test suiteРуководство по разработке
Python 3.10+ с подсказками типов
Используйте классы данных для моделей
Строки документации в тройных кавычках для модулей и функций
Шаблон async/await для всех операций ввода-вывода
Следуйте рекомендациям по стилю PEP 8
Включить тесты для новых функций
Лицензия
Лицензия MIT — подробности см. в файле LICENSE
Благодарности
Команда ChromaDB для векторной базы данных
Проект Sentence Transformers для внедрения моделей
Проект MCP для спецификации протокола
Контакт
Интеграции
Служба памяти MCP может быть расширена различными инструментами и утилитами. См. раздел Интеграции для списка доступных опций, включая:
MCP Memory Dashboard — веб-интерфейс для просмотра и управления памятью
Контекст памяти Клода — внедрение контекста памяти в инструкции проекта Клода