Проекты и заметки

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

Операции с проектами читают проекты, объединяющие ваши сессии, заметки и карточки, и управляют ими. Операции с заметками читают и записывают заметки в формате Markdown, включая собственную заметку сессии. Каждая операция также принимает необязательный workspaceId. Общие правила описаны в разделе Как читать этот справочник.

ОперацияТипИнструментПо умолчаниюГруппа
projects.listЧтениеtalkbar_readВкл.metadata
projects.getЧтениеtalkbar_readВкл.content
projects.trash.listЧтениеtalkbar_readВкл.content
projects.createИзменениеtalkbar_changeВыкл.contentChanges
projects.updateИзменениеtalkbar_changeВыкл.contentChanges
projects.pinИзменениеtalkbar_changeВыкл.contentChanges
projects.trashИзменениеtalkbar_deleteВыкл.contentChanges
projects.restoreИзменениеtalkbar_changeВыкл.contentChanges
notes.listЧтениеtalkbar_readВкл.content
notes.getЧтениеtalkbar_readВкл.content
notes.trash.listЧтениеtalkbar_readВкл.content
notes.createИзменениеtalkbar_changeВыкл.contentChanges
notes.updateИзменениеtalkbar_changeВыкл.contentChanges
notes.appendИзменениеtalkbar_changeВыкл.contentChanges
notes.moveИзменениеtalkbar_changeВыкл.contentChanges
notes.pinИзменениеtalkbar_changeВыкл.contentChanges
notes.trashИзменениеtalkbar_deleteВыкл.contentChanges
notes.restoreИзменениеtalkbar_changeВыкл.contentChanges

projects.list

Постранично показывает проекты рабочего пространства с количеством сессий, заметок и документов и временем начала последней сессии.

Чтение · выполняется через talkbar_read · переключатель MCP по умолчанию Вкл. · группа политики metadata

Аргументы

limit
integer

Сколько вернуть. От 1 до 100. По умолчанию 100.

offset
integer

nextOffset из предыдущей страницы. По умолчанию 0.

Возвращает: {items: [{projectId, name, description, sessionCount, noteCount, documentCount, lastSessionAtMs}], totalCount, nextOffset}.

{"tool": "projects.list", "args": {}}

projects.get

Читает обзор одного проекта с последними сессиями (до 20) и заметками (до 10).

Чтение · выполняется через talkbar_read · переключатель MCP по умолчанию Вкл. · группа политики content

Аргументы

projectIdrequired
string

Проект из projects.list.

Возвращает: поля projects.list, а также sessions (строки как в sessions.list) и notes ({noteId, title, snippet, updatedAt}).

  • Для проекта в корзине возвращается not_found.
{"tool": "projects.get", "args": {"projectId": "proj_456"}}

projects.trash.list

Показывает проекты в корзине.

Чтение · выполняется через talkbar_read · переключатель MCP по умолчанию Вкл. · группа политики content

Аргументы

limit
integer

Сколько вернуть. От 1 до 200. По умолчанию 50.

Возвращает: {projects: [{projectId, name, trashedAt}]}.

projects.create

Создаёт проект в пределах лимита проектов вашего тарифа.

Изменение · выполняется через talkbar_change · переключатель MCP по умолчанию Выкл. · группа политики contentChanges

Аргументы

namerequired
string

Название проекта. Не может быть пустым.

description
string

Описание обычным текстом.

kind
string

Вид проекта. Одно из значений: client, engagement, recurring, internal, personal, research, product, sales, hiring, education, event, support. По умолчанию client.

color
string

Цвет проекта.

Возвращает: проект: {projectId, name, status, kind, pinned, updatedAt}.

  • При достижении лимита проектов вашего тарифа вызов отклоняется с plan_limit (limit: "projects"); проекты считаются в рабочем пространстве, с которым работает вызов. Лимит показывает plan.get.
{"tool": "projects.create", "args": {"name": "Northwind onboarding", "kind": "client"}}

projects.update

Переименовывает проект или меняет его описание, вид или цвет.

Изменение · выполняется через talkbar_change · переключатель MCP по умолчанию Выкл. · группа политики contentChanges

Аргументы

projectIdrequired
string

Проект из projects.list.

name
string

Новое название. Не может быть пустым.

description
string | null

Описание обычным текстом; заменяет описание с форматированием, если оно было. null очищает его.

kind
string

Одно из значений: client, engagement, recurring, internal, personal, research, product, sales, hiring, education, event, support.

color
string | null

Цвет проекта. null очищает его.

Возвращает: проект в том же виде, что и projects.create.

  • Укажите хотя бы одно поле.

projects.pin

Закрепляет или открепляет проект.

Изменение · выполняется через talkbar_change · переключатель MCP по умолчанию Выкл. · группа политики contentChanges

Аргументы

projectIdrequired
string

Проект из projects.list.

pinnedrequired
boolean

true закрепляет, false открепляет.

Возвращает: {projectId, pinned}.

projects.trash

Перемещает проект в корзину. Его можно восстановить.

Изменение · выполняется через talkbar_delete · переключатель MCP по умолчанию Выкл. · группа политики contentChanges

Аргументы

projectIdrequired
string

Проект из projects.list.

Возвращает: {projectId, trashed: true}. Перемещение в корзину проекта, который уже там, проходит успешно, а дата первого перемещения сохраняется.

  • Выполняется через talkbar_delete: требует вашего подтверждения, если ваше ИИ-приложение умеет его запрашивать; запросы приложений, которые не умеют, отклоняются, если не включён параметр Разрешить удаление без подтверждения.

projects.restore

Возвращает проект из корзины в пределах лимита проектов вашего тарифа.

Изменение · выполняется через talkbar_change · переключатель MCP по умолчанию Выкл. · группа политики contentChanges

Аргументы

projectIdrequired
string

Проект из projects.list.

Возвращает: проект в том же виде, что и projects.create. Восстановление проекта, которого нет в корзине, ничего не меняет.

  • При достижении лимита проектов отклоняется с plan_limit (limit: "projects").

notes.list

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

Чтение · выполняется через talkbar_read · переключатель MCP по умолчанию Вкл. · группа политики content

Аргументы

projectId
string

Только заметки, относящиеся к этому проекту.

search
string

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

topicId
string

Только заметки с этой темой (из topics.list).

sessionId
string

Только заметки этой сессии: её собственная заметка, заметки, добавленные на её страницу, и заметки, относящиеся к ней.

limit
integer

Сколько вернуть. От 1 до 100. По умолчанию 40.

cursor
string

Значение nextCursor с предыдущей страницы. Не может быть пустым.

Возвращает: {items, nextCursor, hasMore, totalCount}. У каждого элемента есть noteId, title, snippet, pinned, createdAt, updatedAt, sessionId, sessions, topics и projects; при поиске добавляется matchSnippet.

  • В каждой строке sessionId заполнено только у собственной заметки сессии; sessions перечисляет сессии, к которым относится заметка.
{"tool": "notes.list", "args": {"search": "onboarding", "limit": 10}}

notes.get

Читает одну заметку: её название, текст в формате Markdown (постранично) и ссылки.

Чтение · выполняется через talkbar_read · переключатель MCP по умолчанию Вкл. · группа политики content

Аргументы

noteIdrequired
string

Заметка из notes.list или sessions.notes.

maxChars
integer

Размер страницы в символах. От 1 000 до 200 000. По умолчанию 20000.

offset
integer

nextOffset из предыдущего чтения. Смещение за пределами конца отклоняется.

Возвращает: {noteId, workspaceId, title, markdown, truncated, nextOffset, pinned, createdAt, updatedAt, links}. updatedAt — это значение, которое notes.update принимает как expectedUpdatedAt.

  • Для заметки в корзине возвращается not_found.
{"tool": "notes.get", "args": {"noteId": "note_789"}}

notes.trash.list

Показывает заметки в корзине.

Чтение · выполняется через talkbar_read · переключатель MCP по умолчанию Вкл. · группа политики content

Аргументы

limit
integer

Сколько вернуть. От 1 до 200. По умолчанию 50.

Возвращает: {notes: [{noteId, title, trashedAt}]}.

notes.create

Создаёт заметку из Markdown; её можно сразу отнести к проекту и сессиям.

Изменение · выполняется через talkbar_change · переключатель MCP по умолчанию Выкл. · группа политики contentChanges

Аргументы

title
string

Название заметки. Может быть пустым, как в приложении.

markdown
string

Текст заметки в формате Markdown. (Аргумент называется markdown; body, content и text отклоняются.)

projectId
string

Отнести заметку к этому проекту.

sessionIds
string[]

Отнести заметку к этим сессиям. Сессия, указанная дважды, учитывается один раз.

pinned
boolean

Закрепить заметку.

Возвращает: {noteId, title, pinned, sessionId, updatedAt, projectId, sessionIds}. projectId и sessionIds показывают, к чему относится заметка.

  • Проект и сессии должны существовать и не находиться в корзине.
{"tool": "notes.create", "args": {"title": "Follow-up plan", "markdown": "## Next steps\n- Send the proposal by Friday", "projectId": "proj_456"}}

notes.update

Переименовывает заметку и/или заменяет её текст на Markdown.

Изменение · выполняется через talkbar_change · переключатель MCP по умолчанию Выкл. · группа политики contentChanges

Аргументы

noteIdrequired
string

Заметка из notes.list или sessions.notes.

title
string

Новое название. Пустое название очищает его.

markdown
string

Новый текст в формате Markdown. Заменяет весь текст заметки.

force
boolean

Заменить текст, содержащий то, что нельзя передать в Markdown, например встроенные карточки. Без этого аргумента такая заметка отклоняется.

expectedUpdatedAt
integer

updatedAt заметки, от которого вы начали правку. Если с тех пор заметка изменилась — в TalkBar или через другой вызов, — правка отклоняется с conflict и ничего не записывается.

Возвращает: {noteId, title, pinned, sessionId, updatedAt}; для собственной заметки сессии — также sessionStatus (и warning, если сессия была прервана или TalkBar не запущен).

  • Укажите название, markdown или оба. Если меняется только название, текст и встроенные в него ссылки сохраняются.
  • Ответ conflict содержит текущее значение updatedAt заметки: перечитайте заметку, объедините изменения и повторите попытку.
  • Заметка в корзине отклоняется: сначала восстановите её.
{"tool": "notes.update", "args": {"noteId": "note_789", "markdown": "# Plan\nUpdated after the call.", "expectedUpdatedAt": 1761990000000}}

notes.append

Добавляет Markdown в конец заметки. Проверка на конфликт не нужна, так как текст только дописывается к имеющемуся.

Изменение · выполняется через talkbar_change · переключатель MCP по умолчанию Выкл. · группа политики contentChanges

Аргументы

noteIdrequired
string

Заметка из notes.list или sessions.notes.

markdownrequired
string

Добавляемый текст в формате Markdown. Не может быть пустым.

Возвращает: то же, что notes.update, включая sessionStatus для собственной заметки сессии.

  • Чтобы писать в заметку текущей сессии, найдите её noteId через sessions.notes (role: "session").
{"tool": "notes.append", "args": {"noteId": "note_789", "markdown": "- Dana will send the contract draft."}}

notes.move

Задаёт проект заметки и/или сессии, к которым она относится. Остальные связи сохраняются.

Изменение · выполняется через talkbar_change · переключатель MCP по умолчанию Выкл. · группа политики contentChanges

Аргументы

noteIdrequired
string

Заметка из notes.list или sessions.notes.

projectId
string | null

Проект или null, чтобы убрать заметку из проекта.

sessionIds
string[]

Сессии, к которым отнести заметку. Заменяет текущий список сессий заметки.

Возвращает: {noteId, projectId, sessionIds} — к чему заметка относится теперь.

  • Укажите projectId, sessionIds или оба.

notes.pin

Закрепляет или открепляет заметку.

Изменение · выполняется через talkbar_change · переключатель MCP по умолчанию Выкл. · группа политики contentChanges

Аргументы

noteIdrequired
string

Заметка из notes.list или sessions.notes.

pinnedrequired
boolean

true закрепляет, false открепляет.

Возвращает: {noteId, pinned}.

notes.trash

Перемещает заметку в корзину. Её можно восстановить.

Изменение · выполняется через talkbar_delete · переключатель MCP по умолчанию Выкл. · группа политики contentChanges

Аргументы

noteIdrequired
string

Заметка из notes.list или sessions.notes.

Возвращает: {noteId, trashed: true}. Перемещение в корзину заметки, которая уже там, проходит успешно.

  • Выполняется через talkbar_delete: требует вашего подтверждения, если ваше ИИ-приложение умеет его запрашивать; запросы приложений, которые не умеют, отклоняются, если не включён параметр Разрешить удаление без подтверждения.

notes.restore

Возвращает заметку из корзины.

Изменение · выполняется через talkbar_change · переключатель MCP по умолчанию Выкл. · группа политики contentChanges

Аргументы

noteIdrequired
string

Заметка из notes.list или sessions.notes.

Возвращает: {noteId, restored: true}. Для заметки, которой нет в корзине, возвращается тот же ответ.

См. также