Skip to main content
Glama

mem0 Memory System

Логотип Mem0

npm-версия Лицензия: Массачусетский технологический институт Node.js Машинопись МКП Память0 Загрузки Звезды GitHub

@pinkpixel/mem0-mcp MCP-сервер ✨

Сервер Model Context Protocol (MCP), который интегрируется с Mem0.ai для предоставления возможностей постоянной памяти для LLM. Он позволяет агентам ИИ хранить и извлекать информацию между сеансами.

Этот сервер использует mem0ai Node.js SDK для своей основной функциональности.

Особенности 🧠

Инструменты

  • add_memory : Сохраняет фрагмент текстового содержимого как память, связанную с определенным userId .

    • Обязательно: content (строка), userId (строка)

    • Необязательно: sessionId (строка), agentId (строка), orgId (строка), projectId (строка), metadata (объект)

    • Расширенный (Cloud API): includes (строка), excludes (строка), infer (логическое значение), outputFormat (строка), customCategories (объект), customInstructions (строка), immutable (логическое значение), expirationDate (строка)

    • Сохраняет предоставленный текст, позволяя вызывать его при будущих взаимодействиях.

  • search_memory : Поиск сохраненных воспоминаний на основе запроса на естественном языке для определенного userId .

    • Требуется: query (строка), userId (строка)

    • Необязательно: sessionId (строка), agentId (строка), orgId (строка), projectId (строка), filters (объект), threshold (число)

    • Расширенный (Cloud API): topK (число), fields (массив), rerank (логическое значение), keywordSearch (логическое значение), filterMemories (логическое значение)

    • Извлекает соответствующие воспоминания на основе семантического сходства.

  • delete_memory : удаляет определенную память из хранилища по ее идентификатору.

    • Обязательно: memoryId (строка), userId (строка)

    • Необязательно: agentId (строка), orgId (строка), projectId (строка)

    • Удаляет указанную память навсегда.

Предварительные условия 🔑

Этот сервер поддерживает два режима хранения:

  1. Режим облачного хранения ☁️ (рекомендуется)

    • Требуется API-ключ Mem0 (предоставляется как переменная среды MEM0_API_KEY )

    • Воспоминания постоянно хранятся на облачных серверах Mem0.

    • Локальная база данных не требуется

  2. Режим локального хранения 💾

    • Требуется ключ API OpenAI (предоставляется как переменная среды OPENAI_API_KEY )

    • Воспоминания хранятся в векторной базе данных в памяти (по умолчанию она непостоянна)

    • Данные теряются при перезапуске сервера, если они не настроены для постоянного хранения.

Установка и настройка ⚙️

Вы можете запустить этот сервер тремя основными способами:

1. Глобальная установка (рекомендуется для частого использования)

Установите пакет глобально и используйте команду mem0-mcp :

npm install -g @pinkpixel/mem0-mcp

После глобальной установки вы можете запустить сервер напрямую:

mem0-mcp

Настройте свой клиент MCP для использования глобальной команды:

Конфигурация облачного хранилища (глобальная установка)

{ "mcpServers": { "mem0-mcp": { "command": "mem0-mcp", "args": [], "env": { "MEM0_API_KEY": "YOUR_MEM0_API_KEY_HERE", "DEFAULT_USER_ID": "user123", "ORG_ID": "your-org-id", "PROJECT_ID": "your-project-id" }, "disabled": false, "alwaysAllow": [ "add_memory", "search_memory", "delete_memory" ] } } }

Конфигурация локального хранилища (глобальная установка)

{ "mcpServers": { "mem0-mcp": { "command": "mem0-mcp", "args": [], "env": { "OPENAI_API_KEY": "YOUR_OPENAI_API_KEY_HERE", "DEFAULT_USER_ID": "user123" }, "disabled": false, "alwaysAllow": [ "add_memory", "search_memory", "delete_memory" ] } } }

2. Использование npx (рекомендуется для эпизодического использования)

Настройте свой MCP-клиент (например, Claude Desktop, Cursor, Cline, Roo Code и т. д.) для запуска сервера с помощью npx :

Конфигурация облачного хранилища (npx)

{ "mcpServers": { "mem0-mcp": { "command": "npx", "args": [ "-y", "@pinkpixel/mem0-mcp" ], "env": { "MEM0_API_KEY": "YOUR_MEM0_API_KEY_HERE", "DEFAULT_USER_ID": "user123", "ORG_ID": "your-org-id", "PROJECT_ID": "your-project-id" }, "disabled": false, "alwaysAllow": [ "add_memory", "search_memory", "delete_memory" ] } } }

Конфигурация локального хранилища (npx)

{ "mcpServers": { "mem0-mcp": { "command": "npx", "args": [ "-y", "@pinkpixel/mem0-mcp" ], "env": { "OPENAI_API_KEY": "YOUR_OPENAI_API_KEY_HERE", "DEFAULT_USER_ID": "user123" }, "disabled": false, "alwaysAllow": [ "add_memory", "search_memory", "delete_memory" ] } } }

3. Запуск из клонированного репозитория

Примечание: этот метод требует сначала клонирования репозитория с помощью git.

Клонируйте репозиторий, установите зависимости и соберите сервер:

git clone https://github.com/pinkpixel-dev/mem0-mcp cd mem0-mcp npm install npm run build

Затем настройте клиент MCP для запуска созданного скрипта напрямую с помощью node :

Конфигурация облачного хранилища (клонированный репозиторий)

{ "mcpServers": { "mem0-mcp": { "command": "node", "args": [ "/absolute/path/to/mem0-mcp/build/index.js" ], "env": { "MEM0_API_KEY": "YOUR_MEM0_API_KEY_HERE", "DEFAULT_USER_ID": "user123", "ORG_ID": "your-org-id", "PROJECT_ID": "your-project-id" }, "disabled": false, "alwaysAllow": [ "add_memory", "search_memory", "delete_memory" ] } } }

Конфигурация локального хранилища (клонированный репозиторий)

{ "mcpServers": { "mem0-mcp": { "command": "node", "args": [ "/absolute/path/to/mem0-mcp/build/index.js" ], "env": { "OPENAI_API_KEY": "YOUR_OPENAI_API_KEY_HERE", "DEFAULT_USER_ID": "user123" }, "disabled": false, "alwaysAllow": [ "add_memory", "search_memory", "delete_memory" ] } } }

Важные примечания:

  1. Замените /absolute/path/to/mem0-mcp/ на фактический абсолютный путь к вашему клонированному репозиторию.

  2. Используйте файл build/index.js , а не src/index.ts

  3. Серверу MCP требуется чистый stdout для протокольной связи — любые библиотеки или код, которые записывают в stdout, могут помешать протоколу.

Идентификатор пользователя по умолчанию (необязательный резерв)

Инструменты add_memory и search_memory требуют аргумент userId для связывания воспоминаний с конкретным пользователем.

Для удобства во время тестирования или в однопользовательских сценариях вы можете опционально задать переменную окружения DEFAULT_USER_ID при запуске сервера. Если эта переменная установлена, а аргумент userId опущен при вызове инструмента search_memory , сервер будет использовать значение DEFAULT_USER_ID для поиска.

Примечание: хотя этот резервный вариант и существует, обычно рекомендуется, чтобы вызывающий агент (LLM) явно предоставлял правильный userId как для добавления, так и для поиска воспоминаний, чтобы избежать неоднозначности.

Пример конфигурации с использованием DEFAULT_USER_ID :

{ "mcpServers": { "mem0-mcp": { "command": "npx", "args": [ "-y", "@pinkpixel/mem0-mcp" ], "env": { "MEM0_API_KEY": "YOUR_MEM0_API_KEY_HERE", "DEFAULT_USER_ID": "user123", "ORG_ID": "your-org-id", "PROJECT_ID": "your-project-id" } } } }

Или при запуске напрямую с node :

git clone https://github.com/pinkpixel-dev/mem0-mcp cd mem0-mcp npm install npm run build
{ "mcpServers": { "mem0-mcp": { "command": "node", "args": [ "path/to/mem0-mcp/build/index.js" ], "env": { "OPENAI_API_KEY": "YOUR_OPENAI_API_KEY_HERE", "DEFAULT_USER_ID": "user123" } } } }

Облако против локального хранилища 🔄

Облачное хранилище (API Mem0)

  • Постоянный по умолчанию — ваши воспоминания остаются доступными во время сеансов и перезапусков сервера.

  • Локальная база данных не требуется — все данные хранятся на серверах Mem0

  • Более высокое качество поиска — использует оптимизированные алгоритмы поиска Mem0

  • Дополнительные поля — поддерживает параметры agent_id и threshold

  • Требуется - API-ключ Mem0

Локальное хранилище (API OpenAI)

  • В памяти по умолчанию - данные хранятся только в оперативной памяти и не являются постоянными в долгосрочной перспективе . Хотя некоторое кэширование может иметь место, не следует полагаться на это для постоянного хранения.

  • Риск потери данных . Данные памяти будут потеряны при перезапуске сервера, перезагрузке системы или в случае завершения процесса.

  • Рекомендуется для — разработки, тестирования или временного использования.

  • Для постоянного хранения — используйте опцию облачного хранилища с API Mem0, если вам нужна надежная долговременная память.

  • Использует вложения OpenAI — для функциональности поиска векторов

  • Автономность — все данные остаются на вашем компьютере

  • Требуется - API-ключ OpenAI

Развитие 💻

Клонируйте репозиторий и установите зависимости:

git clone https://github.com/pinkpixel-dev/mem0-mcp cd mem0-mcp npm install

Сборка сервера:

npm run build

Для разработки с автоматической пересборкой при изменении файла:

npm run watch

Отладка 🐞

Поскольку серверы MCP взаимодействуют через stdio, отладка может быть сложной. Вот несколько подходов:

  1. Используйте MCP Inspector : этот инструмент может контролировать связь по протоколу MCP:

npm run inspector
  1. Ведение журнала консоли : при добавлении журналов консоли всегда используйте console.error() вместо console.log() чтобы избежать вмешательства в протокол MCP.

  2. Файлы среды : используйте файл .env для локальной разработки, чтобы упростить настройку ключей API и других параметров конфигурации.

Технические заметки по реализации 🔧

Расширенные параметры API Mem0

При использовании режима Cloud Storage с API Mem0 вы можете использовать дополнительные параметры для более сложного управления памятью. Хотя они явно не представлены в схеме инструмента, их можно включить в объект metadata при добавлении воспоминаний:

Расширенные параметры для add_memory :

Параметр

Тип

Описание

metadata

объект

Сохраните дополнительный контекст о памяти (например, местоположение, время, идентификаторы). Это может быть использовано для фильтрации во время поиска.

includes

нить

Конкретные предпочтения для включения в память.

excludes

нить

Конкретные предпочтения, которые следует исключить из памяти.

infer

булев

Выводить ли воспоминания или напрямую хранить сообщения (по умолчанию: true).

output_format

нить

Версия формата: v1.0 (по умолчанию, устарела) или v1.1 (рекомендуется).

custom_categories

объект

Список категорий с названиями и описаниями.

custom_instructions

нить

Рекомендации по обработке и организации воспоминаний для конкретных проектов.

immutable

булев

Является ли память неизменной (по умолчанию: false).

expiration_date

нить

Когда истекает срок действия памяти (формат: ГГГГ-ММ-ДД).

org_id

нить

Идентификатор организации, связанный с этим воспоминанием.

project_id

нить

Идентификатор проекта, связанный с этим воспоминанием.

version

нить

Версия памяти (v1 устарела, v2 рекомендуется для новых приложений).

Чтобы использовать эти параметры с сервером MCP, включите их в свой объект метаданных при вызове инструмента add_memory . Например:

{ "content": "Important information to remember", "userId": "user123", "sessionId": "project-abc", "metadata": { "includes": "important context", "excludes": "sensitive data", "immutable": true, "expiration_date": "2025-12-31", "custom_instructions": "Prioritize this memory for financial questions", "version": "v2" } }

Расширенные параметры для search_memory :

API поиска Mem0 v2 предлагает мощные возможности фильтрации, которые можно использовать с помощью параметра filters :

Параметр

Тип

Описание

filters

объект

Сложные фильтры с логическими операторами и условиями сравнения

top_k

целое число

Количество возвращаемых лучших результатов (по умолчанию: 10)

fields

нить[]

Конкретные поля для включения в ответ

rerank

булев

Следует ли переоценивать воспоминания (по умолчанию: false)

keyword_search

булев

Выполнять ли поиск по ключевым словам (по умолчанию: false)

filter_memories

булев

Фильтровать ли воспоминания (по умолчанию: false)

threshold

число

Минимальный порог схожести результатов (по умолчанию: 0,3)

org_id

нить

Идентификатор организации для фильтрации воспоминаний

project_id

нить

Идентификатор проекта для фильтрации воспоминаний

Параметр filters поддерживает сложные логические операции (И, ИЛИ) и различные операторы сравнения:

Оператор

Описание

in

Соответствует любому из указанных значений

gte

Больше или равно

lte

Меньше или равно

gt

Больше чем

lt

Меньше, чем

ne

Не равно

icontains

Проверка на наличие без учета регистра

Пример использования сложных фильтров с помощью инструмента search_memory :

{ "query": "What are Alice's hobbies?", "userId": "user123", "filters": { "AND": [ { "user_id": "alice" }, { "agent_id": {"in": ["travel-agent", "sports-agent"]} } ] }, "threshold": 0.5, "top_k": 5 }

Это позволит найти воспоминания, связанные с увлечениями Алисы, где user_id — «alice» И agent_id — либо «travel-agent», либо «sports-agent», возвращая не более 5 результатов с показателем схожести не менее 0,5.

Более подробную информацию об этих параметрах можно найти в документации API Mem0 .

SafeLogger

Сервер MCP реализует класс SafeLogger , который выборочно перенаправляет вызовы console.log из библиотеки mem0ai в stderr, не нарушая протокол MCP:

  • Перехватывает вызовы console.log и проверяет трассировки стека для определения источника

  • Перенаправляет только вызовы журнала из библиотеки mem0ai или нашего собственного кода

  • Сохраняет чистый stdout для связи по протоколу MCP

  • Автоматически очищает ресурсы при завершении процесса

Это обеспечивает корректную работу клиентов MCP, сохраняя при этом полезную отладочную информацию.

Переменные среды

Сервер распознает несколько переменных среды, которые управляют его поведением:

  • MEM0_API_KEY : API-ключ для режима облачного хранения

  • OPENAI_API_KEY : API-ключ для режима локального хранения (встраивание)

  • DEFAULT_USER_ID : идентификатор пользователя по умолчанию для операций с памятью

  • ORG_ID / YOUR_ORG_ID : идентификатор организации по умолчанию для режима облачного хранения

  • PROJECT_ID / YOUR_PROJECT_ID : идентификатор проекта по умолчанию для режима облачного хранения

Важные примечания:

  • Идентификаторы сеансов передаются как параметры инструмента (например, "sessionId": "my-session" ), а не как переменные среды.

  • При использовании инструментов параметры, предоставленные напрямую (например, orgId , projectId , sessionId ), имеют приоритет над переменными среды, что обеспечивает максимальную гибкость.


Сделано с ❤️ Pink Pixel

Deploy Server
A
security – no known vulnerabilities
-
license - not tested
A
quality - confirmed to work

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Гибкая система памяти для приложений ИИ, которая поддерживает несколько поставщиков LLM и может использоваться как сервер MCP или как прямая интеграция библиотеки, обеспечивая автономное управление памятью без явных команд.

  1. Особенности 🧠
    1. Инструменты
  2. Предварительные условия 🔑
    1. Установка и настройка ⚙️
      1. 1. Глобальная установка (рекомендуется для частого использования)
      2. 2. Использование npx (рекомендуется для эпизодического использования)
      3. 3. Запуск из клонированного репозитория
      4. Идентификатор пользователя по умолчанию (необязательный резерв)
    2. Облако против локального хранилища 🔄
      1. Облачное хранилище (API Mem0)
      2. Локальное хранилище (API OpenAI)
    3. Развитие 💻
      1. Отладка 🐞
        1. Технические заметки по реализации 🔧
          1. Расширенные параметры API Mem0
          2. SafeLogger
          3. Переменные среды

        Related MCP Servers

        • -
          security
          -
          license
          -
          quality
          This advanced memory server facilitates neural memory-based sequence learning and prediction, enhancing code generation and understanding through state maintenance and manifold optimization as inspired by Google Research's framework.
          Last updated -
          34
          70
          MIT License
          • Apple
          • Linux
        • A
          security
          -
          license
          A
          quality
          A lightweight MCP server that provides a unified interface to various LLM providers including OpenAI, Anthropic, Google Gemini, Groq, DeepSeek, and Ollama.
          Last updated -
          6
          654
        • A
          security
          -
          license
          A
          quality
          A persistent memory system for Large Language Models (LLMs) that enables continuous learning and knowledge retention across sessions through the Model Context Protocol (MCP).
          Last updated -
          24
          23
          2
          MIT License
        • -
          security
          -
          license
          -
          quality
          🧠 High-performance persistent memory system for Model Context Protocol (MCP) powered by libSQL. Features vector search, semantic knowledge storage, and efficient relationship management - perfect for AI agents and knowledge graph applications.
          Last updated -
          5
          MIT License

        View all related MCP servers

        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/pinkpixel-dev/mem0-mcp'

        If you have feedback or need assistance with the MCP directory API, please join our Discord server