nicolascroce/keepsake-mcp

nicolascroce/keepsake-mcp

от nicolascroce
MCP сервер для Keepsake — личного CRM, помогающего поддерживать отношения. Подключи AI-ассистента к контактам, задачам, заметкам и дневнику. Спрашивай: с кем ты общался, какие задачи просрочены, и создавай заметки в один клик.

keepsake-mcp

MCP server for Keepsake (keepsake.place), the app where creators and solo entrepreneurs empty their heads: ideas, tasks and the people who matter, together and linked in one place, all the way to publishing.

Connect your AI assistant (Claude, Cursor, or any MCP-compatible client) to your Keepsake data: contacts, interactions, tasks, notes, daily intentions, companies, and tags.

Why

Your AI assistant forgets between conversations; Keepsake remembers. Ask it to:

  • "Capture this idea for my next article in #newsletter#"
  • "Who did I last talk to at Acme Corp?"
  • "Add a note that I ran into Sarah at the conference"
  • "What tasks are overdue?"
  • "Show me everything related to the #house-project tag"
  • "Create a follow-up task for my meeting with John next week"

Quick start

1. Get your API key

Sign up at keepsake.place, then go to Account > API Keys to generate one.

2. Choose your connection method

No installation required. Works with Claude iOS, Claude web, Claude Desktop Connectors, and any MCP client that supports Streamable HTTP.

Инструменты были проиндексированы:
archive_noteидемпотентный

Преобразует QuickNote в постоянную Note (архивирует). Notes отображаются на страницах контактов, страницах тегов и в разделе Notes.

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

    Запишите UUID.

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

Отмечает задачу как выполненную. Если задача повторяющаяся, это автоматически создаёт следующее повторение.

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

    UUID задачи

create_company

Создаёт новую компанию/организацию. Требуется только 'name'.

Параметры
  • addressstring

    Адрес

  • emailstring

    адрес электронной почты

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

    Название компании

  • notesstring

    Заметки о компании

  • phonestring

    Номер телефона.

  • websitestring

    URL веб-сайта.

create_contact

Создаёт новый контакт. first_name обязателен. last_name необязателен (полезно для контактов, где известно только имя).

Параметры
  • addressstring

    Почтовый адрес

  • birthdaystring

    День рождения в виде строки даты в формате ISO (YYYY-MM-DD), например '1980-02-14'.

  • companystring

    Название компании. Связывает контакт с записью этой компании (сопоставляет по имени без учёта регистра и диакритических знаков, создаёт запись, если её нет). Добавляет связь и никогда не удаляет её. Компании контакта возвращаются в companies.

  • emailstring

    адрес электронной почты

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

    Имя

  • job_titlestring

    Должность / профессия, например 'продуктовый дизайнер'

  • last_namestring

    Фамилия (необязательно)

  • notesstring

    Заметки о контакте.

  • phonestring

    Номер телефона.

create_day_block

Создаёт временной блок на временной шкале дня. Блок автоматически помещается в первый свободный промежуток, достаточно большой для него (тот же алгоритм first-fit, что и в приложении); передайте anchor_time, чтобы вместо этого закрепить его на фиксированном часе. Его ссылка "b:<id>" вставляется в timeline_order дня за вас — никогда не пишите timeline_order вручную.

Параметры
  • anchor_timestring

    Закрепите блок за фиксированным временем суток HH:MM (он становится стеной, вокруг которой обтекают другие блоки). Не указывайте это поле для автоматического размещения в первое подходящее место.

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

    Дата (ГГГГ-ММ-ДД)

  • duration_minutesinteger

    Продолжительность в минутах (по умолчанию 30 для действия, 60 для корзины).

  • notestring

    Произвольная заметка, прикрепленная к блоку.

  • titlestring

    Метка блока (например, "Глубокая работа", "Обед")

  • typeenum

    'block' = активность (по умолчанию). 'tasks' = бакет задач: окно, которое собирает задачи дня без привязки ко времени.

create_entry

ЗАПИСЬ — это журнал взаимодействий с указанием даты, привязанный к контактам. Записывает что-то, что произошло (звонок, встреча, электронное письмо и т.д.) на определенную дату. Создает новую запись взаимодействия. Содержимое поддерживает синтаксис #tag# и [[tag]] для автоматического связывания тегов.

Параметры
  • company_idsstring[]

    Массив UUID компаний для привязки (компании отдельно от контактов)

  • contact_idsstring[]

    Массив UUID контактов для связывания

  • contentstring

    Содержимое записи (поддерживает #tag# и [[tag]])

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

    Дата (ГГГГ-ММ-ДД)

  • tag_idsstring[]

    Массив UUID тегов для привязки

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

    Тип записи

create_note

Создаёт новую QuickNote в Inbox. QuickNotes - временные заметки: используйте archive_note, чтобы превратить одну из них в постоянную Note. Содержимое поддерживает #tag# и [[tag]] для автоматической привязки тегов. Передайте dates, чтобы привязать заметку к одному или нескольким дням («заметка на завтра», подготовка к встрече в четверг): тогда она появится в представлении этого дня, оставаясь в списке заметок. Заметка с датой - НЕ задача (не требует выполнения) и НЕ намерение дня (см. update_day).

Параметры
  • company_idsstring[]

    Массив UUID компаний для привязки (компании отдельно от контактов)

  • contact_idsstring[]

    Массив UUID контактов для связывания

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

    Содержимое заметки (поддерживает #tag# и [[tag]])

  • datesstring[]

    Дни, к которым привязать заметку (каждый в формате ГГГГ-ММ-ДД). Заметка появляется в представлении каждого дня.

  • is_pinnedboolean

    Закрепить заметку (по умолчанию: false)

  • statusstring

    Помещает заметку сразу в поток публикации на этом этапе (имя, ключ или id из list_note_statuses). Затем заметка создаётся как постоянная Note, а не как Inbox QuickNote: как «Keep to publish» в приложении. Только когда пользователь говорит, что может её опубликовать.

create_note_comment

Пиши на полях заметки. Это правильное действие всякий раз, когда пользователь просит тебя проверить, оценить, вычитать или откомментировать его текст: замечание располагается рядом с заметкой, не проникая в неё, и остаётся там после завершения разговора — в отличие от всего, что ты пишешь в чате. Привяжи замечание к фрагменту, скопировав этот фрагмент ДОСЛОВНО в quote; сервер находит его и сохраняет окружающий контекст, так что комментарий переживает последующие правки. Опусти quote, чтобы оставить замечание ко всей заметке в целом. Цитата, не найденная дословно, отклоняется, а не прикрепляется к неверному месту. Твои комментарии в приложении отображаются синими чернилами, а пользователя — красными; они всегда знают, кто что написал. Не используй это для переписывания их текста: предлагай, они решают. И оставляй комментарии редкими и содержательными: заметка, усеянная ими, — это заметка, которую пользователь бросает.

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

    Сам материал (markdown, любой длины)

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

    Запишите UUID.

  • quotestring

    Фрагмент для прикрепления, скопированный дословно из содержимого заметки. Опустите для комментария ко всей заметке.

create_recurring_block

Заставляет временной блок повторяться в выбранные дни недели. Два способа: передать block_id, чтобы превратить СУЩЕСТВУЮЩИЙ блок в повторяющийся (он становится первым вхождением и сохраняет своё название, длительность и фиксированное время - делайте это, когда блок уже на таймлайне, иначе в этот день он появится дважды), или описать новый (название, длительность, необязательное фиксированное время) начиная с start_date. На таймлайне ничего не создаётся сразу: блок каждого дня появляется, когда этот день открывают в приложении или выводят через list_day_blocks. С anchor_time блок стоит на этом часе каждый день; без него он ставится от времени пробуждения пользователя и сдвигается вместе с ним.

Параметры
  • anchor_timestring

    Фиксированное время суток HH:MM. Пропустите для блока, который идёт после времени пробуждения.

  • block_idstring

    Существующий блок для повторения (из list_day_blocks). Если указан, title/type/duration/anchor/start_date берутся из этого блока.

  • duration_minutesinteger

    Продолжительность в минутах (по умолчанию 30 для действия, 60 для корзины).

  • start_datestring

    Первый день применения правила (YYYY-MM-DD). По умолчанию: сегодня (UTC). Передавайте локальную дату пользователя, если она вам известна.

  • titlestring

    Метка блока (например, "Медитация")

  • typeenum

    'block' = активность (по умолчанию). 'tasks' = повторяющаяся корзина задач (например, ежедневное окно «Writing», в которое попадают задачи на день).

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

    Дни недели по ISO, в которые возвращается блок: 1 = понедельник … 7 = воскресенье. Каждый день = [1,2,3,4,5,6,7]; рабочая неделя = [1,2,3,4,5].

create_tag

TAG — это пространство для тематической группировки. Синтаксис: #name# или [[name]]. Группирует заметки, записи, задачи и контакты. Создаёт новый тег. Если тег с таким же именем уже существует, возвращает существующий тег.

Параметры
  • descriptionstring

    Описание тега

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

    Имя тега.

create_task

ЗАДАЧА - это действие, которое нужно выполнить. Может иметь срок выполнения, периодичность, приоритет, быть связана с контактами и тегами. Создайте новую задачу. Название поддерживает #tag# и [[tag]] для автоматической привязки тегов.

Параметры
  • company_idsstring[]

    Массив UUID компаний для привязки (компании отдельно от контактов)

  • contact_idsstring[]

    Массив UUID контактов для связывания

  • datestring

    Срок выполнения (YYYY-MM-DD)

  • date_typeenum

    Date type: specific (имеет срок выполнения, по умолчанию), asap (сделать как можно скорее, дата не нужна), one_day (когда-нибудь/без спешки, дата не нужна)

  • descriptionstring

    Описание задачи.

  • duration_minutesinteger

    Примерная длительность в минутах (в дневном виде таймлайн по умолчанию показывает 15, если задано время начала)

  • priorityenum

    Уровень приоритета

  • recurrence_intervalinteger

    Интервал повторения (например, каждые N дней)

  • recurrence_typeenum

    Паттерн повторения

  • start_timestring

    Фактическое время начала: HH:MM (24 часа). Задача дня С указанным временем привязывается к временной шкале Day-view; без времени она остаётся в списке задач дня.

  • tag_idsstring[]

    Массив UUID тегов для привязки

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

    Название задачи (поддерживает #tag# и [[tag]])

create_task_header

Создаёт новый заголовок задачи (разделитель секции). Чтобы показать его на странице тега, вставляет "h:<header_id>" в tasks_order этого тега (get_tag, затем update_tag) там, где должна начинаться секция: задачи, перечисленные после него, принадлежат этой секции.

Параметры
  • collapsedboolean

    Определяет, свёрнута ли секция (по умолчанию false).

  • descriptionstring

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

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

    Имя заголовка

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

Мягко удаляет компанию. Для жёсткого удаления используйте permanent=true.

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

    UUID компании

  • permanentboolean

    Жёсткое удаление (по умолчанию: false, мягкое удаление)

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

Окончательно удаляет контакт и все связанные данные.

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

    Контакт UUID

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

Удаляет временной блок. Его ref вырезается из timeline_order за день; для бакета задач сами задачи не трогаются (они откатываются к вычисленному для дня бакету). Для повторяющегося блока это удаляет его ТОЛЬКО ИЗ ЭТОГО ДНЯ (в приложении это "Remove from today"): блок продолжает возвращаться в остальные дни, и пропущенный день не прерывает серию привычки. Чтобы остановить само повторение, используйте stop_recurring_block.

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

    Блокировать UUID

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

Удаляет запись взаимодействия.

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

    UUID записи

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

Мягко удаляет QuickNote или Note. Используйте permanent=true для жёсткого удаления.

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

    Запишите UUID.

  • permanentboolean

    Жёсткое удаление (по умолчанию: false, мягкое удаление)

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

Удаляет маргиналию. Маргиналии по своей природе временны, поэтому это штатный способ завершить её существование — промежуточное состояние, пригодное для восстановления, отсутствует.

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

    Комментарий UUID

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

    Запишите UUID.

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

Удаляет навсегда тег и все его связи с контактами, записями, задачами, заметками и компаниями.

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

    Тег UUID

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

Удаляет задачу.

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

    UUID задачи

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

Безвозвратно удаляет заголовок задачи.

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

    UUID заголовка задачи

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

Получает лучшие практики и инструкции для эффективной работы в роли агента Keepsake AI. Вызывай этот инструмент в начале каждого сеанса, чтобы обновить свои инструкции.

Параметры

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

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

Получает все элементы, изменённые с указанной временной метки, по всем типам сущностей. Отлично подходит для heartbeat-проверок, чтобы увидеть, что изменилось с вашего последнего визита. Возвращает server_time для использования в качестве since при следующем вызове.

Параметры
  • limitinteger

    Максимум элементов на тип сущности (по умолчанию 50, максимум 100)

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

    ISO timestamp: возвращаются только элементы, изменённые после этого времени (например, 2026-02-11T10:00:00Z).

  • typeenum

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

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

Получает одну компанию по ID, включая связанные контакты (с ролями) и теги.

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

    UUID компании

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

Получает один контакт по ID, включая последние записи (взаимодействия), теги, дату последнего взаимодействия и количество total_entries.

Параметры
  • entries_limitinteger

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

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

    Контакт UUID

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

Получает унифицированную хронологическую ленту ВСЕХ элементов, связанных с контактом — записей, задач и заметок — отсортированных по дате (сначала новые). Гораздо эффективнее, чем получать записи, задачи и заметки по отдельности.

Параметры
  • fromstring

    Фильтр начальной даты (ГГГГ-ММ-ДД)

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

    Контакт UUID

  • limitinteger

    Максимум результатов, по умолчанию 100.

  • offsetinteger

    Смещение пагинации

  • tostring

    Фильтр конечной даты (YYYY-MM-DD)

  • typeenum

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

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

Получает конкретный день по дате: его намерение или вопрос дня И заметки, привязанные к этому дню (поле notes, через link_note_date / dates). note - это намерение, записанное для этого дня (null или '' = нет; intention повторяет его). Намерение действительно только для своего дня - оно не переносится на другие. Всегда 200 - exists: false означает, что для этой даты нет сохранённой строки; intention и привязанные заметки возвращаются в любом случае.

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

    Дата (ГГГГ-ММ-ДД)

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

Получает одну заметку по ID, включая её теги, связанные контакты, связанные задачи, связанные заметки и дни, с которыми она связана (dates). Используйте этот инструмент, когда пользователь указывает на одну конкретную заметку (например, даёт её URL: UUID - последний сегмент пути), вместо перечисления всех заметок.

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

    UUID заметки (последний сегмент URL заметки)

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

Получает один тег по идентификатору со всеми его свойствами (название, описание, цвет, иконка, режим просмотра, статус избранного). Включает tasks_order — ручную сортировку списка задач на странице тега, где записи вида "h:<header_id>" являются разделителями разделов (см. list_task_headers).

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

    Тег UUID

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

Получает элементы, связанные с тегом. По умолчанию возвращает каждый тип полностью — для больших тегов это может быть огромным ответом, поэтому лучше использовать types/status/summary, чтобы сузить его (например, types=['tasks'], status='pending', summary=true для просмотра открытых задач проекта). Когда включены задачи, ответ также содержит sections: разделы задач на странице тега с их task_ids (header_id null = задачи вне любого раздела).

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

    Тег UUID

  • statusenum

    Фильтровать задачи по статусу

  • summaryboolean

    Возвращает легковесные элементы (идентификаторы, заголовки, выдержки) вместо полных строк — рекомендуется, если полное содержимое не требуется

  • typesenum[]

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

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

Получает одну задачу по ID вместе с её тегами, связанными контактами (contact_ids), связанными компаниями (company_ids) и связанными заметками (note_ids). Используйте его, когда уже знаете, какая задача нужна, вместо того чтобы перечислять всё.

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

    UUID задачи

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

Получает один заголовок задачи по идентификатору.

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

    UUID заголовка задачи

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

Получает только просроченные задачи (незавершенные задачи со сроком выполнения до сегодняшнего дня). Сортирует по дате по возрастанию (сначала самые старые).

Параметры

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

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

Получает все задачи на сегодня: просроченные задачи + задачи со сроком на сегодня + задачи ASAP. Каждая задача имеет поле 'category' ('overdue', 'today' или 'asap'). Включает количество по каждой категории.

Параметры

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

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

Привязывает контакт к записи компании (идемпотентно: при повторной привязке остаётся одна связь). Контакт может принадлежать нескольким компаниям. Дополнительно задаёт роль контакта в компании. Короткий путь, когда известно только название компании: create_contact / update_contact с company.

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

    UUID компании

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

    Контакт UUID

  • rolestring

    Роль или должность в этой компании (например, «Training advisor»)

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

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

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

    UUID компании

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

    UUID записи

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

Связывает существующий контакт с записью.

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

    Контакт UUID

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

    UUID записи

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

Привязывает компанию к заметке. Идемпотентно. Компании - это отдельные записи, не контакты: используйте этот инструмент (или company_ids) для организации, link_note_contact - для человека.

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

    UUID компании

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

    Запишите UUID.

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

Привязывает существующий контакт к заметке.

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

    Контакт UUID

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

    Запишите UUID.

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

Связывает заметку с календарным днём. Затем заметка появляется в представлении этого дня (Today / Day page), оставаясь в списке заметок. Заметка остаётся тем же объектом, а дата - просто ещё один способ попасть в неё. Используйте её для «заметки на завтра», «что взять с собой в четверг», подготовки к встрече на конкретную дату. Операция идемпотентна. Заметку можно связать с несколькими днями. Это НЕ намерение дня (update_day) и НЕ задача (create_task).

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

    День для привязки (YYYY-MM-DD)

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

    Запишите UUID.

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

Свяжите две заметки друг с другом (база знаний, N-N, неразрушающая). Связь симметрична: обе заметки отображают друг друга в разделе связанных заметок. Используйте это, чтобы соединять связанные идеи - например, заметку, которая натолкнула вас на другую. Заметки также можно связывать внутри текста, написав label в содержимом заметки.

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

    Сначала отметьте UUID.

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

    UUID второй заметки.

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

Связывает сущность (контакт, запись, задачу, заметку или компанию) с тегом.

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

    UUID связываемой сущности

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

    Тип сущности для связывания

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

    Тег UUID

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

Привязывает компанию к задаче. Идемпотентно. Компании - это отдельные записи, не контакты: используйте этот инструмент (или company_ids) для организации, link_task_contact - для человека.

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

    UUID компании

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

    UUID задачи

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

Привязывает существующий контакт к задаче.

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

    Контакт UUID

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

    UUID задачи

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

Связывает существующую заметку с задачей (неразрушающе, многие-ко-многим). Заметка остаётся в списке входящих/заметок, а задача сохраняет живую ссылку на неё - используйте это вместо удаления заметки после создания из неё задачи. Заметка показывает связанные с ней задачи; задача показывает исходную заметку.

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

    Запишите UUID.

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

    UUID задачи

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

Перечисляет все компании/организации в Keepsake CRM пользователя. Поддерживает пагинацию и сортировку.

Параметры
  • limitinteger

    Максимум результатов, по умолчанию 100.

  • offsetinteger

    Смещение пагинации

  • orderenum

    Порядок сортировки

  • sortstring

    Поле сортировки: name, created_at, updated_at

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

Выводит список контактов в Keepsake CRM пользователя. Поддерживает постраничную навигацию, сортировку, выбор полей (используйте fields, чтобы пропускать длинные заметки при просмотре множества контактов), фильтры по связанным компаниям и по последнему обновлению, а также необязательное обогащение last_interaction_date. Компании каждого контакта - это записи компаний, возвращаемые в companies.

Параметры
  • companystring

    Только контакты, привязанные к этой компании: UUID компании или часть её названия (регистр и диакритические знаки не учитываются)

  • fieldsstring[]

    Возвращает только эти поля (id включается всегда). Столбцы: first_name, last_name, email, phone, job_title, address, birth_day, birth_month, birth_year, notes, created_at, updated_at. Вычисляемые: companies, last_interaction_date. Пропускает для всего.

  • has_companyboolean

    true: только контакты, привязанные хотя бы к одной компании; false: только контакты без какой-либо компании

  • include_last_interactionboolean

    Включает last_interaction_date для каждого контакта (по умолчанию: false)

  • limitinteger

    Максимум результатов (по умолчанию: 5, максимум: 20)

  • offsetinteger

    Смещение пагинации

  • orderenum

    Порядок сортировки

  • sortstring

    Поле сортировки: last_name, first_name, created_at, updated_at

  • updated_sincestring

    Только контакты, обновлённые после этой даты или метки времени в формате ISO

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

Перечисляет временные блоки таймлайна дня (Day view) в порядке таймлайна. Блок - это либо активность (тип 'block'), либо корзина задач (тип 'tasks' - группирует задачи дня без привязки ко времени). В meta лежит сырой timeline_order дня: ссылки "b:<uuid>" - это блоки, голые uuid - задачи внутри прогона корзины. Повторяющиеся блоки: при перечислении сегодняшнего или будущего дня сначала создаются повторяющиеся блоки этого дня, если их ещё нет (так же, как при открытии дня в приложении), поэтому у каждого возвращённого блока есть настоящий id, который можно обновить или отметить выполненным. Повторяющийся блок несёт repeats: { recurring_block_id, weekdays } (ISO-дни недели, 1 = понедельник … 7 = воскресенье); иначе repeats равен null. Прошедшие дни задним числом никогда не заполняются.

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

    Дата (ГГГГ-ММ-ДД)

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

Перечисляет сохранённые дни с их намерением или вопросом дня (note; intention повторяет его, null, когда пусто). Намерение действительно только для своего дня - оно не переносится на следующие дни. Фильтрует по диапазону дат.

Параметры
  • fromstring

    Дата начала YYYY-MM-DD

  • limitinteger

    Максимум результатов, по умолчанию 100.

  • offsetinteger

    Смещение пагинации

  • tostring

    Дата окончания YYYY-MM-DD

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

Перечисляет записи взаимодействий (звонки, письма, встречи, события и т. д.). Поддерживает фильтрацию по типу, контакту, компании, тегу (странице) и диапазону дат.

Параметры
  • company_idstring

    Только записи, где эта компания участвует.

  • contact_idstring

    Фильтрует по идентификатору связанного контакта.

  • fromstring

    Дата начала YYYY-MM-DD

  • limitinteger

    Максимум результатов, по умолчанию 100.

  • offsetinteger

    Смещение пагинации

  • tag_idstring

    Только записи, связанные с этим тегом (страницей)

  • tostring

    Дата окончания YYYY-MM-DD

  • typeenum

    Фильтрует по типу записи

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

Перечисляет маргиналии, прикреплённые к заметке. Маргиналия — это рабочий материал, который пользователь хранит РЯДОМ с заметкой, не внося его в текст: идея, отсылка, ссылка, отрывок, вставленный для последующей переработки фрагмента. Они никогда не публикуются и предназначены быть ВРЕМЕННЫМИ: всё, что стоит сохранить, становится заметкой или связанной задачей. Каждая из них прикреплена либо к определённому фрагменту (quote задано), либо ко всей заметке (quote равно null).

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

    Запишите UUID.

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

Выводит список заметок. QuickNotes (входящие, ещё не заархивированные) и Notes (архивные, постоянные). Фильтрует по тому, закреплена заметка или заархивирована, по тегу (странице) через tag_id, по дню (дням), к которым привязана заметка (date или date_from/date_to), например «что я записал на завтра?», или по стадии публикации через status, например «какие заметки ждут проверки?». У каждой заметки есть dates (дни, к которым она привязана) и status (её стадия в процессе публикации или null).

Параметры
  • archivedboolean

    Фильтрация по статусу: true = Заметки (архивные/постоянные), false = Быстрые заметки (входящие)

  • company_idstring

    Только заметки, напрямую привязанные к этой компании

  • datestring

    Только заметки, привязанные к этому дню (YYYY-MM-DD)

  • date_fromstring

    Только заметки, привязанные к дате, которая не раньше указанной (YYYY-MM-DD)

  • date_tostring

    Только заметки, привязанные к дате не позднее этой даты (ГГГГ-ММ-ДД).

  • limitinteger

    Максимум результатов, по умолчанию 100.

  • offsetinteger

    Смещение пагинации

  • pinnedboolean

    Фильтровать только закреплённые заметки

  • statusstring

    Стадия потока публикации: имя стадии, ключ или id из list_note_statuses (например, "review"), "publication" (каждая заметка в потоке, которая ещё не опубликована) или "none" (заметки вне потока)

  • tag_idstring

    Только заметки, связанные с этим тегом (страницей)

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

Перечисляет этапы потока публикации пользователя по порядку (по умолчанию: Идея → В работе → На проверку → Готово → Опубликовано). Заметка попадает в этот поток, когда пользователь может её опубликовать - большинство заметок в него не попадает и этапа не имеет. Этапы принадлежат пользователю: он может переименовывать их, менять цвет, добавлять или удалять, поэтому прочитайте этот список, прежде чем задавать этап с помощью update_note или create_note. category фиксирована: unstarted, started или published (ровно один этап). Названия даны на языке приложения пользователя.

Параметры

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

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

Перечисляет повторяющиеся временные блоки пользователя: свой идеальный день / свою идеальную неделю ("Meditation" каждый день в 08:00, "Writing" по утрам в будни). Повторяющийся блок - это ещё и привычка: каждый день он появляется на таймлайне как обычный блок, который пользователь отмечает (см. list_day_blocks), а последовательные отмеченные дни образуют серию. weekdays - это правило, действующее на заданную дату; next_change сообщает о правиле, уже записанном на будущее (повторение, которое начинается или прекращается в будущую дату).

Параметры
  • datestring

    Дата, на которую считывается правило (YYYY-MM-DD). По умолчанию: сегодня (UTC).

  • include_stoppedboolean

    Также возвращает повторения, которые больше ничего не планируют (по умолчанию false).

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

Перечисляет теги (облегчённое представление: массивы ручной сортировки задач опущены — для получения полного порядка используйте get_tag). Теги организуют контакты, записи, задачи, заметки и компании. Используйте q для поиска тега по имени.

Параметры
  • limitinteger

    Максимум результатов, по умолчанию 100.

  • offsetinteger

    Смещение пагинации

  • qstring

    Фильтрует по имени (совпадение подстроки без учёта регистра)

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

Перечисли все заголовки задач (разделители разделов, используемые для группировки задач на страницах тегов и в дневных представлениях).

Параметры
  • limitinteger

    Максимум результатов, по умолчанию 100.

  • offsetinteger

    Смещение пагинации

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

Выводит список задач. Фильтрует по status (pending/completed), date_type, конкретной дате, company или tag (page). Например, tag_id + status=pending выводит открытые задачи проекта.

Параметры
  • company_idstring

    Только задачи, напрямую привязанные к этой компании

  • datestring

    Фильтрует по конкретной дате (YYYY-MM-DD)

  • date_typeenum

    Фильтр по типу даты: specific (есть срок выполнения), asap (сделать как можно скорее), one_day (когда-нибудь/без спешки)

  • limitinteger

    Максимум результатов, по умолчанию 100.

  • offsetinteger

    Смещение пагинации

  • statusenum

    Фильтр по статусу

  • tag_idstring

    Только задачи, связанные с этим тегом (страницей)

merge_companies

Объединяет компанию-дубликат В другую: её контакты, записи и теги перемещаются в целевую компанию (без дубликатов), пустые поля целевой компании (сайт, email, телефон, адрес) заполняются из неё, её заметки добавляются к заметкам целевой компании, после чего она удаляется. Используйте его, когда две записи описывают одну и ту же организацию (например, 'CNCP' и 'Cncp'). Уточните у пользователя, какую запись оставить.

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

    UUID компании, которую нужно присоединить при слиянии (она будет удалена)

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

    UUID компании, которую нужно оставить

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

Закрепляет QuickNote или Note, чтобы заметка оставалась на виду. Закреплённая заметка - это POST-IT: короткая справка, которую пользователь хочет всегда держать под рукой (код от ворот, номер комнаты в отеле, пароль от Wi-Fi). Не закрепляйте заметку только потому, что она важна: подготовка к встрече привязана к своему дню, материалы проекта - к тегу, действия становятся задачами. Закрепляйте, только если пользователь просит или заметка явно подходит под такой post-it.

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

    Запишите UUID.

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

Восстанавливает заметку обратно в QuickNote в папке Inbox (разархивирует) или восстанавливает удалённую заметку из корзины.

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

    Запишите UUID.

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

Ищет по всем данным Keepsake — контактам, записям, задачам, заметкам и компаниям. Поиск не учитывает диакритические знаки (например, 'berenice' находит 'Bérénice').

Параметры
  • limitinteger

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

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

    Поисковый запрос

  • typeenum

    Ограничивает поиск конкретным типом сущности (по умолчанию: все).

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

Ищет компании по названию, email, веб-сайту или адресу. Поиск не различает диакритические знаки.

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

    Поисковый запрос

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

Ищет контакты по имени, email, компании и т.д. Поиск не различает ударения.

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

    Поисковый запрос

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

Переносит задачу на новую дату.

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

    Новая дата (YYYY-MM-DD)

  • date_typeenum

    Новый тип даты: specific (срок выполнения, по умолчанию), asap (сделать как можно скорее), one_day (когда-нибудь/без спешки)

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

    UUID задачи

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

Останавливает повторяющийся блок с указанной даты и далее (в приложении - "Stop repeating"). Прошедшие дни сохраняют свои блоки, а привычка сохраняет свою историю; будущие вхождения, уже созданные и ещё не отмеченные, удаляются. Чтобы пропустить один день и сохранить повторение, используйте delete_day_block для блока этого дня.

Параметры
  • from_datestring

    Первый день без блока (YYYY-MM-DD). По умолчанию: сегодня (UTC).

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

    UUID повторяющегося блока

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

Снова помечает выполненную задачу как ожидающую.

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

    UUID задачи

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

Удаляет связь между контактом и компанией. Ни контакт, ни компания при этом не удаляются.

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

    UUID компании

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

    Контакт UUID

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

Удаляет связь между компанией и записью.

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

    UUID компании

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

    UUID записи

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

Удаляет связь между контактом и записью.

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

    Контакт UUID

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

    UUID записи

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

Удаляет связь между компанией и заметкой.

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

    UUID компании

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

    Запишите UUID.

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

Удаляет связь между контактом и заметкой.

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

    Контакт UUID

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

    Запишите UUID.

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

Удаляет заметку из календарного дня (заметка сохраняется нетронутой). Чтобы ПЕРЕНЕСТИ заметку на другой день, лучше используйте update_note с новым массивом dates: один вызов вместо двух. Идемпотентно.

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

    День отвязки (YYYY-MM-DD)

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

    Запишите UUID.

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

Удаляет ручную связь между двумя заметками (обе заметки остаются). Ссылки, полученные из встроенной разметки label Markdown в содержимом заметки, сохраняются: отредактируйте содержимое, чтобы удалить их.

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

    Сначала отметьте UUID.

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

    UUID второй заметки.

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

Удаляет связь между сущностью и тегом.

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

    UUID сущности, которую нужно отвязать.

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

    Тип сущности, которую нужно отвязать.

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

    Тег UUID

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

Удаляет связь между компанией и задачей.

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

    UUID компании

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

    UUID задачи

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

Удаляет связь между контактом и задачей.

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

    Контакт UUID

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

    UUID задачи

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

Удаляет связь между заметкой и задачей. И задача, и заметка сохраняются.

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

    Запишите UUID.

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

    UUID задачи

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

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

Параметры
  • addressstring

    Адрес

  • emailstring

    адрес электронной почты

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

    UUID компании

  • namestring

    Название компании

  • notesstring

    Заметки о компании

  • phonestring

    Номер телефона.

  • websitestring

    URL веб-сайта.

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

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

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

    Почтовый адрес. Чтобы очистить, установите null.

  • birthdaystring | null

    Дата рождения в виде строки в формате ISO (YYYY-MM-DD), например '1980-02-14'. Установите null, чтобы очистить.

  • companystring

    Название компании. Связывает контакт с записью этой компании (сопоставляет по имени без учёта регистра и диакритических знаков, создаёт запись, если её нет). Добавляет связь и никогда не удаляет её. Компании контакта возвращаются в companies.

  • emailstring

    адрес электронной почты

  • first_namestring

    Имя

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

    Контакт UUID

  • job_titlestring | null

    Должность / профессия, например 'Product designer'. Чтобы очистить, установите null.

  • last_namestring

    Фамилия

  • notesstring

    Заметки о контакте.

  • phonestring

    Номер телефона.

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

Создаёт или обновляет намерение дня или вопрос дня (upsert по дате). Поле note - это намерение или вопрос дня: одна короткая строка в верхней части Today view (мантра, намерение, единственный приоритет или вопрос, который стоит держать в голове). Не журнал: никогда не пишите здесь итоги дня. Намерение действует только на свой день: оно не переносится на следующие дни. Пользователь вводит его вручную каждое утро, намеренно - не устанавливайте его за него, если он не попросит. null или пустая строка удаляет его. НЕ для прикрепления заметки к дню: это поле состоит из одной строки, и вы перезапишете намерение пользователя. Чтобы поставить заметку на день, используйте create_note с dates или link_note_date.

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

    Дата (ГГГГ-ММ-ДД)

  • notestring | nullобязательный

    Намерение или вопрос дня: одна короткая строка (мантра, намерение, единственный приоритет или вопрос, который нужно держать в голове). Не сводка из дневника. null или пустая строка = в этот день намерения нет.

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

Обновляет блок времени (title, duration, anchor, note, done). Отправляйте только те поля, которые хотите изменить. Блок сохраняет своё место в порядке таймлайна. Отметка блока как выполненного фиксирует, когда он произошёл на самом деле: он заканчивается сейчас и начинается на запланированную длительность раньше (но не раньше, чем закончился предыдущий выполненный блок). В приложении выполненный блок остаётся на этом времени в прошлом дня, а оставшиеся дела выстраиваются от текущего времени. Блок с фиксированным временем сохраняет свой час.

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

    Фиксированное время суток HH:MM. Передайте null, чтобы открепить (блок снова будет в общем потоке).

  • doneboolean

    Отметьте блок как выполненный (true) или не выполненный (false).

  • duration_minutesinteger

    Продолжительность в минутах

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

    Блокировать UUID

  • notestring | null

    Свободная заметка. Передайте null, чтобы очистить.

  • titlestring | null

    Метка блока

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

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

Параметры
  • company_idsstring[]

    Заменяет связанные компании (отправьте [], чтобы отвязать все). Контакты не затрагиваются.

  • contact_idsstring[]

    Заменяет связанные контакты

  • contentstring

    Содержимое записи (поддерживает #tag# и [[tag]])

  • datestring

    Дата (ГГГГ-ММ-ДД)

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

    UUID записи

  • tag_idsstring[]

    Заменяет связанные теги.

  • typeenum

    Тип записи

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

Обновляет существующую QuickNote или Note. dates ЗАМЕНЯЕТ полный набор дней, с которыми связана заметка: способ перенести заметку на другой день ("не сделано, перенеси на завтра"). Чтобы добавить или удалить один день, не трогая остальные, лучше использовать link_note_date / unlink_note_date. status продвигает заметку по потоку публикации ("это готово"); установка стадии для Inbox QuickNote также оставляет её как Note.

Параметры
  • company_idsstring[]

    Заменяет связанные компании (отправьте [], чтобы отвязать все). Контакты не затрагиваются.

  • contact_idsstring[]

    Заменяет связанные контакты

  • contentstring

    Обновлённое содержимое

  • datesstring[]

    Замените дни, к которым привязана заметка (каждый в формате ГГГГ-ММ-ДД). Пустой массив = отвязка от всех дней.

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

    Запишите UUID.

  • statusstring | null

    Этап потока публикации: имя, ключ или id из list_note_statuses. null выводит заметку из потока.

  • tag_idsstring[]

    Заменяет связанные теги.

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

Редактирует содержимое маргиналии. Промежуточного состояния нет: маргиналия либо существует, либо удалена. Замечание, которое должно пережить пересмотр заметки, вместо этого становится заметкой или связанной задачей.

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

    Новое содержимое (markdown)

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

    Комментарий UUID

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

    Запишите UUID.

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

Изменяет повторяющийся блок НАЧИНАЯ С ДАТЫ И ДАЛЕЕ (название, длительность, фиксированное время, дни недели). Прошлое никогда не перезаписывается: предыдущие дни сохраняют свои блоки как были, и привычка сохраняет свою историю. Предстоящие повторения, уже созданные и ещё не отмеченные, обновляются или удаляются, если их день больше не запланирован. Чтобы изменить только один день, используйте вместо этого update_day_block для блока этого дня.

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

    Фиксированный час по настенным часам HH:MM. Передайте null, чтобы блок следовал времени пробуждения.

  • duration_minutesinteger

    Продолжительность в минутах

  • from_datestring

    Первый день, когда изменение вступает в силу (YYYY-MM-DD). По умолчанию: сегодня (UTC).

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

    UUID повторяющегося блока (из list_recurring_blocks или repeats.recurring_block_id дневного блока)

  • titlestring | null

    Метка блока

  • weekdaysinteger[]

    Дни недели по ISO, в которые возвращается блок: 1 = понедельник … 7 = воскресенье. Каждый день = [1,2,3,4,5,6,7]; рабочая неделя = [1,2,3,4,5].

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

Обновляет существующий тег. Отправляйте только те поля, которые хотите изменить. Поддерживает name, description, color, icon, статус избранного и порядок задач и разделов страницы (tasks_order).

Параметры
  • colorstring

    Цвет тега (например, 'blue', 'red', 'green')

  • descriptionstring

    Описание тега

  • iconstring

    Значок тега (эмодзи или название иконки)

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

    Тег UUID

  • is_favoriteboolean

    Возвращает, является ли тег избранным.

  • namestring

    Имя тега.

  • tasks_orderstring[]

    Полный порядок отображения задач страницы: идентификаторы задач и записи "h:<header_id>" для секций, сверху вниз. Читает текущий с помощью get_tag, вставляет или перемещает записи, отправляет весь массив обратно. Задачи, перечисленные после секции, принадлежат ей.

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

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

Параметры
  • company_idsstring[]

    Заменяет связанные компании (отправьте [], чтобы отвязать все). Контакты не затрагиваются.

  • contact_idsstring[]

    Заменяет связанные контакты

  • datestring

    Срок выполнения (YYYY-MM-DD)

  • date_typeenum

    Тип даты: specific (есть срок выполнения), asap (сделать как можно скорее), one_day (когда-нибудь/не срочно)

  • descriptionstring

    Описание задачи.

  • duration_minutesinteger | null

    Примерная длительность в минутах. Передайте null, чтобы очистить.

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

    UUID задачи

  • priorityenum

    Уровень приоритета

  • start_timestring | null

    Время начала по часам HH:MM (24h) - привязывает задачу к временной шкале Day-view. Передайте null, чтобы очистить его (снять с расписания).

  • tag_idsstring[]

    Заменяет связанные теги.

  • titlestring

    Название задачи

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

Обновляет заголовок задачи. Отправляйте только те поля, которые хотите изменить.

Параметры
  • collapsedboolean

    Указывает, свёрнут ли раздел.

  • descriptionstring

    Описание ниже заголовка.

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

    UUID заголовка задачи

  • namestring

    Имя заголовка

1.16.0основная
1.15.1
1.15.0
1.14.2
1.14.1
1.14.0
1.13.0
1.12.0
1.11.0
1.10.0
1.9.1
1.9.0
1.8.0
1.7.0
1.6.0
1.5.0
1.4.0
1.3.0
1.2.0
1.1.0
1.0.0

Выберите клиент, чтобы установить nicolascroce/keepsake-mcp:

Любой клиент

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

{
  "mcpServers": {
    "nicolascroce-keepsake-mcp-wsjp2ohsf7": {
      "command": "npx",
      "args": [
        "-y",
        "keepsake-mcp"
      ],
      "env": {
        "KEEPSAKE_API_KEY": "ksk_YOUR_API_KEY"
      }
    }
  }
}
CursorCursor

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

{
  "mcpServers": {
    "nicolascroce-keepsake-mcp-wsjp2ohsf7": {
      "command": "npx",
      "args": [
        "-y",
        "keepsake-mcp"
      ],
      "env": {
        "KEEPSAKE_API_KEY": "ksk_YOUR_API_KEY"
      }
    }
  }
}
VS Code

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

{
  "servers": {
    "nicolascroce-keepsake-mcp-wsjp2ohsf7": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "keepsake-mcp"
      ],
      "env": {
        "KEEPSAKE_API_KEY": "ksk_YOUR_API_KEY"
      }
    }
  }
}

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

code --add-mcp "{\"name\":\"nicolascroce-keepsake-mcp-wsjp2ohsf7\",\"type\":\"stdio\",\"command\":\"npx\",\"args\":[\"-y\",\"keepsake-mcp\"],\"env\":{\"KEEPSAKE_API_KEY\":\"ksk_YOUR_API_KEY\"}}"
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": {
    "nicolascroce-keepsake-mcp-wsjp2ohsf7": {
      "command": "npx",
      "args": [
        "-y",
        "keepsake-mcp"
      ],
      "env": {
        "KEEPSAKE_API_KEY": "ksk_YOUR_API_KEY"
      }
    }
  }
}
Claude CodeClaude Code

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

claude mcp add nicolascroce-keepsake-mcp-wsjp2ohsf7 --env KEEPSAKE_API_KEY=ksk_YOUR_API_KEY -- npx -y keepsake-mcp

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

claude mcp add-json nicolascroce-keepsake-mcp-wsjp2ohsf7 "{\"command\":\"npx\",\"args\":[\"-y\",\"keepsake-mcp\"],\"env\":{\"KEEPSAKE_API_KEY\":\"ksk_YOUR_API_KEY\"}}"
CodexCodex

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

codex mcp add nicolascroce-keepsake-mcp-wsjp2ohsf7 --env KEEPSAKE_API_KEY=ksk_YOUR_API_KEY -- npx -y keepsake-mcp

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

[mcp_servers.nicolascroce-keepsake-mcp-wsjp2ohsf7]
command = "npx"
args = ["-y", "keepsake-mcp"]

[mcp_servers.nicolascroce-keepsake-mcp-wsjp2ohsf7.env]
KEEPSAKE_API_KEY = "ksk_YOUR_API_KEY"
PerplexityPerplexity

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

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

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

WindsurfWindsurf

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

{
  "mcpServers": {
    "nicolascroce-keepsake-mcp-wsjp2ohsf7": {
      "command": "npx",
      "args": [
        "-y",
        "keepsake-mcp"
      ],
      "env": {
        "KEEPSAKE_API_KEY": "ksk_YOUR_API_KEY"
      }
    }
  }
}
ClineCline

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

{
  "mcpServers": {
    "nicolascroce-keepsake-mcp-wsjp2ohsf7": {
      "command": "npx",
      "args": [
        "-y",
        "keepsake-mcp"
      ],
      "env": {
        "KEEPSAKE_API_KEY": "ksk_YOUR_API_KEY"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}
Continue

Создайте файл в .continue/mcpServers/ (например nicolascroce-keepsake-mcp-wsjp2ohsf7.yaml) или добавьте блок в config.yaml. MCP работает только в режиме agent:

mcpServers:
  - name: nicolascroce-keepsake-mcp-wsjp2ohsf7
    command: npx
    args:
      - "-y"
      - "keepsake-mcp"
    env:
      KEEPSAKE_API_KEY: ksk_YOUR_API_KEY
Zed

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

{
  "context_servers": {
    "nicolascroce-keepsake-mcp-wsjp2ohsf7": {
      "command": "npx",
      "args": [
        "-y",
        "keepsake-mcp"
      ],
      "env": {
        "KEEPSAKE_API_KEY": "ksk_YOUR_API_KEY"
      }
    }
  }
}

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

ckalima/pipedrive-mcp-server

ckalima/pipedrive-mcp-server

от ckalima

MCP-сервер для интеграции Pipedrive CRM с AI-ассистентами. Позволяет запрашивать, создавать и обновлять сделки, контакты, email и другие данные прямо из диалога. Полезен менеджерам по продажам и ра...

TypeScript⭐ 10
soil-dev/capsulemcp

soil-dev/capsulemcp

от soil-dev

MCP сервер CapsuleMCP подключает Claude к Capsule CRM для ответов на естественном языке о контактах, сделках и проектах. Включает 89 инструментов с полным доступом, фильтрацией и файлами. Полезен для быстрого поиска в CRM через ИИ-ассистента.

TypeScript⭐ 5
hmk/attio-mcp-server

hmk/attio-mcp-server

от hmk

MCP сервер для Attio, AI-native CRM. Claude с его помощью читает и записывает данные компаний и заметки. Предназначен для автоматизации CRM через AI-диалоги, ускоряя работу с клиентами.

JavaScript⭐ 16
ashev87/propstack-mcp

ashev87/propstack-mcp

от ashev87

MCP-сервер для подключения AI-ассистентов к CRM недвижимости Propstack. Позволяет управлять контактами, объектами, сделками и задачами, а также создавать поисковые профили и получать 360-градусную сводку перед звонком. Идеален для риелторов.

TypeScript⭐ 9
paracetamol951/caisse-enregistreuse-mcp-server

paracetamol951/caisse-enregistreuse-mcp-server

от paracetamol951

Kash MCP сервер подключает ваш бизнес к ИИ-ассистентам. Управляйте POS, CRM и каталогом через чат с Claude или ChatGPT. Автоматизируйте продажи, заказы, клиентов и отчёты без лишних кликов.

TypeScript⭐ 3
wazionapps/mcp-server

wazionapps/mcp-server

от wazionapps

MCP сервер WAzion открывает AI-ассистентам доступ к WhatsApp Business: масс-маркетинг, автоматизация, CRM и 240+ инструментов. Управляйте чатами, кампаниями и агентами через естественный язык — это полезно для бизнеса и поддержки.

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

Лука Никитин