PhononX/cv-mcp-server

PhononX/cv-mcp-server

от phononx
MCP-сервер для интеграции AI-ассистентов с Carbon Voice. Предоставляет инструменты для голосовых сообщений, управления беседами, папками и рабочими пространствами. Полезен для автоматизации общения...

Carbon Voice MCP Server

MCP Compatible npm version

A Model Context Protocol (MCP) server implementation for integrating with Carbon Voice's API, providing AI assistants with comprehensive tools for voice messaging, conversations, and workspace management.

Carbon Voice LogoCarbon Voice: https://getcarbon.app

Carbon Voice API LogoAPI: https://api.carbonvoice.app/docs

Features

  • Message Management: Create, list, and retrieve voice messages, conversation messages, and direct messages
  • User Operations: Search and retrieve user information
  • Conversation Management: Access and manage conversations and their participants
  • Folder Operations: Create, organize, move, and manage folders and their contents
  • Workspace Administration: Get workspace information
  • AI Actions: Run AI prompts and retrieve AI-generated responses
  • Action Items: Create, assign, and track action items, including AI extraction from messages
  • Search & Notifications: Find messages by notified or heard state, and read the inbox with its unread count
  • Message Share Links: Create and look up shareable links to messages
  • Attachment Support: Add link attachments to messages
  • Response Narrowing: An optional response_fields projection on most read tools, to keep unwanted payload out of the agent's context

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

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

Прикрепляет одну или несколько ссылок URL к существующему сообщению. ИСПОЛЬЗУЙТЕ, КОГДА: добавляете внешние ссылки к сообщению, которое уже существует. ИСПОЛЬЗУЙТЕ ВМЕСТО: create_message_share_link, чтобы поделиться сообщением Carbon Voice наружу. Тот создаёт ссылку, а этот потребляет их. СНАЧАЛА: id берётся из list_messages (поле results[].id). Если у вас его нет, вызовите list_messages первым. ПРИМЕР: {"id":"msg-abc","links":["https://example.com/spec"]} ВОЗВРАЩАЕТ: подтверждение {...} с итоговыми вложениями.

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

    Массив ссылок для прикрепления к сообщению.

create_action_item

Создаёт элемент действия, опционально привязанный к беседе или папке. ИСПОЛЬЗУЙТЕ, КОГДА: записываете задачу. Требуется только title. Прикрепите его, передав оба параметра container_type и container_id, и свяжите с тем, что его вызвало, с помощью source_message_id. ИСПОЛЬЗУЙТЕ ВМЕСТО: suggest_action_items_from_messages, чтобы задачи извлекались из содержимого сообщений автоматически, а не записывались вручную. ПРИМЕР: {"title":"Send the pricing deck","assigned_to":"user-abc"} ВОЗВРАЩАЕТ: {id, title, status, notes_text?, assigned_to?, due_date?, container_id?, container_type?, creator_id, ...}. Новые элементы изначально имеют статус todo. ОШИБКА BAD_REQUEST: в assigned_to передан недопустимый идентификатор пользователя, или container_id не соответствует container_type. Находите людей с помощью search_users (никогда не передавайте имя), а контейнеры с помощью list_conversations или get_root_folders.

Параметры
  • assigned_tostring

    ID пользователя-исполнителя из search_users. Не имя.

  • container_idstring
  • container_typeenum
  • due_datestring

    Срок выполнения в виде отметки времени ISO 8601.

  • notes_textstring

    Детали в свободной форме.

  • source_message_idstring

    Сообщение, которое вызвало этот элемент, из list_messages.

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

    Что нужно сделать. Единственное обязательное поле.

  • workspace_idstring

    Область действия рабочего пространства, из get_workspaces_basic_info.

create_conversation_messageвнешний мир
Параметры
  • from_message_idstring

    Идентификатор сообщения, на основе которого создается новое сообщение. (Необязательно только в том случае, когда from_message_type имеет значение NewMessage.)

  • from_message_typeenum

    Тип сообщения From

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

    URL-адреса ссылок для прикрепления. Требуется либо transcript, либо links.

  • transcriptstring

    Текст для озвучивания через text-to-speech. Требуется либо transcript, либо links.

create_direct_messageвнешний мир

Отправляет личное сообщение одному или нескольким людям по user ID или email. КОГДА ИСПОЛЬЗОВАТЬ: для связи с людьми вне существующего разговора. Укажите получателя через to.user_ids или to.emails. Требуется transcript или links. ВМЕСТО: create_conversation_message, когда разговор уже существует. Личное сообщение начинает отдельную ветку, а не присоединяется к разговору. СНАЧАЛА: to.user_ids берётся из search_users (поле id). Вызовите search_users первым, если у вас нет user ID. ПРИМЕР: {"to":{"user_ids":["user-abc"]},"transcript":"Quick question about the deck."} ВОЗВРАЩАЕТ: {message: {id, link, transcript?, status, conversation_id, created_at, ...}}. ОШИБКА BAD_REQUEST: неверный user ID или не переданы ни transcript, ни links. Найдите людей через search_users. Никогда не передавайте отображаемое имя как user ID. Включите transcript или links.

Параметры
  • from_message_idstring

    Идентификатор сообщения, на основе которого создается новое сообщение. (Необязательно только в том случае, когда from_message_type имеет значение NewMessage.)

  • from_message_typeenum

    Тип сообщения From

  • linksstring[]

    Массив ссылок для прикрепления к сообщению.

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

    Получатели: user_ids (из search_users) и/или emails. Хотя бы одно обязательно.

  • transcriptstring

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

  • workspace_idstring

    Идентификатор рабочего пространства для отправки сообщения

create_folder

Создаёт папку в рабочем пространстве, при желании вложенную в другую папку. КОГДА ИСПОЛЬЗОВАТЬ: для организации заметок. Параметры name, type и workspace_id обязательны; добавьте parent_folder_id, чтобы вложить её в другую папку. ИСПОЛЬЗУЙТЕ ВМЕСТО: move_folder, чтобы переместить уже существующую папку. СНАЧАЛА: workspace_id берётся из get_workspaces_basic_info (поле id). Вызовите этот инструмент первым, если у вас нет идентификатора. ПРИМЕР: {"name":"Q4 planning","type":"voicememo","workspace_id":"ws-abc"} ВОЗВРАЩАЕТ: созданную папку той же структуры, что и get_folder.

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

    Имя папки

  • parent_folder_idstring

    ID родительской папки

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

    Тип папки

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

    Рабочее пространство (идентификатор)

create_message_share_link

Создаёт общедоступную ссылку на существующее сообщение (например, голосовую заметку) и возвращает URL. ИСПОЛЬЗУЙТЕ, КОГДА: share_type: "link" для общедоступной ссылки; "forward" для прикрепления ссылки к другому сообщению (также требуется message_id). Также так вы получаете значение share_link_ids. ИСПОЛЬЗУЙТЕ ВМЕСТО: add_attachments_to_message, чтобы прикрепить внешний URL к сообщению, а не публиковать сообщение Carbon Voice наружу. СНАЧАЛА: shared_message_id берётся из list_messages (поле results[].id), вызовите его первым, если у вас его нет. ПРИМЕР: {"shared_message_id":"msg-abc","share_type":"link","access_type":"public"} ВОЗВРАЩАЕТ: {id, link, share_type, access_type, created_by, specified_access?, end_access_at?, revoked_at?, shared_message: {...}}. link: URL для распространения; id: значение share_link_ids, которое принимают другие инструменты. СУЗЬТЕ: передайте response_fields ["id","link","share_type","access_type"], если вам не нужно больше, полный ответ намного больше. ОШИБКА BAD_REQUEST: shared_message_id недействителен, или share_type равен "forward" без message_id. Проверьте идентификатор с помощью get_message; при пересылке также передайте message_id.

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

    В TDLib тип доступа для ссылки на сообщение определяется полем is_public: true для публичных ссылок, false для приватных.

  • end_access_atstring | null

    Дата окончания доступа к MessageShareLink

  • message_idstring | null

    ID сообщения, к которому будет прикреплена пересылка. Требуется только если share_type равен forward.

  • response_fieldsstring[]

    Список разрешённых dot-путей, чтобы уменьшить ответ, например ["results.id","total"]. Пропустите, чтобы получить полный набор данных.

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

    ID сообщения, которое будет передано/переслано

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

    Какой ShareType у MessageShareLink?

  • specified_accessobject[] | null

    Список указанных доступов для MessageShareLink

create_voicememo_messageвнешний мир

Создаёт голосовую заметку либо из текста (произносится через text-to-speech), либо из аудиофайла по URL. ИСПОЛЬЗУЙТЕ, КОГДА: Передайте transcript (2-5000 символов), чтобы Carbon Voice озвучил текст, или https audio_url для загрузки аудио, который имеет приоритет над transcript. Укажите folder_id (его тип должен совпадать) или workspace_id, чтобы сохранить заметку. ИСПОЛЬЗУЙТЕ ВМЕСТО: create_conversation_message для публикации в существующем разговоре или create_direct_message для отправки конкретным людям. Голосовая заметка автономна и хранится в папке или рабочем пространстве. ПРИМЕР: {"transcript":"Reminder to review the pricing deck before Friday."} ВОЗВРАЩАЕТ: {message: {id, link, transcript?, audio_url?, duration_ms, status, type, created_at, ...}}. Первое время status часто имеет значение processing. ОШИБКА INVALID_AUDIO_URL: audio_url не по протоколу https, недоступен, слишком большой, истекло время ожидания, содержит учётные данные или указывает на частный адрес. В сообщении указана причина. Используйте публичный https URL или передайте transcript вместо этого. ОШИБКА BAD_REQUEST: Ни transcript, ни audio_url, ни links не были предоставлены, или transcript выходит за пределы 2-5000 символов. Предоставьте одно из трёх и держите transcript в пределах допустимой длины.

Параметры
  • audio_urlstring

    Публичный https URL аудиофайла для загрузки. Поддерживаемые форматы: .mp3, .m4a, .wav, .aac, .ogg, .flac, .wma, .opus, .webm. Если указан, переопределяет transcript. Сервер сам обращается по этому URL, поэтому он должен быть публично доступен. Приватные, loopback- и link-local-адреса отклоняются, а обычный http работает только для хостов, которые оператор внёс в список разрешённых.

  • folder_idstring

    Папка, в которую нужно поместить заметку. Тип папки должен совпадать с типом заметки.

  • linksstring[]

    URL-адреса ссылок для прикрепления. Максимум 100, каждый должен быть корректным URL. Требуется один из transcript, links или audio_url.

  • transcriptstring

    Текст для озвучивания через text-to-speech. От 2 до 5000 символов. Игнорируется, если указан audio_url. Нужно указать один из: transcript, links или audio_url.

  • workspace_idstring

    Рабочее пространство, куда помещается заметка, если она не попадает в папку.

delete_action_item

Окончательно удаляет элемент действия. ИСПОЛЬЗУЙТЕ, КОГДА: Элемент был создан по ошибке и вообще не должен существовать. ИСПОЛЬЗУЙТЕ ВМЕСТО ЭТОГО: set_action_item_status со значением done, чтобы завершить элемент. Запись при этом сохраняется. Удаление нельзя отменить, поэтому прибегайте к нему только тогда, когда элемент действительно ошибочный. СНАЧАЛА: id берётся из list_my_action_items (поле results[].id). Вызовите его первым, если у вас его нет. ПРИМЕР: {"id":"ai-abc"} ВОЗВРАЩАЕТ: Подтверждение удаления элемента.

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

Навсегда удаляет папку, включая все вложенные папки и все их сообщения. ИСПОЛЬЗУЙТЕ, КОГДА: Только когда всё поддерево должно быть уничтожено. Это каскадное действие, и его нельзя отменить. ИСПОЛЬЗУЙТЕ ВМЕСТО: move_folder, чтобы убрать папку с пути, или move_message_to_folder, чтобы сначала перенести её сообщения. Перед вызовом проверьте total_nested_messages_count через get_folder: масштаб каскада легко недооценить. СНАЧАЛА: id берётся из get_root_folders (поле results[].id). Вызовите его первым, если у вас его нет. ПРИМЕР: {"id":"folder-abc"} ВОЗВРАЩАЕТ: Подтверждение удаления.

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

Получает одну задачу по её ID со всеми деталями. КОГДА ИСПОЛЬЗОВАТЬ: У вас есть ID задачи и нужны её заметки, исполнитель, срок выполнения или исходное сообщение. ИСПОЛЬЗУЙТЕ ВМЕСТО: list_my_action_items или list_action_items, если у вас ещё нет ID - они уже возвращают те же поля для каждой задачи, так что повторный вызов обычно бесполезен. СНАЧАЛА: id берётся из list_my_action_items (поле results[].id) - вызовите его первым, если у вас его нет. ПРИМЕР: {"id":"ai-abc"} ВОЗВРАЩАЕТ: {id, title, status, notes_text?, creator_id, assigned_to?, due_date?, container_id?, container_type?, source_message_id?, last_updated_by, ...}.

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

    Список разрешённых dot-путей, чтобы уменьшить ответ, например ["results.id","total"]. Пропустите, чтобы получить полный набор данных.

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

Получает результаты AI Action, которые были сгенерированы ранее. ИСПОЛЬЗУЙТЕ, КОГДА: вам нужен существующий результат, а не новый запуск, например, показать, что AI Action уже создал для сообщения или беседы. Комбинируйте prompt_id, message_id и channel_id, чтобы сузить выборку. ИСПОЛЬЗУЙТЕ ВМЕСТО: run_ai_action (или summarize_conversation), чтобы сгенерировать новый результат; этот инструмент только считывает то, что уже существует, и возвращает пустой массив, если ничего не было сгенерировано. ПРИМЕР: {"channel_id":"conv-abc","limit":10} ВОЗВРАЩАЕТ: Массив объектов {id, prompt_id, creator_id, message_ids, channel_id?, workspace_id?, responses: [{language, text?, markdown?, html?, json?}], created_at}. ДЛЯ СУЖЕНИЯ: передавайте response_fields ["id","prompt_id","responses"], если вам не нужно больше; полная полезная нагрузка намного больше.

Параметры
  • channel_idstring

    Только ответы в этом разговоре, из list_conversations.

  • datestring

    Опорная метка времени в формате ISO 8601; в паре с direction задаёт переход по страницам.

  • directionenum
  • limitnumber

    Максимальное количество ответов для возврата.

  • message_idstring

    Только ответы об этом сообщении, из list_messages.

  • prompt_idstring

    Только ответы, сгенерированные этим AI Action, из list_ai_actions.

  • response_fieldsstring[]

    Список разрешённых dot-путей, чтобы уменьшить ответ, например ["results.id","total"]. Пропустите, чтобы получить полный набор данных.

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

Получает один разговор по ID со всеми метаданными. ИСПОЛЬЗУЙТЕ, КОГДА: у вас есть conversation_id и нужны его описание, видимость, владелец или название рабочего пространства. ИСПОЛЬЗУЙТЕ ВМЕСТО: get_conversation_users для списка участников. list_messages с conversation_id для сообщений: этот инструмент не возвращает ни того, ни другого. СНАЧАЛА: id берётся из list_conversations (поле results[].id): если у вас нет id, сначала вызовите list_conversations. ПРИМЕР: {"id":"conv-abc"} ВОЗВРАЩАЕТ: {id, name, description?, link, workspace_id, workspace_name, owner_id, type, visibility, ...}.

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

    Список разрешённых dot-путей, чтобы уменьшить ответ, например ["results.id","total"]. Пропустите, чтобы получить полный набор данных.

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

Перечисляет участников беседы. ИСПОЛЬЗУЙТЕ, КОГДА: нужно выяснить, кто участвует в беседе, или собрать ID пользователей-участников. ИСПОЛЬЗУЙТЕ ВМЕСТО: search_users для поиска людей по имени или email в общем случае. Этот инструмент ограничен одной беседой. СНАЧАЛА: id берётся из list_conversations (поле results[].id). Вызовите list_conversations первым, если у вас нет id. ПРИМЕР: {"id":"conv-abc"} ВОЗВРАЩАЕТ: массив объектов пользователей с id и полями профиля. СУЗЬТЕ: передавайте response_fields ["id","full_name"], если не нужно больше. Полный ответ значительно больше.

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

    Список разрешённых dot-путей, чтобы уменьшить ответ, например ["results.id","total"]. Пропустите, чтобы получить полный набор данных.

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

Получает идентичность, рабочие пространства и настройки самого вызывающего пользователя. КОГДА ИСПОЛЬЗОВАТЬ: нужно определить, от чьего имени вы действуете, или найти ID рабочих пространств вызывающего пользователя перед вызовом в рамках рабочего пространства. Аргументов не принимает. ЧТО ИСПОЛЬЗОВАТЬ ВМЕСТО: get_user для другого пользователя (требует явного ID). get_workspaces_basic_info, если нужны только ID и названия рабочих пространств. Его ответ гораздо меньше, чем ответ этого инструмента. ПРИМЕР: {} ВОЗВРАЩАЕТ: {success, user: {user_guid, first_name, last_name?, email_txt?, phone_txt?, workspace_guids, identities, entries, environments, lifecycle_events, notification_settings, settings, ...}, settings: {...}}. Этот ответ ОБЪЁМНЫЙ: несколько неограниченных массивов и открытая карта настроек. СУЗИТЬ: передайте response_fields ["user.user_guid","user.first_name","user.email_txt","user.workspace_guids"], если вам не нужно больше. Полный ответ гораздо больше.

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

    Список разрешённых dot-путей, чтобы уменьшить ответ, например ["results.id","total"]. Пропустите, чтобы получить полный набор данных.

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

Получает метаданные одной папки и, при необходимости, её непосредственные подпапки. ИСПОЛЬЗУЙТЕ, КОГДА: Просматриваете папку. Установите include_first_level_tree: true, чтобы получить подпапки. Оба параметра date и direction молча игнорируются, пока вы этого не сделаете - в документации выше эта оговорка указана только для date. ИСПОЛЬЗУЙТЕ ВМЕСТО: get_folder_with_messages, когда нужны сообщения внутри папки - этот инструмент возвращает только структуру и количество. СНАЧАЛА: id берётся из get_root_folders (поле results[].id) - вызывайте его первым, если у вас его нет. ПРИМЕР: {"id":"folder-abc","include_first_level_tree":true} ВОЗВРАЩАЕТ: {id, name, type, workspace_id, parent_folder_id?, path?, subfolder_ids?, message_ids?, total_nested_folders_count, total_nested_messages_count, subfolders?, ...}.

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

    Возвращает только те подпапки, которые обновлены относительно этой даты и direction. Действует только если include_first_level_tree равно true, иначе молча игнорируется.

  • directionenum

    Направление результатов (новее или старее). Влияет только если include_first_level_tree имеет значение true, иначе молча игнорируется.

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

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

  • response_fieldsstring[]

    Список разрешённых dot-путей, чтобы уменьшить ответ, например ["results.id","total"]. Пропустите, чтобы получить полный набор данных.

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

Получает папку вместе с сообщениями, хранящимися непосредственно в ней. ИСПОЛЬЗУЙТЕ, КОГДА: нужно прочитать содержимое папки. Возвращаются только сообщения на уровне самой папки: вложенные папки не обходятся. ИСПОЛЬЗУЙТЕ ВМЕСТО: get_folder для структуры и количества без тел сообщений. list_messages с folder_id, когда нужна фильтрация по дате или постраничный вывод, которые этот инструмент не поддерживает. СНАЧАЛА: id берётся из get_root_folders (поле results[].id): вызовите его первым, если у вас его нет. ПРИМЕР: {"id":"folder-abc"} ВОЗВРАЩАЕТ: {folder: {...}, messages: [{...}]}. СУЗЬТЕ: передайте response_fields ["folder.id","folder.name","messages"], если вам не нужно больше: полный ответ значительно больше.

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

    Список разрешённых dot-путей, чтобы уменьшить ответ, например ["results.id","total"]. Пропустите, чтобы получить полный набор данных.

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

Получает одно сообщение по ID, при необходимости дополненное связанными записями. ИСПОЛЬЗУЙТЕ, КОГДА: у вас есть ID сообщения. fields ДОБАВЛЯЕТ связанные данные (conversation, creator, labels), а не сужает ответ. Чтобы сузить ответ, используйте response_fields. ИСПОЛЬЗУЙТЕ ВМЕСТО: list_messages, когда у вас нет ID или нужно несколько сообщений. Он уже возвращает сообщения целиком, поэтому незачем запрашивать каждое из них повторно. СНАЧАЛА: id берётся из list_messages (поле results[].id). Если у вас нет ID, сначала вызовите list_messages. ПРИМЕР: {"id":"msg-abc","fields":"creator"} ВОЗВРАЩАЕТ: {message: {id, transcript?, ai_summary?, audio_url?, creator_id, duration_ms, status, type, attachments?, created_at, ...}}.

Параметры
  • fieldsstring

    Поля (необязательно) - дополнительные поля для включения в ответ. Возможные значения: conversation, creator, labels.

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

    Язык (необязательно) - Исходный язык будет использован, если он не указан или не найден.

  • response_fieldsstring[]

    Список разрешённых точечных путей, сокращающий ответ, например ["results.id","total"]. Пропустите, чтобы получить полный payload.

get_message_share_linkтолько чтениевнешний мир

Находит существующую ссылку для общего доступа к сообщению по её ID, включая сообщение, которое за ней стоит. ИСПОЛЬЗУЙТЕ, КОГДА: У вас есть ID ссылки общего доступа, и вы хотите получить её URL, настройки доступа или проверить, действительна ли она ещё. Проверьте revoked_at и end_access_at, прежде чем полагаться на неё. ИСПОЛЬЗУЙТЕ ВМЕСТО: create_message_share_link для создания новой ссылки; этот инструмент только читает существующие. get_message, если у вас есть ID сообщения и вам не нужна информация о ссылке. СНАЧАЛА: share_link_id берётся из create_message_share_link (поле id). Если у вас его нет, сначала вызовите create_message_share_link. ПРИМЕР: {"share_link_id":"share-abc"} ВОЗВРАЩАЕТ: ту же структуру, что и create_message_share_link: {id, link, share_type, access_type, revoked_at?, end_access_at?, shared_message: {...}, ...}. СУЗЬТЕ ЗАПРОС: передайте response_fields ["id","link","revoked_at","end_access_at"], если вам не нужно больше. Полная полезная нагрузка значительно больше. ОШИБКА NOT_FOUND: Нет ссылки общего доступа с таким ID, или она больше недоступна. Создайте новую с помощью create_message_share_link; не повторяйте попытку с тем же ID.

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

    Список разрешённых dot-путей, чтобы уменьшить ответ, например ["results.id","total"]. Пропустите, чтобы получить полный набор данных.

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

    Идентификатор ссылки общего доступа из create_message_share_link (его id).

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

Получает до 10 самых свежих сообщений, каждое с conversation, creator и labels. ИСПОЛЬЗУЙТЕ, КОГДА: нужно быстро посмотреть, «что только что произошло». Данные уже объединены, поэтому не нужно дополнительных вызовов, чтобы получить имена creator и conversation. ИСПОЛЬЗУЙТЕ ВМЕСТО: list_messages, когда нужно больше 10 сообщений, любой диапазон дат, пагинация или фильтр, отличный от conversation и language. Этот инструмент ничего из этого не поддерживает. ПРИМЕР: {"conversation_id":"conv-abc"} ВОЗВРАЩАЕТ: {results: [{message: {...}, conversation: {...}, creator: {...}, labels: [...]}]}. Ни total, ни пагинации нет: предел в 10 - это и есть весь ответ.

Параметры
  • conversation_idstring

    ID разговора (необязательно)

  • languagestring

    Язык (необязательно) - Исходный язык будет использован, если он не указан или не найден.

  • response_fieldsstring[]

    Список разрешённых dot-путей, чтобы уменьшить ответ, например ["results.id","total"]. Пропустите, чтобы получить полный набор данных.

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

Перечисляет корневые папки рабочей области для заданного типа папки. ИСПОЛЬЗУЙТЕ, КОГДА: нужно сориентироваться в дереве папок или найти folder_id. type обязателен: voicememo или prerecorded. include_all_tree возвращает и вложенные папки. ИСПОЛЬЗУЙТЕ ВМЕСТО: get_folder, чтобы просмотреть одну папку. get_folder_with_messages, когда нужны сообщения папки, а не её структура. ПРИМЕР: {"type":"voicememo","workspace_id":"ws-abc"} ВОЗВРАЩАЕТ: {type, workspace_id?, include_all_tree?, sort_by, sort_direction, results: [{id, name, parent_folder_id?, subfolder_ids?, total_nested_folders_count, total_nested_messages_count, ...}]}. Не разбивается на страницы - это полный набор. СУЗЬТЕ ВЫБОРКУ: передайте response_fields ["results.id","results.name","results.total_nested_messages_count"], если не нужно больше - полный ответ значительно больше.

Параметры
  • include_all_treeboolean

    Возвращает дерево всех папок.

  • response_fieldsstring[]

    Список разрешённых dot-путей, чтобы уменьшить ответ, например ["results.id","total"]. Пропустите, чтобы получить полный набор данных.

  • sort_byenum

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

  • sort_directionenum

    Направление сортировки

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

    Тип папки

  • workspace_idstring

    Рабочее пространство (идентификатор)

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

Получает полный профиль пользователя по ID: имена, языки, настройки голоса, роли в рабочих пространствах. ИСПОЛЬЗУЙТЕ, КОГДА: у вас уже есть ID пользователя и нужны полные данные. ВМЕСТО ЭТОГО ИСПОЛЬЗУЙТЕ: search_user / search_users, чтобы НАЙТИ пользователя по email, телефону или имени. get_current_user - для вызывающего. Этот инструмент требует явный ID и не будет по умолчанию считать вас текущим пользователем. СНАЧАЛА: id берётся из search_users (поле id) - если id нет, сначала вызовите search_users. ПРИМЕР: {"id":"user-abc"} ВОЗВРАЩАЕТ: {id, first_name, last_name?, languages, voice_gender, workspace_ids, workspace_roles, user_type, created_at, ...}. СУЗЬТЕ ОТВЕТ: передавайте response_fields ["id","first_name","last_name","workspace_ids"], если не нужно больше: полный ответ намного больше.

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

    Список разрешённых dot-путей, чтобы уменьшить ответ, например ["results.id","total"]. Пропустите, чтобы получить полный набор данных.

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

Перечисляет все рабочие пространства, в которых вы состоите, только по id и названию. КОГДА ИСПОЛЬЗОВАТЬ: Самый дешёвый способ сопоставить название рабочего пространства с ID перед вызовом в рамках рабочего пространства. Не принимает аргументов. ВМЕСТО ЭТОГО ИСПОЛЬЗУЙТЕ: get_current_user, если нужно больше, чем id и названия, но учтите, что ответ гораздо больше, поэтому предпочитайте этот инструмент, когда id достаточно. ПРИМЕР: {} ВОЗВРАЩАЕТ: Массив {id, name}. Больше ничего и без пагинации.

Параметры

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

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

Перечисляет action items, принадлежащие одному контейнеру: беседе, папке или home. ИСПОЛЬЗУЙТЕ, КОГДА: У вас есть container_id, и вы хотите получить его action items. container_type равен channel для беседы, folder для папки или home. Идентификатор беседы - это НЕ идентификатор папки: определяйте container_id с помощью инструмента, соответствующего вашему container_type. Фильтруйте по status или assigned_to (передавайте строку null, если элемент никому не назначен). ВМЕСТО ЭТОГО ИСПОЛЬЗУЙТЕ: list_my_action_items для всего, что назначено вам, независимо от того, где оно находится. СНАЧАЛА: container_id берётся из list_conversations (поле results[].id), когда container_type равен channel. Вызовите этот инструмент первым, если у вас нет container_id. СНАЧАЛА: container_id берётся из get_root_folders (поле results[].id), когда container_type равен folder. Вызовите этот инструмент первым, если у вас нет container_id. ПРИМЕР: {"container_type":"channel","container_id":"conv-abc","status":"todo"} ВОЗВРАЩАЕТ: То же, что и list_my_action_items: {results: [...], total?, results_count?, has_more?, next_cursor?, filters?}. СУЗЬТЕ ОТВЕТ: передавайте response_fields ["results.id","results.title","results.status","results.assigned_to"], если вам не нужно больше. Полный payload гораздо больше.

Параметры
  • assigned_tostring

    Фильтрует по assigned_to (user_id). Используйте 'null', чтобы отфильтровать неназначенные элементы.

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

    Временная метка-якорь, с которой начинать. Использует updated_at. Игнорируется, если указан starting_after/ending_before.

  • directionenum
  • ending_beforestring

    Курсор для получения предыдущей страницы (используйте значение из previous_cursor).

  • limitnumber

    Количество возвращаемых элементов (мин: 1, макс: 100)

  • response_fieldsstring[]

    Список разрешённых dot-путей, чтобы уменьшить ответ, например ["results.id","total"]. Пропустите, чтобы получить полный набор данных.

  • starting_afterstring

    Курсор для получения следующей страницы (используйте значение из next_cursor).

  • statusenum
list_ai_actionsтолько чтение

Перечисляет доступные вам AI-действия (промпты): у каждого есть id, который можно использовать как prompt_id. ИСПОЛЬЗУЙТЕ, КОГДА: Перед вызовом run_ai_action или summarize_conversation, чтобы найти prompt_id. Также чтобы показать пользователю, какие AI-действия существуют. Фильтруйте по owner_type (user = ваши собственные, workspace = общие, system = встроенные Carbon Voice). ИСПОЛЬЗУЙТЕ ВМЕСТО: get_ai_action_responses, если вам нужны уже сгенерированные результаты, а не список доступных действий. ПРИМЕР: {"owner_type":"system"} ВОЗВРАЩАЕТ: Массив {id, name, description?, prompt, owner_type, workspace_id?, response_format?, created_at, last_updated_at}. Используйте id как prompt_id в других местах. СУЗЬТЕ: передайте response_fields ["id","name","description","owner_type"], если не нужно больше: полный ответ значительно больше.

Параметры
  • owner_typeenum
  • response_fieldsstring[]

    Список разрешённых dot-путей, чтобы уменьшить ответ, например ["results.id","total"]. Пропустите, чтобы получить полный набор данных.

  • workspace_idstring

    Ограничивает до AI Actions, принадлежащих этому workspace, из get_workspaces_basic_info.

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

Перечисляет ваши разговоры за последние 6 месяцев, с необязательной фильтрацией по участникам, типу и имени. КОГДА ИСПОЛЬЗОВАТЬ: для поиска conversation_id. Фильтруйте с помощью user_ids вместе с match, types и name. Ваш личный диалог с кем-то задаётся как user_ids: ["<их id>"], types: ["directMessage"]. Вы всегда неявный участник, поэтому никогда не передавайте свой собственный ID. Фильтры объединяются по И; если подходят несколько, уточните, что имелось в виду. ВМЕСТО: get_conversation, когда у вас уже есть ID и нужны полные детали. Этот инструмент возвращает только id, name, workspace_id и type. ПРИМЕР: {"user_ids":["user-abc"],"types":["directMessage"]} ВОЗВРАЩАЕТ: {results_count, results: [{id, name, workspace_id, type}]}, где type: directMessage | customerConversation | namedConversation | asyncMeeting. Без пагинации: results_count равно числу возвращённых после фильтрации результатов. name добавляет unfiltered_count: количество строк, по которым сопоставлялось имя, ПОСЛЕ фильтров user_ids/types. ВСЕГДА проверяйте это значение, прежде чем говорить, что такого разговора не существует. 0 из 47 означает, что ни одна строка не совпала с этой строкой (опечатка или старше 6 месяцев); 0 из 0 означает, что ваши другие фильтры ничего не оставили, а не то, что у вызывающего нет таких разговоров. Расширьте фильтры или уточните; никогда не сообщайте, что разговора не существует.

Параметры
  • matchenum

    Режим сопоставления для user_ids: any (объединение, по умолчанию) или all (пересечение). ВЫ всегда включаетесь неявно: user_ids: ["u1"] уже означает беседы, в которых есть вы и u1, поэтому никогда не передавайте свой ID. Если так сделать при any, это совпадает с каждой беседой, в которой вы участвуете, и молча отбрасывает фильтр.

  • namestring

    Оставляет только беседы, в названии которых есть эта строка, без учёта регистра. Если ничего не совпадает, проверяет unfiltered_count, прежде чем сообщить, что такой беседы нет: он показывает, сколько бесед было для сопоставления. Если совпадений несколько, спрашивает, какую именно имели в виду.

  • response_fieldsstring[]

    Список разрешённых dot-путей, чтобы уменьшить ответ, например ["results.id","total"]. Пропустите, чтобы получить полный набор данных.

  • typesenum[]

    Оставьте только эти типы бесед. directMessage - это 1:1 с кем-то, объедините с user_ids, чтобы найти ваше личное сообщение с человеком. namedConversation - это беседа, которой кто-то дал имя. Не указывайте, чтобы получить все типы.

  • user_idsstring[]

    Список идентификаторов пользователей для фильтрации диалогов. Если параметр опущен, возвращаются все диалоги вызывающего. Требуются именно идентификаторы пользователей, а не имена пользователей или отображаемые имена. Если у вас есть только имя человека, сначала вызовите search_users (например, names: ["Brett"]), чтобы преобразовать его в идентификатор пользователя. Если search_users возвращает несколько кандидатов для одного имени, уточните у вызывающего, кого именно он имел в виду, вместо того чтобы предполагать.

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

Перечисляет ваши уведомления во входящих с общим количеством непрочитанных. ИСПОЛЬЗУЙТЕ, КОГДА: отвечаете на вопрос «что я пропустил» или «где меня упомянули». Передайте category: "mentions" для упоминаний. Ответ включает total_unread, поэтому можно сообщить количество без постраничного просмотра. ИСПОЛЬЗУЙТЕ ВМЕСТО: search_message_ids с notified_status, если нужны сами сообщения, а не записи об уведомлениях. search_messages_by_heard_status - для непрослушанных сообщений. ПРИМЕР: {"category":"mentions","limit":25} ВОЗВРАЩАЕТ: {results: [...], total_results, total_unread, filters}. Страницы листаются через skip/limit, а не через курсоры. СУЗЬТЕ ОТВЕТ: передайте response_fields ["results","total_unread","total_results"], если не нужно больше. Полный ответ значительно больше.

Параметры
  • categoryenum

    Категория уведомлений. mentions - та, что нужна для «где меня упомянули».

  • datenumber

    Anchor в виде UNIX-таймстампа в MILLISECONDS (например, 1694313500106), а не строки ISO.

  • directionenum

    Направление движения от якоря.

  • limitnumber

    Количество возвращаемых уведомлений (максимум 100).

  • response_fieldsstring[]

    Список разрешённых dot-путей, чтобы уменьшить ответ, например ["results.id","total"]. Пропустите, чтобы получить полный набор данных.

  • skipnumber

    Смещение для постраничной навигации. Этот эндпоинт использует skip/limit, а не курсоры.

  • typestring

    Сужает до одного типа уведомления (например, channel.users.added). category предпочтительнее, если вы не знаете точную строку типа.

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

Перечисляет сообщения с фильтрацией по дате, диалогу, папке, рабочей области, создателю или языку. Используйте, когда: универсальный инструмент чтения сообщений; полные тела, в том числе расшифровку и AI-сводку. Максимальный диапазон дат: 183 дня. user_ids фильтрует по ОТПРАВИТЕЛЮ: для сообщений, которыми обменивались С кем-то, передайте conversation_id из list_conversations. Используйте presigned URL как есть. Вместо этого используйте: get_recent_messages для быстрого просмотра последних нескольких (жёсткий лимит 10, без постраничной навигации). search_message_ids для фильтров, которые этот инструмент не может выразить: состояние уведомления, упоминания или метки. Сначала: workspace_id берётся из get_workspaces_basic_info (поле id). Если у вас его нет, вызовите этот инструмент первым. ПРИМЕР: {"workspace_id":"ws-abc","start_date":"2026-09-01T00:00:00Z","size":25} Возвращает: {page, size, sort_direction, total, results_count, has_next_page, filters, results: [{id, transcript?, ai_summary?, audio_url?, creator_id, conversation_id?, duration_ms, reply_count, status, type, created_at, ...}]}. Для перехода по страницам используйте has_next_page/total, не угадывайте. СУЗЬТЕ: передайте response_fields ["total","has_next_page","results.id","results.transcript","results.created_at"], если вам не нужно больше. Полный ответ значительно больше.

Параметры
  • conversation_idstring

    ID разговора (необязательно)

  • end_datestring

    Конец диапазона дат

  • folder_idstring

    ID папки (необязательно)

  • languagestring

    Язык (необязательно)

  • pagenumber

    Номер страницы, отсчёт с 1. Используется вместе с size; проверяйте has_next_page в ответе.

  • response_fieldsstring[]

    Список разрешённых dot-путей, чтобы уменьшить ответ, например ["results.id","total"]. Пропустите, чтобы получить полный набор данных.

  • sizenumber

    Максимальное количество результатов на странице: 50

  • sort_directionenum

    Результаты сортируются по полю Дата создания.

  • start_datestring

    Диапазон дат начала

  • typeenum

    Тип (необязательно).

  • user_idsstring[]

    Фильтрует по СОЗДАТЕЛЮ сообщения (отправителю): сопоставляется с creator_id, а не с участниками. Требует идентификаторы пользователей из search_users, а не имена. Чтобы найти сообщения, которыми обменивались С кем-то, определите беседу через list_conversations и вместо этого передайте conversation_id.

  • workspace_idstring

    Идентификатор рабочей области (необязательно)

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

Перечисляет ваши задачи во всех беседах и папках: назначенные вам, ПЛЮС неназначенные, которые вы создали. ИСПОЛЬЗУЙТЕ, КОГДА: отвечаете на вопрос «что я должен / что у меня в работе» - но сначала проверьте assigned_to, прежде чем считать что-то личным обязательством пользователя: значение null означает пункт, который поднял пользователь, но никто не взял. Фильтруйте по status (todo открыт, suggested предложен ИИ, done завершён). Листайте с помощью starting_after. ИСПОЛЬЗУЙТЕ ВМЕСТО: list_action_items, когда нужна одна конкретная беседа или папка, а не всё, что есть у вас. ПРИМЕР: {"status":"todo","limit":25} ВОЗВРАЩАЕТ: {results: [{id, title, status, notes_text?, assigned_to?, due_date?, container_id?, container_type?, source_message_id?, creator_id, ...}], total?, results_count?, has_more?, next_cursor?, filters?}. Продолжайте листать, пока has_more равно true, передавая next_cursor как starting_after. СУЗЬТЕ: передавайте response_fields ["results.id","results.title","results.status","results.assigned_to","results.due_date"], если не нужно больше - полная полезная нагрузка значительно больше.

Параметры
  • datestring

    Временная метка-якорь, с которой начинать. Использует updated_at. Игнорируется, если указан starting_after/ending_before.

  • directionenum
  • ending_beforestring

    Курсор для получения предыдущей страницы (используйте значение из previous_cursor).

  • limitnumber

    Количество возвращаемых элементов (мин: 1, макс: 100)

  • response_fieldsstring[]

    Список разрешённых dot-путей, чтобы уменьшить ответ, например ["results.id","total"]. Пропустите, чтобы получить полный набор данных.

  • starting_afterstring

    Курсор для получения следующей страницы (используйте значение из next_cursor).

  • statusenum
move_folder

Перемещает папку в другую папку или в корень рабочего пространства. ИСПОЛЬЗУЙ, КОГДА: нужно переместить папку. Передай folder_id для новой родительской папки или workspace_id, чтобы переместить папку в корень рабочего пространства — что-то одно, не оба. ИСПОЛЬЗУЙ ВМЕСТО: update_folder_name, чтобы переименовать папку на месте. move_message_to_folder для перемещения одного сообщения, а не папки. СНАЧАЛА: id берётся из get_root_folders (поле results[].id) — вызови его первым, если у тебя нет идентификатора. ПРИМЕР: {"id":"folder-abc","folder_id":"folder-parent"} ВОЗВРАЩАЕТ: перемещённую папку в той же форме, что и get_folder. ОШИБКА BAD_REQUEST: переданы и folder_id, и workspace_id, либо не передано ни одного, либо перемещение вложит папку саму в себя. — Передай ровно одно место назначения.

Параметры
  • folder_idstring

    Идентификатор папки

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

    Рабочее пространство (идентификатор)

move_message_to_folder

Перемещает сообщение в папку или в рабочую область. ИСПОЛЬЗУЙТЕ, КОГДА: подшивка памятки. Перемещать можно только сообщения voicememo/prerecorded, созданные вами, и тип сообщения должен совпадать с типом папки. Передайте ровно один из параметров folder_id или workspace_id. ВМЕСТО ЭТОГО ИСПОЛЬЗУЙТЕ: move_folder для перемещения целой папки. create_voicememo_message с folder_id, чтобы подшить памятку сразу при создании, а не перемещать её после. СНАЧАЛА: message_id берётся из list_messages (поле results[].id) — вызовите его первым, если у вас его нет. ПРИМЕР: {"message_id":"msg-abc","folder_id":"folder-abc"} ВОЗВРАЩАЕТ: обновлённое сообщение с новым размещением. ОШИБКА BAD_REQUEST: тип сообщения не voicememo/prerecorded, он не совпадает с типом папки назначения, или переданы оба/ни одного назначения. Проверьте type через get_message и тип папки через get_folder; они должны совпадать. Передайте ровно одно назначение.

Параметры
  • folder_idstring

    Папка назначения. Передайте ровно один из folder_id или workspace_id: оба сразу или ни одного не принимаются.

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

    Сообщение для перемещения. Перемещать можно только сообщения voicememo и prerecorded, вы должны быть создателем сообщения, и тип сообщения должен совпадать с типом папки назначения (voicememo нельзя поместить в папку prerecorded).

  • workspace_idstring

    Рабочее пространство назначения, чтобы вынести сообщение из любой папки. Передаёт ровно один из folder_id или workspace_id: если передать оба вместе или не передать ни одного, запрос отклоняется.

run_ai_action

Запускает AI Action (промпт) для одного или нескольких конкретных сообщений. ИСПОЛЬЗУЙТЕ, КОГДА: у вас есть конкретные message_ids и prompt_id, и нужно применить AI Action именно к этим сообщениям. ИСПОЛЬЗУЙТЕ ВМЕСТО: summarize_conversation, если нужно суммаризировать весь разговор, а иначе пришлось бы перечислять сообщения вручную: инструмент сам делает эту выборку. СНАЧАЛА: prompt_id берётся из list_ai_actions (поле id). Если у вас нет prompt_id, вызовите list_ai_actions. СНАЧАЛА: message_ids берётся из list_messages (поле results[].id). Если у вас нет message_ids, вызовите list_messages. ПРИМЕР: {"prompt_id":"prompt-abc","message_ids":["msg-1","msg-2"],"language":"english"} ВОЗВРАЩАЕТ: {id, prompt_id, message_ids, creator_id, channel_id?, workspace_id?, responses: [{language, text?, markdown?, html?, json?}], created_at}. Сгенерированный результат находится в responses[], по одной записи на язык. ОШИБКА BAD_REQUEST: prompt_id или один из message_ids недействителен. Вызовите list_ai_actions, чтобы получить допустимые значения prompt_id, и list_messages, чтобы получить допустимые идентификаторы сообщений; не повторяйте запрос с теми же идентификаторами.

Параметры
  • channel_idstring

    Беседа, к которой относятся сообщения, из list_conversations.

  • ignore_existing_responseboolean

    Игнорировать ли существующий ответ и генерировать новый. По умолчанию false.

  • languagestring

    Язык ответа. По умолчанию - язык исходного сообщения.

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

    Идентификаторы сообщений из list_messages (results[].id).

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

    AI Action ID из list_ai_actions (его id).

  • response_fieldsstring[]

    Список разрешённых dot-путей, чтобы уменьшить ответ, например ["results.id","total"]. Пропустите, чтобы получить полный набор данных.

  • workspace_idstring

    Область действия рабочего пространства, из get_workspaces_basic_info.

run_ai_action_for_shared_linkвнешний мир

Запускает AI Action (Prompt) для одного или нескольких расшаренных сообщений, определяемых по share link ID. ИСПОЛЬЗУЙТЕ, КОГДА: у вас есть share link ID - из create_message_share_link или ссылка, которую вам передали, - и вы хотите применить AI Action к сообщениям, стоящим за ними. ИСПОЛЬЗУЙТЕ ВМЕСТО: run_ai_action, если у вас есть ID сообщений напрямую; переход через share link ничего не даёт, когда у вас уже есть доступ. СНАЧАЛА: share_link_ids берётся из create_message_share_link (поле id) - вызовите его первым, если у вас нет такого ID. СНАЧАЛА: prompt_id берётся из list_ai_actions (поле id) - вызовите его первым, если у вас нет такого ID. ПРИМЕР: {"prompt_id":"prompt-abc","share_link_ids":["share-abc"]} ВОЗВРАЩАЕТ: {share_link_ids, responses: [{language, text?, markdown?, html?, json?}], ...}. ОШИБКА NOT_FOUND: share link ID не существует, либо доступ к нему отозван или истёк. - Создайте новую ссылку через create_message_share_link или проверьте ID с помощью get_message_share_link.

Параметры
  • languagestring

    Язык ответа. По умолчанию совпадает с языком исходного сообщения.

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

    AI Action ID из list_ai_actions (его id).

  • response_fieldsstring[]

    Список разрешённых dot-путей, чтобы уменьшить ответ, например ["results.id","total"]. Пропустите, чтобы получить полный набор данных.

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

    Передаёт идентификаторы ссылок из create_message_share_link (его id).

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

Находит идентификаторы сообщений по статусу уведомлений, упоминаниям, меткам, автору, беседе или рабочей области: возвращает идентификаторы и метаданные курсора. ИСПОЛЬЗУЙТЕ, КОГДА: нужен фильтр, недоступный в list_messages: статус уведомления (notified_status), отметка пользователя (tagged_user_ids) или метки (label_ids). Экономит токены, так как возвращает только идентификаторы: нужные подгружайте через get_message. ИСПОЛЬЗУЙТЕ ВМЕСТО: list_messages, когда нужен только фильтр по диапазону дат, беседе или рабочей области и вы хотите получить полные тексты сообщений одним вызовом. search_messages_by_heard_status для состояния «непрочитано/прослушано», которое этот инструмент не поддерживает. ПРИМЕР: {"notified_status":"notified","limit":50} ВОЗВРАЩАЕТ: {ids: [{...}], has_more, next_cursor?}. Продолжайте запрашивать следующие страницы, пока has_more истинно, передавая next_cursor обратно как next_cursor. ОШИБКА BAD_REQUEST: список идентификаторов содержит имена вместо идентификаторов или превышает 50 записей. Преобразуйте людей в идентификаторы через search_users, а беседы через list_conversations; разбивайте списки длиннее 50.

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

    Только сообщения в этих диалогах. Максимум 50 записей. Требуются ID, а не имена.

  • created_or_updated_atstring

    Опорная метка времени в формате ISO 8601; подойдёт и суффикс UTC Z, и числовое смещение. В паре с sort_direction задаёт переход назад или вперёд от точки во времени.

  • creator_idsstring[]

    Только сообщения, созданные этими пользователями. Максимум 50 записей. Требуются ID, а не имена.

  • has_notesenum

    Фильтрует по наличию прикреплённых заметок у сообщения.

  • label_idsstring[]

    Только сообщения с этими метками. Максимум 50 записей. Нужны ID, имена не подойдут.

  • limitnumber

    Количество ID сообщений для возврата (максимум 100).

  • next_cursorstring

    Передаёт next_cursor из предыдущего ответа, чтобы получить следующую страницу.

  • notified_statusenum

    Фильтрует по признаку, получали ли вы уведомление о сообщении. notified = сообщения, о которых вы получали уведомление, not_notified = остальные, both = без фильтра.

  • response_fieldsstring[]

    Список разрешённых dot-путей, чтобы уменьшить ответ, например ["results.id","total"]. Пропустите, чтобы получить полный набор данных.

  • sort_directionenum

    Направление движения от якоря.

  • tagged_user_idsstring[]

    Только сообщения, в которых этих пользователей отметили/упомянули. Максимум 50 записей. Требуются ID, имена не подойдут.

  • workspace_idsstring[]

    Только сообщения в этих воркспейсах. Максимум 50 записей. Требует ID, а не названия.

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

Находит сообщения по тому, прослушаны ли они, и возвращает счётчики непрослушанных по каждому диалогу. КОГДА ИСПОЛЬЗОВАТЬ: «Что я ещё не прослушал» / «введи меня в курс дела». heardStatus: "unheard" - фильтр непрослушанных. Ответ также содержит unheard_counts_by_channel, так что можно расставить приоритеты между диалогами, не загружая их сообщения. ВМЕСТО ЭТОГО ИСПОЛЬЗУЙТЕ: search_message_ids для состояния уведомлений, упоминаний или якорей дат - этот инструмент не принимает фильтр по дате (см. примечание ниже). list_messages для обычной недавней истории. ПРИМЕР: {"heardStatus":"unheard","limit":25} ВОЗВРАЩАЕТ: {messages: [{message_guid, creator_guid, creator_first_name, channel_guids, transcript_txt, message_ts, heard_status, ...}], unheard_counts_by_channel: {conversation_id: count}, success}. Используйте unheard_counts_by_channel, чтобы решить, куда смотреть в первую очередь. СУЗЬТЕ ЗАПРОС: передайте response_fields ["unheard_counts_by_channel","messages.message_guid","messages.channel_guids","messages.creator_first_name","messages.transcript_txt","messages.message_ts"], если не нужно больше - полный ответ значительно больше.

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

    Только сообщения в этих диалогах. Максимум 50 записей. Требуются ID, а не имена.

  • heardStatusenum

    Фильтрует по состоянию прослушивания. unheard = ещё не прослушано (ваши непрочитанные сообщения), heard = уже прослушано, any = без фильтра.

  • label_guidsstring[]

    Только сообщения с этими метками. Максимум 50 записей. Нужны ID, имена не подойдут.

  • limitnumber

    Количество сообщений для возврата (максимум 100).

  • response_fieldsstring[]

    Список разрешённых dot-путей, чтобы уменьшить ответ, например ["results.id","total"]. Пропустите, чтобы получить полный набор данных.

  • tagged_user_guidsstring[]

    Только сообщения, в которых этих пользователей отметили/упомянули. Максимум 50 записей. Требуются ID, имена не подойдут.

  • user_guidsstring[]

    Только сообщения, созданные этими пользователями. Максимум 50 записей. Требуются ID, а не имена.

search_userтолько чтениевнешний мир

Находит одного пользователя по email, телефону или имени. ИСПОЛЬЗУЙТЕ, КОГДА: нужно найти ОДНОГО человека. Укажите ровно одно из email, phone или name. Поиск по имени находит только ваши собственные контакты. ИСПОЛЬЗУЙТЕ ВМЕСТО: search_users для нескольких людей за один вызов, он принимает массивы и экономит один запрос на человека. get_user, когда у вас уже есть ID. ПРИМЕР: {"email":"someone@example.com"} ВОЗВРАЩАЕТ: {id, full_name, first_name, last_name?, link, image_url?, languages?, ...}. Используйте id везде, где другой инструмент запрашивает идентификатор пользователя. ОШИБКА NOT_FOUND: Никто не найден, или поиск по имени зацепил не-контакт. Попробуйте email или телефон вместо имени; поиск по имени ограничен вашими контактами.

Параметры
  • emailstring

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

  • namestring

    Имя пользователя для поиска (возвращаются только пользователи из ваших контактов)

  • phonestring

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

search_usersтолько чтениевнешний мир

Определяет несколько пользователей сразу по email, телефонам, ID или именам. КОГДА ИСПОЛЬЗОВАТЬ: превращение списка людей в ID пользователей одним вызовом: правильный первый шаг перед любым инструментом, который принимает ID пользователей. Поиск по имени работает только среди ваших контактов. ИСПОЛЬЗУЙТЕ ВМЕСТО: search_user для одиночного поиска. get_user для полного профиля, когда ID уже есть. ПРИМЕР: {"names":["Brett"]} ВОЗВРАЩАЕТ: массив {id, full_name, first_name, last_name?, link, languages?, ...}. Если по имени найдено несколько кандидатов, уточните, какого человека имели в виду, а не угадывайте. СУЗЬТЕ ВЫБОРКУ: передайте response_fields ["id","full_name"], если не нужно больше: полный ответ значительно больше.

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

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

  • idsstring[]

    Идентификаторы пользователей

  • namesstring[]

    Имена пользователей для поиска (Будут возвращены только пользователи из ваших контактов)

  • phonesstring[]

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

  • response_fieldsstring[]

    Список разрешённых dot-путей, чтобы уменьшить ответ, например ["results.id","total"]. Пропустите, чтобы получить полный набор данных.

set_action_item_status

Перемещает элемент действия между suggested, todo и done. ИСПОЛЬЗУЙТЕ, КОГДА: завершаете элемент (done), возвращаете его в работу (todo) или принимаете предложенный ИИ элемент, повышая его с suggested до todo. ИСПОЛЬЗУЙТЕ ВМЕСТО: update_action_item для заголовка, заметок, исполнителя или срока; этот инструмент только меняет статус. СНАЧАЛА: id берётся из list_my_action_items (поле results[].id). Вызовите его первым, если у вас его нет. ПРИМЕР: {"id":"ai-abc","status":"done"} ВОЗВРАЩАЕТ: обновлённый элемент действия, той же структуры, что и get_action_item.

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

Извлекает пункты действий из ОДНОГО сообщения и немедленно возвращает их. ИСПОЛЬЗУЙТЕ, КОГДА: нужно превратить одно сообщение в задачи - "что она просила меня сделать?". Пункты возвращаются в этом вызове, уже сохранённые со статусом status: "suggested"; переводите нужные в другой статус с помощью set_action_item_status. Предпочитайте этот инструмент suggest_action_items_from_messages, когда сообщение ровно одно, так как он не требует опроса. ИСПОЛЬЗУЙТЕ ВМЕСТО: suggest_action_items_from_messages для двух и более сообщений: он анализирует весь набор сразу и может уловить обязательства, охватывающие несколько сообщений, чего повторные вызовы этого инструмента сделать не могут. create_action_item используйте, когда задача уже известна. СНАЧАЛА: message_id берётся из list_messages (поле results[].id); если у вас его нет, сначала вызовите list_messages. ПРИМЕР: {"message_id":"msg-1"} ВОЗВРАЩАЕТ: Массив созданных пунктов действий, каждый с id, title, assigned_to, due_date, notes_text и status: "suggested". Пустой массив означает, что модель не нашла ничего, что можно было бы выполнить. Извлечение выполняется прямо в этом вызове, так что рассчитывайте, что вызов займёт несколько секунд.

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

    Сообщение, из которого извлекаются задачи. Ровно одно: для нескольких сообщений сразу используется suggest_action_items_from_messages.

  • response_fieldsstring[]

    Список разрешённых dot-путей, чтобы уменьшить ответ, например ["results.id","total"]. Пропустите, чтобы получить полный набор данных.

suggest_action_items_from_messages

Ставит в очередь извлечение возможных задач из конкретных сообщений с помощью ИИ. Работает в фоне. ИСПОЛЬЗУЙТЕ, КОГДА: нужно превратить разговор в задачи - «о чём мы договорились?». Передайте message_ids для анализа, затем ОПРАШИВАЙТЕ list_my_action_items или list_action_items с status: "suggested", чтобы получить результаты, и повышайте статус нужных с помощью set_action_item_status. ИСПОЛЬЗУЙТЕ ВМЕСТО: suggest_action_items_from_message (для ОДНОГО сообщения) - возвращает задачи напрямую, без опроса. create_action_item, когда задача уже известна и не нужно её выводить, - возвращает задачу синхронно, с id. СНАЧАЛА: message_ids берётся из list_messages (поле results[].id) - сначала вызовите list_messages, если у вас нет message_ids. ПРИМЕР: {"message_ids":["msg-1","msg-2"]} ВОЗВРАЩАЕТ: ТОЛЬКО ПОДТВЕРЖДЕНИЕ - задачи не возвращаются. Извлечение ставится в очередь и работает в фоне, поэтому опрашивайте инструмент вывода списка с status: "suggested", чтобы увидеть результаты.

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

    Список ID сообщений

summarize_conversation

Создаёт сводку беседы, запуская AI Action по её последним сообщениям. ИСПОЛЬЗУЙТЕ, КОГДА: вам нужна сводка беседы и есть conversation_id. Выбор сообщений выполняется автоматически - опустите message_ids, и будут использованы самые последние сообщения. ИСПОЛЬЗУЙТЕ ВМЕСТО: run_ai_action, если вы уже точно знаете, какие message_ids обрабатывать, или вам нужен AI Action не для сводки. СНАЧАЛА: prompt_id берётся из list_ai_actions (поле id) - если у вас его нет, вызовите list_ai_actions первым. СНАЧАЛА: conversation_id берётся из list_conversations (поле results[].id) - если у вас его нет, вызовите list_conversations первым. ПРИМЕР: {"conversation_id":"conv-abc","prompt_id":"prompt-abc","limit":50} ВОЗВРАЩАЕТ: То же, что и run_ai_action: {id, prompt_id, message_ids, responses: [{language, text?, markdown?, ...}], ...}. ОШИБКА BAD_REQUEST: prompt_id недопустимый идентификатор AI Action. - Вызовите list_ai_actions, чтобы получить допустимые значения prompt_id.

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

    Беседа для суммаризации, полученная из list_conversations.

  • end_datestring

    Верхняя граница возраста сообщения в формате ISO 8601; подойдёт и суффикс UTC Z, и числовое смещение. Игнорируется, если указан message_ids.

  • languagestring

    Язык сводки. По умолчанию совпадает с языком исходного сообщения.

  • limitinteger

    Сколько последних сообщений суммировать, если message_ids не указан. Должно быть положительным целым числом; значения выше 50 ограничиваются 50 (лимит страницы upstream). Игнорируется, если message_ids указан.

  • message_idsstring[]

    Конкретные сообщения для суммаризации. Если пропустить, используются последние сообщения, что обычно и нужно - это экономит вызов list_messages.

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

    AI Action ID из list_ai_actions (его id).

  • response_fieldsstring[]

    Список разрешённых dot-путей, чтобы уменьшить ответ, например ["results.id","total"]. Пропустите, чтобы получить полный набор данных.

  • start_datestring

    Нижняя граница возраста сообщения в формате ISO 8601; подойдёт и суффикс UTC Z, и числовое смещение. Игнорируется, когда задан message_ids.

update_action_item

Изменяет заголовок, заметки, исполнителя или срок выполнения элемента действий. КОГДА ИСПОЛЬЗОВАТЬ: при редактировании содержимого элемента. Отправляйте только те поля, которые нужно изменить, пропущенные поля остаются без изменений. ВМЕСТО: set_action_item_status для перемещения элемента между статусами todo / done / suggested; здесь статус не редактируется. СНАЧАЛА: id берётся из list_my_action_items (поле results[].id) — вызовите его первым, если у вас его нет. ПРИМЕР: {"id":"ai-abc","due_date":"2026-10-01"} ВОЗВРАЩАЕТ: обновлённый элемент действий, той же формы, что и get_action_item.

Параметры
  • assigned_tostring

    ID пользователя-исполнителя из search_users. Не имя.

  • due_datestring

    Срок выполнения в виде отметки времени ISO 8601.

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

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

  • titlestring

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

update_folder_name

Переименовывает папку. ИСПОЛЬЗУЙТЕ, КОГДА: Изменяется только имя. name - единственное редактируемое поле здесь. ИСПОЛЬЗУЙТЕ ВМЕСТО: move_folder, чтобы изменить расположение папки в дереве. СНАЧАЛА: id берется из get_root_folders (поле results[].id) - вызовите его сначала, если у вас его нет. ПРИМЕР: {"id":"folder-abc","name":"Q4 planning (final)"} ВОЗВРАЩАЕТ: Обновленную папку, той же формы, что и get_folder.

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

    Имя новой папки

2.12.0основная
2.11.0
2.10.0
2.9.0
2.8.17
2.8.16
2.8.15
2.8.14
2.8.0
2.7.0
2.6.2
2.5.0
2.4.0
2.3.0
2.2.0
2.1.0
2.0.1
1.1.3
1.1.2
1.1.1
1.0.13
1.0.12
1.0.11
1.0.10
1.0.9
1.0.8
1.0.7
1.0.6
1.0.5
1.0.4
1.0.3
1.0.2
1.0.0

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

Любой клиент

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

{
  "mcpServers": {
    "phononx-cv-mcp-server-3n5c3m2d22": {
      "command": "npx",
      "env": {
        "CARBON_VOICE_API_KEY": "your_api_key_here"
      },
      "args": [
        "-y",
        "@carbonvoice/cv-mcp-server"
      ]
    }
  }
}
CursorCursor

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

{
  "mcpServers": {
    "phononx-cv-mcp-server-3n5c3m2d22": {
      "command": "npx",
      "env": {
        "CARBON_VOICE_API_KEY": "your_api_key_here"
      },
      "args": [
        "-y",
        "@carbonvoice/cv-mcp-server"
      ]
    }
  }
}
VS Code

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

{
  "servers": {
    "phononx-cv-mcp-server-3n5c3m2d22": {
      "type": "stdio",
      "command": "npx",
      "env": {
        "CARBON_VOICE_API_KEY": "your_api_key_here"
      },
      "args": [
        "-y",
        "@carbonvoice/cv-mcp-server"
      ]
    }
  }
}

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

code --add-mcp "{\"name\":\"phononx-cv-mcp-server-3n5c3m2d22\",\"type\":\"stdio\",\"command\":\"npx\",\"env\":{\"CARBON_VOICE_API_KEY\":\"your_api_key_here\"},\"args\":[\"-y\",\"@carbonvoice/cv-mcp-server\"]}"
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": {
    "phononx-cv-mcp-server-3n5c3m2d22": {
      "command": "npx",
      "env": {
        "CARBON_VOICE_API_KEY": "your_api_key_here"
      },
      "args": [
        "-y",
        "@carbonvoice/cv-mcp-server"
      ]
    }
  }
}
Claude CodeClaude Code

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

claude mcp add phononx-cv-mcp-server-3n5c3m2d22 --env CARBON_VOICE_API_KEY=your_api_key_here -- npx -y @carbonvoice/cv-mcp-server

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

claude mcp add-json phononx-cv-mcp-server-3n5c3m2d22 "{\"command\":\"npx\",\"env\":{\"CARBON_VOICE_API_KEY\":\"your_api_key_here\"},\"args\":[\"-y\",\"@carbonvoice/cv-mcp-server\"]}"
CodexCodex

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

codex mcp add phononx-cv-mcp-server-3n5c3m2d22 --env CARBON_VOICE_API_KEY=your_api_key_here -- npx -y @carbonvoice/cv-mcp-server

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

[mcp_servers.phononx-cv-mcp-server-3n5c3m2d22]
command = "npx"
args = ["-y", "@carbonvoice/cv-mcp-server"]

[mcp_servers.phononx-cv-mcp-server-3n5c3m2d22.env]
CARBON_VOICE_API_KEY = "your_api_key_here"
PerplexityPerplexity

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

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

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

WindsurfWindsurf

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

{
  "mcpServers": {
    "phononx-cv-mcp-server-3n5c3m2d22": {
      "command": "npx",
      "env": {
        "CARBON_VOICE_API_KEY": "your_api_key_here"
      },
      "args": [
        "-y",
        "@carbonvoice/cv-mcp-server"
      ]
    }
  }
}
ClineCline

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

{
  "mcpServers": {
    "phononx-cv-mcp-server-3n5c3m2d22": {
      "command": "npx",
      "env": {
        "CARBON_VOICE_API_KEY": "your_api_key_here"
      },
      "args": [
        "-y",
        "@carbonvoice/cv-mcp-server"
      ],
      "disabled": false,
      "autoApprove": []
    }
  }
}
Continue

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

mcpServers:
  - name: phononx-cv-mcp-server-3n5c3m2d22
    command: npx
    args:
      - "-y"
      - "@carbonvoice/cv-mcp-server"
    env:
      CARBON_VOICE_API_KEY: your_api_key_here
Zed

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

{
  "context_servers": {
    "phononx-cv-mcp-server-3n5c3m2d22": {
      "command": "npx",
      "env": {
        "CARBON_VOICE_API_KEY": "your_api_key_here"
      },
      "args": [
        "-y",
        "@carbonvoice/cv-mcp-server"
      ]
    }
  }
}

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

twilio-labs/mcp

twilio-labs/mcp

от twilio-labs

MCP сервер для всех публичных Twilio API - SMS, звонки, уведомления. AI-инструменты управляют Twilio напрямую через MCP. Полезен разработчикам для автоматизации общения.

TypeScript⭐ 113
chaindead/telegram-mcp

chaindead/telegram-mcp

от chaindead

Telegram MCP сервер подключает AI-ассистентов к вашему аккаунту: чтение диалогов, отправка сообщений, отслеживание уведомлений. Работает с Claude, Cursor. Упрощает управление перепиской и автоматизацию ответов.

Go⭐ 349
saseq/discord-mcp

saseq/discord-mcp

от saseq

MCP-сервер для Discord API, интегрирующий ботов с ИИ-ассистентами. Даёт AI полный контроль над сервером: управление каналами, сообщениями и модерацией. Идеален для автоматизации Discord-сообществ.

Java⭐ 553
iprashantraj/mcp-discord-bridge

iprashantraj/mcp-discord-bridge

от iprashantraj

MCP-сервер для управления Discord-сервером через AI: 44 инструмента для каналов, сообщений, ролей, модерации и вебхуков. Подходит для автоматизации модерации и администрирования с любым MCP-клиентом.

TypeScript⭐ 3
chigwell/telegram-mcp

chigwell/telegram-mcp

от chigwell

Отправляет сообщения, управляет чатами, контактами и медиа в Telegram: 80+ операций для автоматизации переписки и администрирования.

Python⭐ 1862
trycourier/courier-mcp

trycourier/courier-mcp

от trycourier

MCP-сервер Courier даёт AI-агентам полный доступ к API уведомлений через 124 инструмента: отправка сообщений, управление профилями, доставкой, списками и аудиенциями. Полезен для интеграции ИИ-аген...

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

Лука Никитин