mem0 MCP-сервер для управления проектами
Версия: 0.3.2
Сервер mem0 MCP объединяет приложения MCP Host и облачный сервис mem0, обеспечивая структурированное управление памятью проекта и семантический поиск информации, связанной с проектом.
Заметки о выпуске
v0.3.1 и v0.3.2
Исправление: инструмент «добавить память проекта» работает правильно, путем корректировки формата сообщения в соответствии с API mem0.
Добавлена спецификация версии в пример конфигурации хоста MCP (для устранения неполадок кэширования).
v0.3.0
Исправление: поскольку облачный сервис mem0 изменил способ обработки данных, способ обработки данных был изменен.
Переход с шаблонов на основе объектов JavaScript на шаблоны и руководства на основе TOML, что более эффективно для извлечения данных облачным сервисом mem0.
Добавлена функция ведения журнала (подробности см. в разделе «Конфигурация хоста MCP»).
v0.2.0
Выполнен переход с вызова на основе SSE на вызов на основе stdio для лучшей совместимости с хостами MCP.
Добавлена поддержка установки и выполнения на основе pipx.
Упрощенное развертывание через точку входа скрипта
pyproject.toml
Related MCP server: Mem0 MCP Server
Функции
Хранение и извлечение памяти проекта
Семантический поиск информации о проекте
Структурированная обработка данных управления проектами
Полностью протестированные инструменты MCP Server на базе stdio
Гибкое ведение журнала: stderr по умолчанию, вывод файла через
--logfileИнтеллектуальный вызов CLI через pipx-совместимый интерфейс
Конфигурация хоста MCP
При запуске этого сервера MCP необходимо явно указать режим вывода журнала и (если включено) абсолютный путь к файлу журнала с помощью аргументов командной строки .
--log=off: Отключить все журналы (журналы не пишутся)--log=on --logfile=/absolute/path/to/logfile.log: Включить ведение журнала и записывать журналы в указанный абсолютный путь к файлуОба аргумента требуются , если включено ведение журнала. Сервер выйдет с ошибкой, если один из них отсутствует, путь не абсолютный или если указаны недопустимые значения.
Пример: ведение журнала отключено
"mem0": {
"command": "pipx",
"args": ["run", "mem0-mcp-for-pm", "--log=off"],
"env": {
"MEM0_API_KEY": "{apikey}"
}
}Пример: Ведение журнала включено (требуется абсолютный путь к файлу журнала)
"mem0": {
"command": "pipx",
"args": ["run", "mem0-mcp-for-pm", "--log=on", "--logfile=/workspace/logs/mem0-mcp-server.log"],
"env": {
"MEM0_API_KEY": "{apikey}"
}
}Примечание:
Если включено ведение журнала, журналы записываются только по указанному абсолютному пути к файлу. Относительные пути или пропуск
--logfileприведут к ошибке.Если ведение журнала отключено, журналы не выводятся.
Если требуемые аргументы отсутствуют или недействительны, сервер не запустится и выведет сообщение об ошибке.
Файл журнала должен быть доступен и доступен для записи процессу сервера MCP.
Если у вас возникли проблемы с запуском этого сервера, это может быть связано с кэшированием старой версии mem0-mcp-for-pm. Попробуйте запустить его с последней версией (установите
xyzна последнюю версию) mem0-mcp-for-pm с помощью следующих настроек.
"mem0": {
"command": "pipx",
"args": ["run", "mem0-mcp-for-pm==x.y.z", "--log=off"],
"env": {
"MEM0_API_KEY": "{apikey}"
}
}Инструменты
add_project_memoryget_all_project_memoriessearch_project_memoriesupdate_project_memorydelete_project_memorydelete_all_project_memories
Все инструменты доступны через протокол MCP на базе stdio.
Ведение журнала
По умолчанию: stderr
Необязательно:
--logfile /path/to/logfile.log
Лицензия
См. файл ЛИЦЕНЗИЯ.
Технические подробности
Уникальность этого форка заключается в том, что структурированный формат между MCP Host и mem0 ожидается в формате кодирования, например TOML. Убедитесь, что вы установили пользовательскую инструкцию, чтобы иметь возможность лучше обрабатывать.
Индивидуальная инструкция
Чтобы mem0 работал так, как нужно для управления проектами, в этом форке есть следующая инструкция для ИИ.
Для памяти0
Проверьте исходный код.
Для MCP-хоста
Чтобы зарегистрировать информацию о проекте в mem0, всегда используйте формат TOML для всех записей.
Чтобы обеспечить оптимальное извлечение данных ИИ, удобство поиска и управления проектами, следуйте этим рекомендациям:
1. Используйте TOML в качестве базового формата
Все записи памяти проекта должны быть предоставлены в виде строк в формате TOML.
Всегда включайте как минимум следующие поля верхнего уровня:
category(например, «Управление задачами», «Статус проекта» и т. д.)project(название проекта)timestamp(формат ISO 8601, например, «2025-04-29T16:00:00+09:00»)
2. Рекомендуемые шаблоны
Ниже приведены шаблоны TOML для распространенных вариантов использования при управлении проектами.
Адаптируйте их по мере необходимости, но сохраняйте единообразие структуры и метаданных для лучшего поиска и извлечения.
Пример статуса проекта
category = "Project Status"
project = "project-name"
timestamp = "2025-04-29T16:00:00+09:00"
name = "Project Name"
purpose = "Project Purpose"
version = "1.2.0"
phase = "development"
completionLevel = 0.65
milestones = ["Planning", "Development"]
currentFocus = ["Implementing Feature X", "Optimizing Component Y"]
[metadata]
type = "status"
priority = "high"
tags = ["backend", "release"]Пример управления задачами
category = "Task Management"
project = "project-name"
timestamp = "2025-04-29T16:00:00+09:00"
[[tasks]]
description = "Implement Feature X"
status = "in-progress"
deadline = "2025-05-15"
assignee = "Team A"
dependencies = ["Component Y"]
[metadata]
type = "task"
priority = "high"
tags = ["frontend", "authentication"]3. Управление контекстом с помощью run_id
Используйте параметр
run_idдля логической группировки связанных записей.Рекомендуемый формат:
project:project-name:category:subcategoryПример:
run_id = "project:member-system:feature:authentication"
4. Использование метаданных
Всегда добавляйте таблицу
[metadata]TOML для улучшения поиска и фильтрации.Пример:
[metadata] type = "task" priority = "high" tags = ["frontend"]
5. Жизненный цикл информации
Используйте
immutable = trueчтобы запретить обновления.Используйте
expiration_date = "YYYY-MM-DD"для установки срока действия.
6. Лучшие практики
Соблюдайте последовательность в названиях и структуре полей.
Всегда указывайте
projectиtimestamp.Используйте понятные, описательные теги и метаданные.
При необходимости используйте комментарии TOML для получения подсказок от человека/ИИ.
Следуя этим рекомендациям на основе TOML, вы максимально увеличите эффективность извлечения и управления памятью проекта mem0.
Для более сложных вариантов использования обратитесь к исходному коду и инструкциям на стороне сервера.
Ниже приведен лишь пример, найдите лучший вариант самостоятельно!!
mem0 Руководство по эффективной памяти проекта (улучшенное)
В этом руководстве изложены стратегии и шаблоны для эффективного управления информацией о проекте с использованием mem0. Цель состоит в том, чтобы улучшить поисковую и повторную пригодность данных проекта с помощью структурированных шаблонов и управления метаданными.
Структура информации и шаблоны
mem0 может эффективно управлять следующими типами информации. Использование структурированных шаблонов улучшает поиск и повторное использование. Обратите внимание, что предоставленные шаблоны являются примерами и должны быть адаптированы для соответствия конкретным потребностям проекта.
1. Управление статусом проекта
Шаблон :
category = "Project Status"
project = "project-name"
timestamp = "2025-04-29T16:00:00+09:00"
name = "Project Name"
purpose = "Project Purpose"
version = "1.2.0"
phase = "development"
completionLevel = 0.65
milestones = ["Planning Phase", "Development Phase"]
currentFocus = ["Implementing Feature X", "Optimizing Component Y"]
risks = ["Concerns about API stability", "Resource shortage"]2. Управление задачами
Шаблон :
category = "Task Management"
project = "project-name"
timestamp = "2025-04-29T16:00:00+09:00"
[[tasks]]
description = "Implement Feature X"
status = "in-progress"
deadline = "2025-03-15"
assignee = "Team A"
dependencies = ["Component Y"]
[[tasks]]
description = "Setup Development Environment"
status = "completed"3. Резюме встречи
Шаблон :
category = "Meeting Summary"
project = "project-name"
timestamp = "2025-04-29T16:00:00+09:00"
title = "Weekly Progress Meeting"
date = "2025-03-23"
attendees = ["Sato", "Suzuki", "Tanaka"]
topics = ["Progress Report", "Risk Management", "Next Week's Plan"]
decisions = ["Approve additional resource allocation", "Delay release date by one week"]
[[actionItems]]
description = "Procedure for adding resources"
assignee = "Sato"
dueDate = "2025-03-25"
[[actionItems]]
description = "Revise test plan"
assignee = "Suzuki"
dueDate = "2025-03-24"Эффективные методы управления информацией
1. Управление контекстом (run_id)
Используя параметр run_id mem0, вы можете логически группировать связанную информацию. Это помогает поддерживать определенные потоки разговоров или контексты проектов.
Рекомендуемый формат :
project:project-name:category:subcategoryПример использования :
run_id = "project:member-system:feature:authentication"2. Эффективное использование метаданных
Использование метаданных может улучшить поиск информации. Мы рекомендуем использовать следующую схему:
[metadata]
type = "meeting|task|decision|status|risk"
priority = "high|medium|low"
tags = ["frontend", "backend", "design"]
status = "pending|in-progress|completed"3. Управление жизненным циклом информации
Используя параметры immutable и expiration_date , вы можете управлять жизненным циклом информации.
Пример использования :
immutable = true
expiration_date = "2025-06-30"Практические модели использования
1. Пример управления спринтом
category = "Project Status"
project = "member-system"
timestamp = "2025-05-01T10:00:00+09:00"
sprint = "Sprint-2025-05"
duration = "2 weeks"
goals = ["Implement authentication feature", "Improve UI"]
[[tasks]]
description = "Implement login screen"
assignee = "Tanaka"
estimate = "3 days"
[[tasks]]
description = "API integration"
assignee = "Sato"
estimate = "2 days"
[metadata]
type = "status"
tags = ["sprint-planning"]category = "Project Status"
project = "member-system"
timestamp = "2025-05-08T15:00:00+09:00"
sprint = "Sprint-2025-05"
completionLevel = 0.4
[[status]]
task = "Implement login screen"
progress = 0.7
status = "in-progress"
[[status]]
task = "API integration"
progress = 0.2
status = "in-progress"
blockers = ["Change in API response specification"]
[metadata]
type = "status"
tags = ["sprint-progress"]2. Пример управления рисками
category = "Risk Management"
project = "member-system"
timestamp = "2025-05-03T11:00:00+09:00"
[[risks]]
description = "Concerns about external API stability"
impact = "High"
probability = "Medium"
mitigation = "Implement fallback mechanism"
owner = "Development Lead"
status = "open"
[metadata]
type = "risk"
priority = "high"category = "Risk Management"
project = "member-system"
timestamp = "2025-05-10T16:30:00+09:00"
[[risks]]
description = "Concerns about external API stability"
status = "Resolved"
resolution = "Fallback mechanism implementation completed"
[metadata]
type = "risk"
priority = "medium"Важные моменты
Стандартные метаданные : всегда включайте название проекта и временную метку.
Формат данных : используйте TOML для всех записей и включите таблицу
[metadata].Управление контекстом : используйте
run_idиерархически для поддержания релевантности информации.Эффективность поиска : согласованные метаданные и структура повышают эффективность поиска.
4. Стратегия внедрения
Для реализации вышеуказанных улучшений мы рекомендуем следующие шаги:
Улучшите метод :
Обновление строк документации: улучшение примеров использования и описаний параметров.
Обработка ошибок: предоставьте более подробную информацию об ошибке.
Формат ответа: четко укажите используемые параметры.
Обновление пользовательских инструкций :
Обогатите примеры шаблонов.
Уточнить рекомендуемое использование
run_id(ввести иерархическую структуру).Стандартизируйте схему метаданных.
Приведите примеры практического использования.
Эти улучшения повысят удобство использования и эффективность управления информацией, сохранив при этом совместимость с существующими API.
5. Резюме
Предлагаемые улучшения обеспечивают ценность следующими способами, сохраняя совместимость с существующими функциями сервера mem0 MCP: