basicmachines-co/basic-memory

basicmachines-co/basic-memory

от basicmachines-co
Basic Memory хранит заметки в Markdown-файлах, ищет по смыслу, связывает идеи в граф. Данные не покидают диск, работает офлайн.

MCP Toplist

License: AGPL v3 PyPI version Python 3.12+ Tests Ruff Ask DeepWiki

Skip the install — try Basic Memory in the cloud

Claude, Codex, or Cursor connected in 30 seconds. No Python, no JSON, no terminal. $15.00/mo locked in for life (12.50/mo yearly pricing). 7-day free trial — cancel any time before day 7 if it's not for you. Beta pricing — sign up now and your rate never goes up. OSS users: code BMFOSS takes another 20% off for 3 months.

Start free trial →

Basic Memory Teams is now available!

Give your team a single, shared cloud workspace. Knowledge isn't confined to one person — anything a teammate writes is immediately available to everyone else and to their AI assistants. Edit a note together in real time, hand work off between humans and agents, and build one connected knowledge base instead of scattered copies. Same pricing - start with one user and add more as needed.


Basic Memory

Your AI never forgets again.

Pick up right where you left off — in Claude, Codex, Cursor, ChatGPT, or anything that speaks MCP. Your knowledge lives as Markdown files that both you and your AI can read, write, and search.

Часто задаваемые вопросы

Инструменты были проиндексированы:
build_contextтолько чтение

Создаёт контекст из URI memory://, чтобы продолжать разговоры естественно. Используйте это, чтобы вернуться к предыдущим обсуждениям или изучить связанные темы. Формат URL памяти: - Используйте пути вида "folder/note" или "memory://folder/note" - Сопоставление с шаблоном: "folder/" соответствует всем заметкам в папке - Допустимые символы: буквы, цифры, дефисы, подчёркивания, прямые слэши - Избегайте: двойных слэшей (//), угловых скобок (<>), кавычек, вертикальных черт (|) - Примеры: "specs/search", "projects/basic-memory", "notes/" Временные диапазоны поддерживают естественный язык, например: - "2 дня назад", "на прошлой неделе", "сегодня", "3 месяца назад" - Или стандартные форматы вроде "7d", "24h" Варианты формата: - "json" (по умолчанию): структурированный JSON без внутренних полей - "text": компактный текст в формате Markdown для использования LLM

Build Context

Параметры
  • depthstring | integer | null

    Сколько переходов по связям нужно пройти (рекомендуется 1-3 для производительности)

  • max_relatedinteger

    Максимальное количество связанных результатов для возврата (по умолчанию: 10)

  • output_formatenum

    Формат ответа - "json" для структурированного JSON-словаря, "text" для компактного текста в формате Markdown

  • pageinteger

    Номер страницы возвращаемых результатов (по умолчанию: 1)

  • page_sizeinteger

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

  • projectstring | null

    Название проекта для построения контекста. Необязательно — сервер разрешит его автоматически по иерархии. Если имя неизвестно, используйте list_memory_projects(), чтобы найти доступные проекты.

  • project_idstring | null

    Внешний идентификатор проекта (UUID). Когда он известен, отдавайте предпочтение ему, а не project — он направляет запрос к точному проекту независимо от совпадений имён в облачных рабочих областях. Имеет приоритет над project. Получайте из list_memory_projects().

  • timeframestring | null

    Насколько далеко назад смотреть. Поддерживает естественный язык, например «2 дня назад», «на прошлой неделе».

  • urlstringобязательный

    URI вида memory://, указывающий на содержимое обсуждения (например, memory://specs/search)

canvasидемпотентный

Создаёт файл Obsidian canvas, чтобы визуализировать концепции и связи.

Create Canvas

Параметры
  • directorystringобязательный

    Путь к каталогу относительно корня проекта, куда сохраняется canvas. Использует прямые слэши (/) как разделители. Примеры: "diagrams", "projects/2025", "visual/maps"

  • edgesobject[]обязательный

    Список edge-объектов, соответствующих спецификации JSON Canvas 1.0

  • nodesobject[]обязательный

    Список объектов node, соответствующих спецификации JSON Canvas 1.0

  • projectstring | null

    Имя проекта, в котором создаётся canvas. Необязательно - сервер определит его по иерархии. Если проект неизвестен, используйте list_memory_projects(), чтобы найти доступные проекты.

  • project_idstring | null

    Внешний идентификатор проекта (UUID). Когда он известен, отдавайте предпочтение ему, а не project — он направляет запрос к точному проекту независимо от совпадений имён в облачных рабочих областях. Имеет приоритет над project. Получайте из list_memory_projects().

  • titlestringобязательный

    Название холста (будет сохранено как title.canvas)

cloud_infoтолько чтение

Возвращает информацию об опциональном Basic Memory Cloud и рекомендации по настройке.

Cloud Info

Параметры

Без параметров.

create_memory_project

Создаёт новый проект Basic Memory. Создаёт новый проект с указанными именем и путём. Каталог проекта создаётся, если его не существует. Опционально устанавливает новый проект в качестве проекта по умолчанию.

Создать Memory Project

Параметры
  • output_formatenum

    «text» возвращает существующий читаемый человеком текст результата. «json» возвращает структурированные метаданные создания проекта.

  • project_namestringобязательный

    Название для нового проекта (должно быть уникальным)

  • project_pathstringобязательный

    Путь в файловой системе, где будет храниться проект.

  • set_defaultboolean

    Указывает, нужно ли установить этот проект как стандартный (необязательно, по умолчанию — False)

  • workspacestring | null

    Необязательный селектор рабочего пространства для создания проекта. Для вызовов из ИИ предпочтителен slug, но tenant_id и уникальное имя тоже принимаются. Если параметр опущен, используется рабочее пространство по умолчанию из подключения. Значения можно получить через list_workspaces. Селектор рабочего пространства подразумевает маршрутизацию через облако: без облачных учетных данных вызов завершается ошибкой сразу, а не создает локальный проект молча (#954).

delete_note

Удаляет заметку или директорию по заголовку, постоянной ссылке или пути

Удаляет заметку

Параметры
  • identifierstringобязательный

    Для файлов: заголовок заметки или постоянная ссылка для удаления. Для каталогов: путь к каталогу (например, "docs", "projects/2025"). Можно указать заголовок вроде "Meeting Notes" или постоянную ссылку вроде "notes/meeting-notes".

  • is_directoryboolean

    Если True, удаляет весь каталог и все его содержимое. Когда True, идентификатор должен быть путём к каталогу (без расширений файлов). По умолчанию — False.

  • output_formatenum

    "text" сохраняет текущее поведение (bool/string). "json" возвращает метаданные удаления в машиночитаемом формате.

  • projectstring | null

    Название проекта, из которого нужно удалить. Необязательно - сервер определит его по иерархии. Если неизвестно, используйте list_memory_projects(), чтобы узнать доступные проекты.

  • project_idstring | null

    Внешний идентификатор проекта (UUID). Когда он известен, отдавайте предпочтение ему, а не project — он направляет запрос к точному проекту независимо от совпадений имён в облачных рабочих областях. Имеет приоритет над project. Получайте из list_memory_projects().

delete_project

Удаляет проект Basic Memory. Удаляет проект из конфигурации и базы данных. Это НЕ удаляет сами файлы на диске - только удаляет проект из конфигурации Basic Memory и записей в базе данных.

Удаляет проект

Параметры
  • project_namestringобязательный

    Название проекта для удаления

  • workspacestring | null

    Необязательный селектор рабочей области, из которой нужно удалить проект. Для ИИ-вызовов предпочтителен slug, но tenant_id и уникальное имя тоже подойдут. Если не указано, используется рабочая область по умолчанию из подключения. Наличие селектора подразумевает облачную маршрутизацию: без учетных данных вызов сразу завершится ошибкой, как и в create_memory_project (#954).

edit_note

Редактирует существующую заметку Markdown с помощью различных операций, таких как append, prepend, find_replace, replace_section, insert_before_section или insert_after_section.

Редактирует заметку

Параметры
  • contentstringобязательный

    Контент для добавления или замены

  • expected_replacementsinteger | null

    Для операции find_replace — ожидаемое количество замен (проверка не пройдёт, если фактическое количество не совпадает).

  • find_textstring | null

    Для операции find_replace - текст для поиска и замены

  • identifierstringобязательный

    Точное название, постоянная ссылка или URL вида memory:// для заметки, которую нужно отредактировать. Требуется точное совпадение - нечёткое сопоставление для операций редактирования не поддерживается. Если не уверены, сначала вызовите search_notes() или read_note(), чтобы найти правильный идентификатор.

  • operationstringобязательный

    Операция редактирования для выполнения: - "append": Добавляет содержимое в конец заметки (создаёт заметку, если её нет) - "prepend": Добавляет содержимое в начало заметки (создаёт заметку, если её нет) - "find_replace": Заменяет вхождения find_text на содержимое (заметка должна существовать) - "replace_section": Заменяет содержимое под определённым заголовком Markdown (заметка должна существовать) - "insert_before_section": Вставляет содержимое перед заголовком раздела, не поглощая его (заметка должна существовать) - "insert_after_section": Вставляет содержимое после заголовка раздела, не поглощая его (заметка должна существовать)

  • output_formatenum

    "text" возвращает существующую сводку в формате Markdown. "json" возвращает метаданные правок в машиночитаемом формате.

  • projectstring | null

    Название проекта для редактирования. Необязательно - сервер определит сам по иерархии. Используйте "workspace/project", чтобы направить запрос к проекту в конкретном облачном рабочем пространстве. Если неизвестно, используйте list_memory_projects(), чтобы увидеть доступные проекты.

  • project_idstring | null

    Внешний идентификатор проекта (UUID). Когда он известен, отдавайте предпочтение ему, а не project — он направляет запрос к точному проекту независимо от совпадений имён в облачных рабочих областях. Имеет приоритет над project. Получайте из list_memory_projects().

  • sectionstring | null

    Для операции replace_section, заголовок markdown, под которым нужно заменить содержимое (например, "## Notes", "### Implementation")

  • workspacestring | null

    Workspace slug, name или tenant_id. При указании с project маршрутизируется как workspace/project. Нельзя комбинировать с project_id.

fetchтолько чтение

Извлекает полное содержимое документа результатов поиска.

Извлекает документ

Параметры
  • idstringобязательный

    Идентификатор документа (постоянная ссылка, заголовок или URL памяти)

list_directoryтолько чтение

Выводит содержимое каталога с фильтрацией и контролем глубины.

List Directory

Параметры
  • depthinteger

    Глубина рекурсии (1-10, по умолчанию: 1 — только непосредственные дочерние элементы) Более высокие значения рекурсивно показывают содержимое подкаталогов

  • dir_namestring

    Путь к каталогу для вывода (по умолчанию: корень "/") Примеры: "/", "/projects", "/research/ml"

  • file_name_globstring | null

    Необязательный glob-шаблон для фильтрации имен файлов Примеры: ".md", "meeting", "project_"

  • projectstring | null

    Название проекта для перечисления каталога. Необязательно: сервер определит его по иерархии. Если неизвестно, используйте list_memory_projects(), чтобы получить список доступных проектов.

  • project_idstring | null

    Внешний идентификатор проекта (UUID). Когда он известен, отдавайте предпочтение ему, а не project — он направляет запрос к точному проекту независимо от совпадений имён в облачных рабочих областях. Имеет приоритет над project. Получайте из list_memory_projects().

list_memory_projectsтолько чтение

Перечисляет все доступные проекты с их статусом. Показывает проекты как из локальных, так и из облачных источников при наличии облачных учетных данных, объединяя по permalink для единого представления. Каждая запись проекта включает external_id (UUID). Передавайте это значение как параметр project_id в других инструментах, чтобы однозначно обратиться к конкретному проекту в разных облачных рабочих пространствах — полезно, когда одно и то же имя проекта существует в нескольких рабочих пространствах.

List Memory Projects

Параметры
  • output_formatenum

    «text» возвращает существующий список проектов в читаемом виде. «json» возвращает структурированные метаданные проектов.

list_workspacesтолько чтение

Перечисляет доступные облачные рабочие пространства (tenant_id, type, role и name).

Перечисляет рабочие пространства

Параметры
  • output_formatenum

    "text" возвращает читаемый человеком список рабочих пространств. "json" возвращает структурированные метаданные рабочих пространств.

move_note

Перемещает заметку или директорию в новое место, обновляя базу данных и сохраняя ссылки.

Переместить заметку

Параметры
  • destination_folderstring | null

    Перемещает заметку в эту папку, сохраняя исходное имя файла. Взаимоисключающе с destination_path. Только для перемещения одного файла.

  • destination_pathstring

    Для файлов: новый путь относительно корня проекта (например, «work/meetings/note.md») Для каталогов: новый путь к каталогу (например, «archive/docs») Взаимоисключающе с destination_folder.

  • identifierstringобязательный

    Для файлов: точный идентификатор сущности (заголовок, постоянная ссылка или URL вида memory://). Для каталогов: путь к каталогу (например, "docs", "projects/2025"). Требуется точное совпадение — нечёткое сопоставление для операций перемещения не поддерживается. Если не уверены, сначала воспользуйтесь search_notes() или list_directory(), чтобы найти правильный путь.

  • is_directoryboolean

    Если True, перемещает весь каталог и все его содержимое. Когда True, identifier и destination_path должны быть путями к каталогам (без расширений файлов). По умолчанию - False.

  • output_formatenum

    «text» возвращает существующий текст подсказок или сообщений об успехе в формате Markdown. «json» возвращает метаданные хода в машиночитаемом формате.

  • projectstring | null

    Имя проекта, в котором нужно перемещаться. Необязательно — сервер определит его по иерархии. Если неизвестно, используйте list_memory_projects(), чтобы узнать доступные проекты.

  • project_idstring | null

    Внешний идентификатор проекта (UUID). Когда он известен, отдавайте предпочтение ему, а не project — он направляет запрос к точному проекту независимо от совпадений имён в облачных рабочих областях. Имеет приоритет над project. Получайте из list_memory_projects().

read_contentтолько чтение

Читает необработанное содержимое файла по пути или постоянной ссылке.

Читает содержимое

Параметры
  • pathstringобязательный

    Путь или постоянная ссылка на файл. Может быть: - Обычный путь к файлу (docs/example.md) - URL памяти (memory://docs/example) - Постоянная ссылка (docs/example)

  • projectstring | null

    Название проекта для чтения. Необязательно - сервер разрешит его через иерархию. Если имя неизвестно, используйте list_memory_projects(), чтобы найти доступные проекты.

  • project_idstring | null

    Внешний идентификатор проекта (UUID). Когда он известен, отдавайте предпочтение ему, а не project — он направляет запрос к точному проекту независимо от совпадений имён в облачных рабочих областях. Имеет приоритет над project. Получайте из list_memory_projects().

read_noteтолько чтение

Читает заметку Markdown по названию или постоянной ссылке.

Прочитать заметку

Параметры
  • identifierstringобязательный

    Заголовок или постоянная ссылка заметки для чтения. Может быть полным URL вида memory://, постоянной ссылкой, заголовком или поисковым текстом.

  • include_frontmatterboolean

    Когда output_format="json", определяет, следует ли включать в содержимое начальный блок YAML frontmatter.

  • output_formatenum

    "text" возвращает содержимое в формате Markdown или вспомогательный текст. "json" возвращает структурированный объект с полями title, permalink, file_path, content и frontmatter.

  • pageinteger

    Страница результатов запасного поиска, используемая, когда идентификатор не разрешается напрямую в заметку (по умолчанию: 1). Прямое совпадение или совпадение по точному заголовку всегда возвращает полное содержимое заметки — параметры page/page_size никогда не разбивают саму заметку на части, а поиск по заголовку перебирает страницы фиксированного размера с результатами по заголовкам, пока не найдёт точное совпадение или результаты не исчерпаются, независимо от значений page или page_size.

  • page_sizeinteger

    Количество результатов резервного поиска на страницу (по умолчанию: 10). Когда совпадение не найдено, это ограничивает количество предложений связанных заметок в списке.

  • projectstring | null

    Имя проекта для чтения. Необязательно — сервер определит его по иерархии выше. Если неизвестно, используйте list_memory_projects(), чтобы найти доступные проекты.

  • project_idstring | null

    Внешний идентификатор проекта (UUID). Когда он известен, отдавайте предпочтение ему, а не project — он направляет запрос к точному проекту независимо от совпадений имён в облачных рабочих областях. Имеет приоритет над project. Получайте из list_memory_projects().

recent_activityтолько чтение

Получает недавнюю активность для проекта или по всем проектам. Временной интервал поддерживает форматы на естественном языке, например: - "2 дня назад" - "на прошлой неделе" - "вчера" - "сегодня" - "3 недели назад" Или стандартные форматы, например "7d"

Недавняя активность

Параметры
  • depthinteger

    Сколько шагов по связям нужно пройти (рекомендуется 1-3)

  • output_formatenum

    «"text" возвращает человекочитаемый сводный текст. "json" возвращает плоский список последних элементов.»

  • pageinteger

    Номер страницы для постраничной навигации (по умолчанию 1)

  • page_sizeinteger

    Количество элементов на странице (по умолчанию 10)

  • projectstring | null

    Имя проекта для запроса. Необязательно — сервер определит его по иерархии выше. Если неизвестно, используйте list_memory_projects() для поиска доступных проектов.

  • project_idstring | null

    Внешний идентификатор проекта (UUID). Когда он известен, отдавайте предпочтение ему, а не project — он направляет запрос к точному проекту независимо от совпадений имён в облачных рабочих областях. Имеет приоритет над project. Получайте из list_memory_projects().

  • timeframestring

    Временное окно для поиска. Поддерживает естественный язык: - Относительные: "2 дня назад", "на прошлой неделе", "вчера" - Моменты времени: "2024-01-01", "1 января" - Стандартный формат: "7д", "24ч"

  • typestring | string[]

    Фильтровать по типу (типам) контента. Можно указать строку или список строк. Допустимые варианты: - "entity" или ["entity"] — для сущностей знаний - "relation" или ["relation"] — для связей между сущностями - "observation" или ["observation"] — для заметок и наблюдений Несколько типов можно комбинировать: ["entity", "relation"] Регистр не важен: "ENTITY" и "entity" обрабатываются одинаково. По умолчанию фильтруются только сущности. Чтобы включить наблюдения и связи, укажите их явно.

release_notesтолько чтение

Возвращает последние примечания к выпуску продукта для необязательного ознакомления пользователя.

Примечания к выпуску

Параметры

Без параметров.

schema_diffтолько чтение

Обнаруживает расхождения между определением схемы и фактическим использованием заметок.

Schema Diff

Параметры
  • note_typestringобязательный

    Тип заметки для проверки на расхождение (например, «person»).

  • output_formatenum
  • projectstring | null

    Название проекта. Необязательно -- сервер определит сам.

  • project_idstring | null

    Внешний идентификатор проекта (UUID). Когда он известен, отдавайте предпочтение ему, а не project — он направляет запрос к точному проекту независимо от совпадений имён в облачных рабочих областях. Имеет приоритет над project. Получайте из list_memory_projects().

schema_inferтолько чтение

Анализирует существующие заметки и предлагает определение Picoschema.

Извлекает схему

Параметры
  • note_typestringобязательный

    Тип заметки для анализа (например, «человек», «встреча»).

  • output_formatenum
  • projectstring | null

    Название проекта. Необязательно -- сервер определит сам.

  • project_idstring | null

    Внешний идентификатор проекта (UUID). Когда он известен, отдавайте предпочтение ему, а не project — он направляет запрос к точному проекту независимо от совпадений имён в облачных рабочих областях. Имеет приоритет над project. Получайте из list_memory_projects().

  • thresholdnumber

    Минимальная частота (0-1), при которой поле предлагается как необязательное. По умолчанию 0.25 (25%). Поля с частотой выше 95% становятся обязательными.

schema_validateтолько чтение

Проверяет заметки на соответствие их определениям Picoschema.

Проверяет схему

Параметры
  • identifierstring | null

    Проверяет конкретную заметку (permalink, название или путь). Если указана, проверяет только эту заметку.

  • note_typestring | null

    Тип заметки для пакетной проверки (например, "person", "meeting"). Если указан, проверяет все заметки этого типа.

  • output_formatenum
  • projectstring | null

    Название проекта. Необязательно -- сервер определит сам.

  • project_idstring | null

    Внешний идентификатор проекта (UUID). Когда он известен, отдавайте предпочтение ему, а не project — он направляет запрос к точному проекту независимо от совпадений имён в облачных рабочих областях. Имеет приоритет над project. Получайте из list_memory_projects().

searchтолько чтение

Ищет контент по всей базе знаний.

Ищет в базе знаний

Параметры
  • querystringобязательный

    Поисковый запрос (синтаксис полнотекстового поиска, поддерживаемый search_notes)

search_notesтолько чтение

Ищет по всему содержимому базы знаний с поддержкой расширенного синтаксиса.

Ищет заметки

Параметры
  • after_datestring | null

    Необязательный фильтр по дате для недавнего контента (например, "1 week", "2d", "2024-01-01")

  • categoriesstring[] | null

    Необязательный список категорий наблюдений для точного сопоставления (например, ["requirement"]). Используйте вместе с entity_types=["observation"], чтобы возвращать только наблюдения, категория которых совпадает точно.

  • entity_typesstring[] | null

    Необязательный список типов сущностей для фильтрации (например, ["entity", "observation"])

  • metadata_filtersobject | null

    Опциональные структурированные фильтры frontmatter (например, {"status": "in-progress"})

  • min_similaritynumber | null

    Необязательное число с плавающей точкой для переопределения глобального порога semantic_min_similarity для этого запроса. Например, 0.0 — чтобы увидеть все векторные результаты, или 0.8 — для высокой точности. Применяется только к векторному и гибридному типам поиска.

  • note_typesstring[] | null

    Необязательный список типов заметок для поиска (например, ["note", "person"])

  • output_formatenum

    "text" сохраняет текущее поведение структурированных поисковых ответов. "json" возвращает данные в виде машиночитаемого словаря.

  • pageinteger

    Какую страницу результатов вернуть (по умолчанию 1)

  • page_sizeinteger

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

  • projectstring | null

    Название проекта для поиска. Необязательно - сервер определит его по иерархии. Если название неизвестно, используйте list_memory_projects(), чтобы найти доступные проекты.

  • project_idstring | null

    Внешний идентификатор проекта (UUID). Когда он известен, отдавайте предпочтение ему, а не project — он направляет запрос к точному проекту независимо от совпадений имён в облачных рабочих областях. Имеет приоритет над project. Получайте из list_memory_projects().

  • querystring | null

    Необязательная строка поискового запроса (поддерживает булевы операторы, фразы, шаблоны). Опустите или передайте None для поиска только по фильтрам с использованием metadata_filters, tags или status.

  • search_all_projectsboolean

    Необязательный параметр для поиска по всем доступным проектам. Игнорируется, когда указаны project или project_id.

  • search_typestring | null

    Тип выполняемого поиска, один из: "text", "title", "permalink", "vector", "semantic", "hybrid". Значение по умолчанию динамическое: "hybrid", когда семантический поиск включен, в противном случае — "text".

  • statusstring | null

    Необязательный фильтр статуса (статус во frontmatter); сокращение для metadata_filters["status"]

  • tagsstring[] | null

    Необязательный фильтр тегов (теги во frontmatter); сокращение для metadata_filters["tags"]. Принимает список (["a", "b"]) или строку с разделителями-запятыми ("a,b"), что соответствует соглашению о тегах write_note и сокращённому запросу tag:.

view_noteтолько чтение

Просмотреть заметку как форматированный артефакт для лучшей читаемости.

Просмотреть примечание

Параметры
  • identifierstringобязательный

    Заголовок или постоянная ссылка заметки для просмотра

  • projectstring | null

    Название проекта для чтения. Необязательно - сервер разрешит его через иерархию. Если имя неизвестно, используйте list_memory_projects(), чтобы найти доступные проекты.

  • project_idstring | null

    Внешний идентификатор проекта (UUID). Когда он известен, отдавайте предпочтение ему, а не project — он направляет запрос к точному проекту независимо от совпадений имён в облачных рабочих областях. Имеет приоритет над project. Получайте из list_memory_projects().

write_note

Создаёт заметку в Markdown. Если заметка уже существует, по умолчанию возвращает ошибку: передайте overwrite=True, чтобы заменить.

Пишет заметку

Параметры
  • contentstringобязательный

    Содержимое Markdown для заметки, может включать наблюдения и связи

  • directorystringобязательный

    Путь к каталогу относительно корня проекта, куда следует сохранить файл. Используйте прямые слэши (/) в качестве разделителей. Используйте «/» или «» для записи в корень проекта. Примеры: «notes», «projects/2025», «research/ml», «/» (корень)

  • metadataobject | null

    Необязательный словарь дополнительных полей frontmatter, объединяемых с entity_metadata. Полезен для schema-заметок или любой заметки, требующей кастомного YAML frontmatter помимо title/type/tags. Поддерживаются вложенные словари.

  • note_typestring

    Тип создаваемой заметки (хранится в frontmatter). По умолчанию — "note". Может быть "guide", "report", "config", "person" и т.д.

  • output_formatenum

    «text» возвращает существующую сводку в Markdown. «json» возвращает машиночитаемые метаданные.

  • overwriteboolean | null

    Если значение True, существующая заметка заменяется при конфликте. Если значение False, при конфликте возникает ошибка. Если значение None (по умолчанию), используется настройка конфигурации write_note_overwrite_default.

  • projectstring | null

    Имя проекта для записи. Необязательно - сервер определит его, используя иерархию выше. Используйте «workspace/project», чтобы указать проект в конкретном облачном рабочем пространстве. Если простое имя существует в нескольких рабочих пространствах, оно разрешится в рабочее пространство по умолчанию, поэтому используйте полную форму (или project_id) для однозначности. Если неизвестно, используйте list_memory_projects(), чтобы узнать доступные проекты и их полные имена.

  • project_idstring | null

    Внешний идентификатор проекта (UUID). Когда он известен, отдавайте предпочтение ему, а не project — он направляет запрос к точному проекту независимо от совпадений имён в облачных рабочих областях. Имеет приоритет над project. Получайте из list_memory_projects().

  • tagsstring[] | string | null

    Теги для категоризации заметки. Могут быть списком строк, строкой с разделителями-запятыми или None. Примечание: при передаче из внешних MCP-клиентов используйте строковый формат (например, "tag1,tag2,tag3")

  • titlestringобязательный

    Заголовок заметки

  • workspacestring | null

    Workspace slug, name или tenant_id. При указании с project маршрутизируется как workspace/project. Нельзя комбинировать с project_id.

0.23.2основная
0.23.3.dev8
0.23.3.dev7
0.23.3.dev4
0.23.3.dev3
0.23.3.dev2
0.23.3.dev1
0.23.2.dev3
0.23.2.dev2
0.23.1
0.23.1.dev27
0.23.1.dev24
0.23.1.dev20
0.23.1.dev2
0.23.0
0.22.1
0.22.0
0.21.6
0.21.5
0.21.4
0.21.3
0.21.2
0.21.1
0.21.0
0.20.3
0.20.2
0.20.1
0.20.0
0.19.2
0.19.1
0.19.0
0.18.5
0.18.4
0.18.3
0.18.2
0.18.1
0.18.0
0.17.9
0.17.8
0.17.7
0.17.6
0.17.5
0.17.4
0.17.3
0.17.2
0.17.1
0.17.0
0.16.3
0.16.2
0.16.1
0.16.0
0.15.2
0.15.1
0.15.0
0.14.4
0.14.3
0.14.2
0.14.1
0.14.0
0.14.0b1
0.13.8.dev1
0.13.7
0.13.7.dev1
0.13.6
0.13.5
0.13.4
0.13.3
0.13.2
0.13.1
0.13.0
0.13.0b6
0.13.0b5
0.13.0b4
0.13.0b3
0.13.0b2
0.13.0b1
0.12.3
0.12.2
0.12.1
0.12.0
0.11.0
0.10.1
0.10.0
0.9.0
0.8.0
0.7.0
0.6.0
0.5.0
0.4.3
0.4.2
0.4.1
0.4.0
0.3.0
0.2.21
0.2.20
0.2.19
0.2.18
0.2.17
0.2.16
0.2.15
0.2.14
0.2.13
0.2.12
0.2.11
0.2.10
0.2.9
0.2.8
0.2.7
0.2.6
0.2.5
0.2.4
0.2.3
0.2.2
0.2.1
0.2.0
0.1.2
0.1.1
0.1.0
0.0.0

Выберите клиент, чтобы установить basicmachines-co/basic-memory:

Любой клиент

Конфиг добавления MCP сервера стандартный, обычно он не меняется вообще, поэтому подходит практически к любому ИИ клиенту, поддерживающему MCP.

{
  "mcpServers": {
    "basicmachines-co-basic-memory-vo1423d5jc": {
      "command": "uvx",
      "args": [
        "basic-memory",
        "mcp"
      ]
    }
  }
}
CursorCursor

Перейдите по ссылке и сервер автоматически будет добавлен в Cursor. Либо откройте/создайте файл ~/.cursor/mcp.json(%USERPROFILE%\.cursor\mcp.json на Windows) и добавьте конфиг сервера:

{
  "mcpServers": {
    "basicmachines-co-basic-memory-vo1423d5jc": {
      "command": "uvx",
      "args": [
        "basic-memory",
        "mcp"
      ]
    }
  }
}
VS Code

Создайте .vscode/mcp.json в проекте (ключ верхнего уровня — servers):

{
  "servers": {
    "basicmachines-co-basic-memory-vo1423d5jc": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "basic-memory",
        "mcp"
      ]
    }
  }
}

Либо добавьте сервер через терминал:

code --add-mcp "{\"name\":\"basicmachines-co-basic-memory-vo1423d5jc\",\"type\":\"stdio\",\"command\":\"uvx\",\"args\":[\"basic-memory\",\"mcp\"]}"
ClaudeClaude Desktop

Откройте Settings → Developer → Edit Config — это откроет файл claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Впишите сервер и полностью перезапустите Claude Desktop:

{
  "mcpServers": {
    "basicmachines-co-basic-memory-vo1423d5jc": {
      "command": "uvx",
      "args": [
        "basic-memory",
        "mcp"
      ]
    }
  }
}
Claude CodeClaude Code

Добавьте сервер одной командой в терминале:

claude mcp add basicmachines-co-basic-memory-vo1423d5jc -- uvx basic-memory mcp

Либо через JSON-конфиг:

claude mcp add-json basicmachines-co-basic-memory-vo1423d5jc "{\"command\":\"uvx\",\"args\":[\"basic-memory\",\"mcp\"]}"
CodexCodex

Добавьте сервер командой в терминале:

codex mcp add basicmachines-co-basic-memory-vo1423d5jc -- uvx basic-memory mcp

Либо вручную в ~/.codex/config.toml(%USERPROFILE%\.codex\config.toml на Windows):

[mcp_servers.basicmachines-co-basic-memory-vo1423d5jc]
command = "uvx"
args = ["basic-memory", "mcp"]
PerplexityPerplexity

MCP доступен подписчикам Perplexity Pro / Max / Enterprise. Локальные серверы — только в приложении для macOS.

  1. Откройте Настройки аккаунта → Connectors.
  2. Установите вспомогательное приложение PerplexityXPC (один раз).
  3. Нажмите Add Connector → вкладка Simple.
  4. В поле Server Name укажите basicmachines-co/basic-memory, а в поле команды запуска — строку ниже:
uvx basic-memory mcp

Нажмите Save и дождитесь статуса Running.

WindsurfWindsurf

Откройте Windsurf Settings → Cascade → MCP Servers или отредактируйте файл ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "basicmachines-co-basic-memory-vo1423d5jc": {
      "command": "uvx",
      "args": [
        "basic-memory",
        "mcp"
      ]
    }
  }
}
ClineCline

В панели Cline нажмите иконку MCP Servers → Configure → Configure MCP Servers (или отредактируйте ~/.cline/mcp.json) и добавьте сервер:

{
  "mcpServers": {
    "basicmachines-co-basic-memory-vo1423d5jc": {
      "command": "uvx",
      "args": [
        "basic-memory",
        "mcp"
      ],
      "disabled": false,
      "autoApprove": []
    }
  }
}
Continue

Создайте файл в .continue/mcpServers/ (например basicmachines-co-basic-memory-vo1423d5jc.yaml) или добавьте блок в config.yaml. MCP работает только в режиме agent:

mcpServers:
  - name: basicmachines-co-basic-memory-vo1423d5jc
    command: uvx
    args:
      - "basic-memory"
      - "mcp"
Zed

Выполните agent: add context server или откройте настройки (zed: open settings file) и добавьте сервер в объект context_servers:

{
  "context_servers": {
    "basicmachines-co-basic-memory-vo1423d5jc": {
      "command": "uvx",
      "args": [
        "basic-memory",
        "mcp"
      ]
    }
  }
}

Похожие MCP-сервера

GistPad-MCP

GistPad-MCP

от lostintangent

Работает с GitHub Gists: создаёт, редактирует и систематизирует сниппеты, ведёт ежедневные заметки и хранит переиспользуемые промпты.

TypeScript⭐ 208
sgx-labs/statelessagent

sgx-labs/statelessagent

от sgx-labs

MCP сервер SAME даёт AI-агентам кодинга постоянную память: индексирует markdown-заметки, автоматически подбирает контекст после перезапуска и фиксирует решения. Работает локально с Claude Code, Cursor, Windsurf и другими. Без облаков и телеметрии.

Go⭐ 24
aliasunder/vault-cortex

aliasunder/vault-cortex

от aliasunder

Сервер Vault Cortex предоставляет AI-ассистентам полнотекстовый поиск и структурированную память в Obsidian vault через Docker. 25 инструментов работают с заметками, ссылками и свойствами без плагинов.

TypeScript⭐ 30
vasylenko/claude-desktop-extension-bear-notes

vasylenko/claude-desktop-extension-bear-notes

от vasylenko

MCP инструмент для Bear Notes с релевантным поиском по заголовкам, тексту и тегам. Работает полностью локально — читает данные из SQLite без запуска Bear, запись через URL-схему. Подходит для точного поиска и управления заметками в офлайн-режиме.

TypeScript⭐ 205
Dan8Oren/mcp-apple-notes

Dan8Oren/mcp-apple-notes

от dan8oren

MCP сервер для семантического поиска и RAG по Apple Notes. Работает полностью локально - не требует API-ключей, данные не покидают устройство. Интегрируется с Claude Desktop, Cursor, Windsurf. Ищит...

JavaScript⭐ 14
MarkusPfundstein/mcp-obsidian

MarkusPfundstein/mcp-obsidian

от markuspfundstein

Управляет заметками Obsidian: ищет по ключевым словам, читает, дополняет и создаёт новые. Требуется плагин Local REST API.

Python⭐ 4482
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин