cbcoutinho/nextcloud-mcp-server

cbcoutinho/nextcloud-mcp-server

от cbcoutinho
Управляет Nextcloud: создаёт заметки, ведёт календарь и контакты, редактирует файлы, Deck и Mail. 110+ операций по 13 приложениям, включая семантический поиск.

Nextcloud MCP Server

Nextcloud MCP Server

Docker Image

A production-ready MCP server that connects AI assistants to your Nextcloud instance.

Enable Large Language Models like Claude, GPT, and Gemini to interact with your Nextcloud data through a secure API. Create notes, manage calendars, organize contacts, work with files, and more - all through natural language conversations.

This is a dedicated standalone MCP server designed for external MCP clients like Claude Code and IDEs. It runs independently of Nextcloud (Docker, VM, Kubernetes, or local) and provides deep CRUD operations across Nextcloud apps.

Заметка

Want AI features inside Nextcloud instead? You can point Nextcloud's own Assistant at this server — see AI inside Nextcloud below.

Совет

Don't want to self-host? Astrolabe Cloud is a managed hosting service for this MCP server, aimed at users and teams who want advanced features like background sync and semantic search without operating the infrastructure themselves. The service is currently under development — sign up on the landing page to join the early-adopter list.

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

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

Присваивает тег странице в Nextcloud Collective Аргументы: collective_id: ID коллектива page_id: ID страницы tag_id: ID назначаемого тега

Назначает тег коллективной странице.

Параметры
  • collective_idintegerобязательный
  • page_idintegerобязательный
  • tag_idintegerобязательный
collectives_create_collectiveвнешний мир

Создаёт новый Nextcloud Collective Аргументы: name: Имя коллектива emoji: Необязательный эмодзи для коллектива

Создаёт коллектив

Параметры
  • emojistring | null
  • namestringобязательный
collectives_create_pageвнешний мир

Создаёт новую страницу в Nextcloud Collective. Страницы создаются как пустые markdown-файлы. Используйте nc_webdav_write_file с путём collectivePath/filePath/fileName, чтобы добавить содержимое после создания (опустите filePath для страниц верхнего уровня). Аргументы: collective_id: ID коллектива parent_id: ID родительской страницы (используйте 0 для страниц верхнего уровня) title: Заголовок новой страницы

Создаёт Collective Page

Параметры
  • collective_idintegerобязательный
  • parent_idintegerобязательный
  • titlestringобязательный
collectives_create_tagвнешний мир

Создаёт новый тег в Nextcloud Collective Аргументы: collective_id: ID коллектива name: Название тега color: Шестнадцатеричный код цвета (например, "FF0000")

Создаёт коллективный тег

Параметры
  • collective_idintegerобязательный
  • colorstringобязательный
  • namestringобязательный
collectives_delete_collectiveвнешний мир

Безвозвратно удаляет Nextcloud Collective. ВНИМАНИЕ: Это необратимо. Сначала коллектив должен попасть в корзину (через collectives_trash_collective). Все страницы и содержимое будут безвозвратно уничтожены. Аргументы: collective_id: ID коллектива в корзине, который нужно безвозвратно удалить

Удаляет коллектив

Параметры
  • collective_idintegerобязательный
collectives_get_collectivesтолько чтениевнешний мир

Перечисляет все Nextcloud Collectives, к которым у пользователя есть доступ

Перечисляет коллективы.

Параметры

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

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

Получает метаданные страницы и содержимое Markdown из Nextcloud Collective. Содержимое загружается через WebDAV по пути к файлу страницы. Чтобы обновить содержимое страницы, используйте инструмент nc_webdav_write_file с путём collectivePath/filePath/fileName (для страниц корневого уровня пропустите filePath). Аргументы: collective_id: ID коллектива page_id: ID страницы

Получает страницу коллектива

Параметры
  • collective_idintegerобязательный
  • page_idintegerобязательный
collectives_get_pagesтолько чтениевнешний мир

Перечисляет все страницы в коллективе Nextcloud Аргументы: collective_id: идентификатор коллектива

Перечисляет коллективные страницы.

Параметры
  • collective_idintegerобязательный
collectives_get_tagsтолько чтениевнешний мир

Перечисляет все теги в Nextcloud Collective Аргументы: collective_id: идентификатор коллектива

Перечисляет коллективные теги

Параметры
  • collective_idintegerобязательный
collectives_get_trashed_collectivesтолько чтениевнешний мир

Перечисляет все удалённые в корзину Nextcloud Collectives. Возвращает коллективы, помеченные как удалённые, которые можно восстановить или удалить навсегда.

Выводит список коллективов в корзине

Параметры

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

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

Выводит список удалённых страниц в Nextcloud Collective Аргументы: collective_id: ID коллектива

Выводит список коллективных страниц в корзине.

Параметры
  • collective_idintegerобязательный
collectives_move_pageвнешний мир

Перемещает или копирует страницу внутри Nextcloud Collective Аргументы: collective_id: ID коллектива page_id: ID страницы для перемещения/копирования parent_id: ID целевой родительской страницы title: Новый заголовок (необязательно) index: Позиция в порядке подстраниц (по умолчанию 0) copy: Если true, копирует вместо перемещения

Перемещает коллективную страницу.

Параметры
  • collective_idintegerобязательный
  • copyboolean
  • indexinteger
  • page_idintegerобязательный
  • parent_idinteger | null
  • titlestring | null
collectives_remove_tagидемпотентныйвнешний мир

Удаляет тег со страницы в Nextcloud Collective. Это обратимая операция - тег всё ещё существует, и его можно назначить заново с помощью collectives_assign_tag. Аргументы: collective_id: ID коллектива page_id: ID страницы tag_id: ID удаляемого тега

Удаляет тег со страницы коллектива.

Параметры
  • collective_idintegerобязательный
  • page_idintegerобязательный
  • tag_idintegerобязательный
collectives_restore_collectiveидемпотентныйвнешний мир

Восстанавливает Nextcloud Collective из корзины. Аргументы: collective_id: ID коллектива в корзине, который нужно восстановить

Restore Collective

Параметры
  • collective_idintegerобязательный
collectives_restore_pageидемпотентныйвнешний мир

Восстанавливает страницу из корзины в Nextcloud Collective Аргументы: collective_id: ID коллектива page_id: ID страницы для восстановления

Восстанавливает страницу коллектива

Параметры
  • collective_idintegerобязательный
  • page_idintegerобязательный
collectives_search_pagesтолько чтениевнешний мир

Выполняет полнотекстовый поиск внутри Nextcloud Collective Аргументы: collective_id: ID коллектива query: Строка поискового запроса

Ищет страницы Collective Pages

Параметры
  • collective_idintegerобязательный
  • querystringобязательный
collectives_set_collective_emojiидемпотентныйвнешний мир

Устанавливает или сбрасывает эмодзи в Nextcloud Collective. Установка одного и того же эмодзи дважды даёт тот же результат (идемпотентно). Передаёт emoji=None, чтобы сбросить эмодзи. Аргументы: collective_id: ID коллектива emoji: Эмодзи для установки или None для сброса

Устанавливает коллективный эмодзи

Параметры
  • collective_idintegerобязательный
  • emojistring | null
collectives_set_page_emojiидемпотентныйвнешний мир

Устанавливает или сбрасывает эмодзи на странице Nextcloud Collective Аргументы: collective_id: ID коллектива page_id: ID страницы emoji: Эмодзи для установки или null для сброса

Устанавливает эмодзи для страницы коллектива.

Параметры
  • collective_idintegerобязательный
  • emojistring | null
  • page_idintegerобязательный
collectives_trash_collectiveвнешний мир

Перемещает коллектив Nextcloud в корзину (мягкое удаление). После этого коллектив можно восстановить или удалить навсегда. Аргументы: collective_id: ID коллектива, который нужно переместить в корзину

Trash Collective

Параметры
  • collective_idintegerобязательный
collectives_trash_pageвнешний мир

Перемещает страницу в корзину в Nextcloud Collective (мягкое удаление). Страницы, перемещённые в корзину, можно восстановить с помощью collectives_restore_page. API Collectives не поддерживает безвозвратное удаление страниц. Страницы в корзине очищаются политикой хранения Nextcloud. Аргументы: collective_id: ID коллектива page_id: ID страницы, которую нужно переместить в корзину

Страница Trash Collective

Параметры
  • collective_idintegerобязательный
  • page_idintegerобязательный
deck_archive_cardвнешний мир

Архивирует карточку Nextcloud Deck Аргументы: board_id: ID доски stack_id: ID стека card_id: ID карточки

Archive Deck Card

Параметры
  • board_idintegerобязательный
  • card_idintegerобязательный
  • stack_idintegerобязательный
deck_assign_dependent_cardвнешний мир

Отмечает карточку Nextcloud Deck как зависящую от другой карточки. Повторяет действие Deck "Add dependent card". Зависимость направленная и хранится в card_id: она отображается в списке dependentCards этой карточки (видно через deck_get_card). Нужен доступ на чтение к карточке, от которой зависит card_id. Аргументы: board_id: ID доски, содержащей зависимую карточку stack_id: ID стека, содержащего зависимую карточку card_id: ID карточки, которая зависит от другой карточки dependent_card_id: ID карточки, от которой зависит card_id

Добавляет зависимую карточку к карточке колоды.

Параметры
  • board_idintegerобязательный
  • card_idintegerобязательный
  • dependent_card_idintegerобязательный
  • stack_idintegerобязательный
deck_assign_label_to_cardвнешний мир

Назначает метку карточке Nextcloud Deck Аргументы: board_id: ID доски stack_id: ID стека card_id: ID карточки label_id: ID назначаемой метки

Назначает метку карточке колоды

Параметры
  • board_idintegerобязательный
  • card_idintegerобязательный
  • label_idintegerобязательный
  • stack_idintegerобязательный
deck_assign_user_to_cardвнешний мир

Назначает пользователя на карточку Nextcloud Deck Аргументы: board_id: Идентификатор доски stack_id: Идентификатор стека card_id: Идентификатор карточки user_id: Идентификатор пользователя для назначения

Назначает пользователя на карточку колоды

Параметры
  • board_idintegerобязательный
  • card_idintegerобязательный
  • stack_idintegerобязательный
  • user_idstringобязательный
deck_attach_fileвнешний мир

Прикрепляет существующий файл Nextcloud к карточке Deck без копирования. Создаёт общий доступ к path для карточки (shareType=12, shareWith=<card_id>). Файл остаётся на исходном месте. Клик по вложению в интерфейсе Deck открывает файл на месте. Работает с любыми файлами в Files пользователя: подходит для любого файла, который вызывающая сторона может прочитать - markdown-заметки, PDF, изображения, электронные таблицы и т. д. Используйте :func:deck_attach_note, если у вас есть ID заметки из приложения Notes и вы хотите, чтобы путь определился автоматически. Два вызова с одним и тем же path создают два разных общих доступа - вызывающий сам отвечает за дедупликацию. Аргументы: card_id: ID карточки Deck, к которой прикрепляется файл path: Путь к файлу в Nextcloud Files пользователя (должен начинаться с "/", например "/Documents/spec.pdf" или "/Notes/My Note.md")

Прикрепляет файл к карточке колоды

Параметры
  • card_idintegerобязательный
  • pathstringобязательный
deck_attach_noteвнешний мир

Прикрепляет заметку Nextcloud к карточке Deck без копирования. Удобная обёртка: ищет путь к заметке в файловой системе из настроек приложения Notes + метаданных заметки, затем делится файлом с карточкой (тот же механизм, что и :func:deck_attach_file). Заметка остаётся редактируемой в приложении Notes. Карточка просто показывает кликабельную ссылку на неё. Путь восстанавливается как <notes_folder>/<category>/<title>.md. Если заголовок заметки содержит символы, которые приложение Notes преобразует иначе (редко), используйте :func:deck_attach_file с явным путём. Аргументы: card_id: ID карточки Deck, к которой нужно прикрепить note_id: ID заметки, которую нужно прикрепить

Прикрепляет заметку к карточке колоды

Параметры
  • card_idintegerобязательный
  • note_idintegerобязательный
deck_create_boardвнешний мир

Создаёт новую доску Nextcloud Deck Аргументы: title: Заголовок новой доски color: Шестнадцатеричный цвет новой доски (например, FF0000)

Create Deck Board

Параметры
  • colorstringобязательный
  • titlestringобязательный
deck_create_cardвнешний мир

Создаёт новую карточку в стеке Nextcloud Deck Аргументы: board_id: Идентификатор доски stack_id: Идентификатор стека title: Заголовок новой карточки type: Тип карточки (по умолчанию: plain) order: Порядок сортировки карточек description: Описание карточки duedate: Срок выполнения карточки (формат ISO-8601)

Создаёт карточку колоды

Параметры
  • board_idintegerобязательный
  • descriptionstring | null
  • duedatestring | null
  • orderinteger
  • stack_idintegerобязательный
  • titlestringобязательный
  • typestring
deck_create_card_commentвнешний мир

Создаёт комментарий к карточке Nextcloud Deck. Deck ограничивает длину комментария 1000 символами, лимит считается после удаления пробелов и в кодовых точках Unicode. Markdown и @-упоминания НЕ разворачиваются до этой проверки, поэтому считается именно то, что вы передали. Проверьте длину перед вызовом и выберите overflow соответственно: - 1000 символов или меньше: вызывайте как есть. overflow игнорируется. - Длиннее, и текст должен читаться на карточке (обновления активности, сводки запусков, списки изменений): сразу передайте overflow="split", а не пытайтесь угадать сообщение покороче. Текст обрезается по границам: сначала заголовка Markdown, потом абзаца, потом строки, потом предложения, потом слова - никогда посреди слова - каждая часть получает префикс "(i/N)", а части 2..N публикуются как ответы на часть 1, чтобы на карточке была одна ветка. @-упоминания никогда не разрываются между частями. Максимум 10 частей. Если частей больше, запишите содержимое в заметку (nc_notes_create_note) или файл (nc_webdav_write_file), прикрепите через deck_attach_note / deck_attach_file и вместо этого опубликуйте короткий комментарий-указатель. - Длиннее, и вы хотите сократить его сами: оставьте overflow="error" по умолчанию. Ничего не публикуется, а ошибка показывает точное превышение. Разбиение не атомарно. Если более поздняя часть не удалась, предыдущие части остаются опубликованными, и ошибка называет их идентификаторы комментариев - продолжите оттуда, а не отправляйте всё сообщение заново, иначе они продублируются. Поддерживает @-упоминания: "@alice" или @"alice smith" для идентификаторов с пробелами. Аргументы: card_id: ID карточки, к которой нужно оставить комментарий message: Текст комментария (максимум 1000 символов, если не указан overflow="split") parent_id: Необязательный ID родительского комментария, на который нужно ответить. При разбиении часть 1 отвечает на этот комментарий, а части 2..N отвечают на часть 1. overflow: Что делать, когда сообщение превышает 1000 символов. "error" (по умолчанию) ничего не публикует и объясняет превышение. "split" публикует сообщение как несколько комментариев в одной ветке. Возвращает: …

Создаёт комментарий к карточке колоды.

Параметры
  • card_idintegerобязательный
  • messagestringобязательный
  • overflowenum
  • parent_idinteger | null
deck_create_labelвнешний мир

Создаёт новую метку на доске Nextcloud Deck Аргументы: board_id: ID доски title: Название новой метки color: Цвет новой метки (в hex-формате без #)

Создаёт метку колоды

Параметры
  • board_idintegerобязательный
  • colorstringобязательный
  • titlestringобязательный
deck_create_stackвнешний мир

Создаёт новый стек на доске Nextcloud Deck Аргументы: board_id: ID доски title: Название нового стека order: Порядок сортировки стеков

Создаёт стек колод.

Параметры
  • board_idintegerобязательный
  • orderintegerобязательный
  • titlestringобязательный
deck_delete_attachmentидемпотентныйвнешний мир

Удаляет вложение из карточки Nextcloud Deck. Для вложений type="file" удаляет общий доступ, связывающий файл с карточкой. Сам файл в разделе Files пользователя остаётся нетронутым. Для блобов type="deck_file" двоичные данные удаляются из хранилища Deck. Аргументы: board_id: ID доски stack_id: ID стека card_id: ID карточки attachment_id: ID удаляемого вложения

Удаляет вложение карточки колоды

Параметры
  • attachment_idintegerобязательный
  • board_idintegerобязательный
  • card_idintegerобязательный
  • stack_idintegerобязательный
deck_delete_cardидемпотентныйвнешний мир

Удаляет карточку Nextcloud Deck Аргументы: board_id: Идентификатор доски stack_id: Идентификатор стека card_id: Идентификатор карточки

Удаляет карточку колоды

Параметры
  • board_idintegerобязательный
  • card_idintegerобязательный
  • stack_idintegerобязательный
deck_delete_card_commentидемпотентныйвнешний мир

Удаляет комментарий к карточке Nextcloud Deck Удалить его может только автор комментария. Иначе сервер возвращает 403. Аргументы: card_id: ID карточки, к которой относится комментарий comment_id: ID комментария, который нужно удалить

Удалить комментарий к карточке колоды

Параметры
  • card_idintegerобязательный
  • comment_idintegerобязательный
deck_delete_labelидемпотентныйвнешний мир

Удаляет метку Nextcloud Deck Аргументы: board_id: ID доски label_id: ID метки

Удаляет метку колоды

Параметры
  • board_idintegerобязательный
  • label_idintegerобязательный
deck_delete_stackидемпотентныйвнешний мир

Удаляет стек Nextcloud Deck Аргументы: board_id: ID доски stack_id: ID стека

Удаляет Deck Stack

Параметры
  • board_idintegerобязательный
  • stack_idintegerобязательный
deck_get_archived_stacksтолько чтениевнешний мир

Выводит список архивных стеков (вместе с их архивными карточками) для доски Nextcloud Deck. Это сокращённый вариант только для архивных: возвращает только архивные карточки за один вызов. Инструменты активных списков (deck_get_cards, deck_get_stacks, deck_get_board_overview) тоже включают архивные карточки при вызове с status="archived"/"all". Используйте этот инструмент, когда нужны только архивные карточки, а открытые не нужны. Типичный сценарий: аудит завершённой работы, заархивированной с активной доски (например, карточки, прошедшие через стек "Done" и затем заархивированные с помощью deck_archive_card). Структура повторяет deck_get_stacks. Карточки всегда включаются в возвращаемые стеки (архивный стек без своих карточек не имел бы ценности для аудита) и по умолчанию возвращаются в виде компактных сводок. Здесь нет фильтра status: каждая карточка тут архивная по определению, но label/assigned_to сужают набор так же, как инструменты активных стеков. Аргументы: board_id: ID доски detail: "summary" (по умолчанию) или "full". label: Если задан, только карточки с меткой с этим точным названием. assigned_to: Если задан, только карточки, назначенные на UID этого пользователя. description_max_length: При detail="full" обрезает описания. description_preview_length: При detail="summary" длина превью.

Выводит список архивных стопок колод.

Параметры
  • assigned_tostring | null
  • board_idintegerобязательный
  • description_max_lengthinteger | null
  • description_preview_lengthinteger
  • detailenum
  • labelstring | null
deck_get_boardтолько чтениевнешний мир

Получает сведения о конкретной доске Nextcloud Deck. Аргументы: board_id: Идентификатор доски include_acl: Включает ACL-записи доски (по умолчанию True). Установите False, чтобы уменьшить размер ответа, когда ACL не нужны. include_users: Включает список пользователей доски (по умолчанию True). Установите False, чтобы уменьшить размер ответа, когда пользователи не нужны. include_labels: Включает определения меток доски (по умолчанию True). Установите False, чтобы уменьшить размер ответа. Метки по-прежнему можно получить через deck_get_labels.

Получает Deck Board

Параметры
  • board_idintegerобязательный
  • include_aclboolean
  • include_labelsboolean
  • include_usersboolean
deck_get_board_overviewтолько чтениевнешний мир

Получает компактный снимок всей доски одним вызовом. Возвращает название доски, легенду её меток и каждый стек с карточками, спроецированными в компактные строки-сводки. Лучше всего подходит для запросов в стиле «покажи доску» / «что в работе» на больших досках - это экономный по токенам способ посмотреть состояние доски. Он намеренно опускает поля управления доской (ACL, список пользователей, полные объекты меток), которые предоставляет deck_get_board. Для них нужен deck_get_board. Аргументы: board_id: ID доски status: Какие карточки включать - "open" (по умолчанию), "done", "archived" или "all". Первые три разбивают доску (карточка, которая одновременно done и archived, считается "archived"). "archived"/"all" включают архивные карточки, которые пропускает эндпоинт активного списка - это стоит одного дополнительного вызова API. label: Если задано, только карточки с меткой, у которой точно такое название. assigned_to: Если задано, только карточки, назначенные этому пользователю по UID. description_preview_length: Длина превью описания, которое несёт каждая сводка карточки (по умолчанию 140).

Получает обзор Deck Board

Параметры
  • assigned_tostring | null
  • board_idintegerобязательный
  • description_preview_lengthinteger
  • labelstring | null
  • statusenum
deck_get_boardsтолько чтениевнешний мир

Получает все доски Nextcloud Deck

Перечисляет доски Deck.

Параметры

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

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

Получает сведения о конкретной карточке Nextcloud Deck.

Получает карточку колоды

Параметры
  • board_idintegerобязательный
  • card_idintegerобязательный
  • stack_idintegerобязательный
deck_get_card_commentsтолько чтениевнешний мир

Выводит список комментариев к карточке Nextcloud Deck. По умолчанию возвращает компактные комментарии (отбрасывает упоминания, тип автора и отображаемое имя). Сортировка и усечение действуют в пределах возвращаемой страницы. Аргументы: card_id: ID карточки limit: Максимальное количество возвращаемых комментариев (по умолчанию 20, максимум 200) offset: Смещение постраничной навигации (по умолчанию 0) detail: "summary" (по умолчанию) возвращает компактные комментарии. "full" возвращает полные объекты комментариев. message_max_length: Если задано, усекает сообщение каждого комментария до указанного числа символов. order: "newest" (по умолчанию) или "oldest" - сортирует страницу по времени создания.

Перечисляет комментарии к карточкам колоды.

Параметры
  • card_idintegerобязательный
  • detailenum
  • limitinteger
  • message_max_lengthinteger | null
  • offsetinteger
  • orderenum
deck_get_cardsтолько чтениевнешний мир

Получает все карточки в стеке Nextcloud Deck. По умолчанию карточки возвращаются в виде компактных сводок. Фильтрацию и проекцию инструмент применяет на стороне клиента после того, как API вернёт полный стек, так что они уменьшают число токенов, которое видит вызывающий, но не сетевой трафик: по сети этот инструмент равнозначен deck_get_stack(include_cards=True). Аргументы: board_id: идентификатор доски stack_id: идентификатор стека detail: "summary" (по умолчанию) возвращает компактные строки карточек. "full" возвращает полные объекты карточек. status: "open" (по умолчанию), "done", "archived" или "all". Первые три разбивают доску на части (карточка со статусами done и archived считается "archived"). "archived"/"all" включают архивные карточки, которые пропускает эндпоинт активного списка, и это стоит одного дополнительного вызова API. label: если задано, только карточки с меткой, у которой точно такое название. assigned_to: если задано, только карточки, назначенные на этот UID пользователя. description_max_length: при detail="full" обрезает описания. description_preview_length: при detail="summary" задаёт длину превью.

Перечисляет карты колоды

Параметры
  • assigned_tostring | null
  • board_idintegerобязательный
  • description_max_lengthinteger | null
  • description_preview_lengthinteger
  • detailenum
  • labelstring | null
  • stack_idintegerобязательный
  • statusenum
deck_get_labelтолько чтениевнешний мир

Получает сведения о конкретной метке Nextcloud Deck.

Получает метку колоды

Параметры
  • board_idintegerобязательный
  • label_idintegerобязательный
deck_get_labelsтолько чтениевнешний мир

Получает все метки на доске Nextcloud Deck

Перечисляет метки колоды.

Параметры
  • board_idintegerобязательный
deck_get_stackтолько чтениевнешний мир

Получает сведения о конкретном стеке Nextcloud Deck. По умолчанию карточки возвращаются в виде компактных сводок. Семантика общих параметров описана в deck_get_stacks. Аргументы: board_id: ID доски stack_id: ID стека include_cards: Включает карточки в стек (по умолчанию True). detail: "summary" (по умолчанию) или "full". status: "open" (по умолчанию), "done", "archived" или "all" (не пересекаются, карточка done+archived считается "archived"). "archived"/"all" включают архивные карточки, которые пропускает эндпоинт активного списка, при этом это требует одного дополнительного вызова API. label: Если задано, только карточки с меткой, у которой точно такое название. assigned_to: Если задано, только карточки, назначенные на этот UID пользователя. description_max_length: При detail="full" обрезает описания. description_preview_length: При detail="summary" длина предпросмотра.

Получает стек колод

Параметры
  • assigned_tostring | null
  • board_idintegerобязательный
  • description_max_lengthinteger | null
  • description_preview_lengthinteger
  • detailenum
  • include_cardsboolean
  • labelstring | null
  • stack_idintegerобязательный
  • statusenum
deck_get_stacksтолько чтениевнешний мир

Получает все стеки на доске Nextcloud Deck. По умолчанию карточки возвращаются в виде компактных сводок, чтобы ответ оставался небольшим на больших досках. Фильтрация и проекция идут на стороне клиента после того, как API вернёт доску целиком, так что они уменьшают число токенов, которое видит вызывающая сторона, но не сетевой трафик. Аргументы: board_id: идентификатор доски include_cards: включает карточки в каждый стек (по умолчанию True). Укажите False для облегчённого списка стеков. Карточки получайте отдельно через deck_get_cards. detail: "summary" (по умолчанию) возвращает компактные строки карточек. "full" возвращает полные объекты карточек (прежнее поведение). status: какие карточки включать: "open" (по умолчанию), "done", "archived" или "all". Первые три делят доску на части (карточка, которая одновременно done и archived, считается "archived"). "archived"/"all" включают архивные карточки, которые пропускает эндпоинт активного списка, а это стоит одного дополнительного вызова API. label: если задан, только карточки с меткой, у которой ровно такой заголовок. assigned_to: если задан, только карточки, назначенные на этот UID пользователя. description_max_length: при detail="full" обрезает описание каждой карточки до такого числа символов. description_preview_length: при detail="summary" задаёт длину превью описания в каждой карточке (по умолчанию 140).

Выводит список стопок колод.

Параметры
  • assigned_tostring | null
  • board_idintegerобязательный
  • description_max_lengthinteger | null
  • description_preview_lengthinteger
  • detailenum
  • include_cardsboolean
  • labelstring | null
  • statusenum
deck_list_attachmentsтолько чтениевнешний мир

Выводит список вложений на карточке Nextcloud Deck. Возвращает и вложения с общими файлами (type="file", созданные через :func:deck_attach_file / :func:deck_attach_note), и загруженные бинарные вложения (type="deck_file"). Аргументы: board_id: ID доски stack_id: ID стека card_id: ID карточки

Перечисляет вложения карточек колоды.

Параметры
  • board_idintegerобязательный
  • card_idintegerобязательный
  • stack_idintegerобязательный
deck_move_card_to_boardвнешний мир

Перемещает карточку Nextcloud Deck в стек на другой доске. Карточка сохраняет свою идентичность (тот же id, комментарии, вложения), а также состояние архивации, срок выполнения и назначения пользователей (исполнитель без доступа к целевой доске остаётся назначенным, но не может действовать с карточкой). Deck переносит метки карточки, привязанные к доске, на доску назначения по названию: переиспользует одноимённую метку там или клонирует её, если у вас есть право board-manage. Для перемещений в пределах одной доски используйте deck_reorder_card. Два предостережения из маршрута перемещения Deck: владелец карточки переназначается на пользователя, выполняющего перемещение (исходный владелец не сохраняется), а карточка, помеченная как выполненная, сохраняет статус выполнения, но её отметка времени выполнения сбрасывается на момент перемещения. target_stack_id должен быть стеком на target_board_id. Иначе перемещение отклоняется. Args: source_board_id: ID доски, на которой карточка находится сейчас source_stack_id: ID стека, в котором карточка находится сейчас card_id: ID карточки для перемещения target_board_id: ID доски назначения target_stack_id: ID стека назначения (должен быть на target_board_id) order: Позиция внутри стека назначения (по умолчанию 0 = верх)

Перемещает Deck Card на другую доску

Параметры
  • card_idintegerобязательный
  • orderinteger
  • source_board_idintegerобязательный
  • source_stack_idintegerобязательный
  • target_board_idintegerобязательный
  • target_stack_idintegerобязательный
deck_remove_dependent_cardидемпотентныйвнешний мир

Удаляет зависимость между двумя карточками Nextcloud Deck. Удаляет зависимость card_id от dependent_card_id, созданную deck_assign_dependent_card. Аргументы: board_id: ID доски, содержащей зависимую карточку stack_id: ID стека, содержащего зависимую карточку card_id: ID карточки, которая зависит от другой карточки dependent_card_id: ID зависимости, которую нужно удалить

Удаляет зависимую карточку из карточки колоды.

Параметры
  • board_idintegerобязательный
  • card_idintegerобязательный
  • dependent_card_idintegerобязательный
  • stack_idintegerобязательный
deck_remove_label_from_cardидемпотентныйвнешний мир

Удаляет метку с карточки Nextcloud Deck Аргументы: board_id: ID доски stack_id: ID стека card_id: ID карточки label_id: ID удаляемой метки

Удаляет метку с карточки колоды.

Параметры
  • board_idintegerобязательный
  • card_idintegerобязательный
  • label_idintegerобязательный
  • stack_idintegerобязательный
deck_reorder_cardвнешний мир

Меняет порядок карточки Nextcloud Deck на доске. Перемещает карточку на новую позицию, при необходимости в другой стек на ТОЙ ЖЕ доске. Для перемещения карточки в стек на ДРУГОЙ доске вместо этого применяет deck_move_card_to_board - изменение порядка между досками отклоняется, потому что оно осиротит метки карточки, привязанные к доске. Аргументы: board_id: ID доски stack_id: ID текущего стека card_id: ID карточки order: Новая позиция в целевом стеке target_stack_id: ID целевого стека (должен быть на board_id)

Изменяет порядок карточки в колоде.

Параметры
  • board_idintegerобязательный
  • card_idintegerобязательный
  • orderintegerобязательный
  • stack_idintegerобязательный
  • target_stack_idintegerобязательный
deck_unarchive_cardвнешний мир

Разархивирует карточку Nextcloud Deck Аргументы: board_id: ID доски stack_id: ID стека card_id: ID карточки

Разархивирует карточку колоды

Параметры
  • board_idintegerобязательный
  • card_idintegerобязательный
  • stack_idintegerобязательный
deck_unassign_user_from_cardидемпотентныйвнешний мир

Снимает назначение пользователя с карточки Nextcloud Deck Аргументы: board_id: ID доски stack_id: ID стека card_id: ID карточки user_id: ID пользователя, которого нужно снять с назначения

Снимает назначение пользователя с карточки колоды

Параметры
  • board_idintegerобязательный
  • card_idintegerобязательный
  • stack_idintegerобязательный
  • user_idstringобязательный
deck_update_cardвнешний мир

Обновляет карточку Nextcloud Deck Аргументы: board_id: ID доски stack_id: ID стека card_id: ID карточки title: Новый заголовок карточки description: Новое описание карточки type: Новый тип карточки owner: Новый владелец карточки order: Новый порядок карточки duedate: Новый срок выполнения карточки (формат ISO-8601) archived: Нужно ли архивировать карточку done: Дата завершения карточки (формат ISO-8601)

Обновляет карточку колоды

Параметры
  • archivedboolean | null
  • board_idintegerобязательный
  • card_idintegerобязательный
  • descriptionstring | null
  • donestring | null
  • duedatestring | null
  • orderinteger | null
  • ownerstring | null
  • stack_idintegerобязательный
  • titlestring | null
  • typestring | null
deck_update_card_commentвнешний мир

Обновляет комментарий к карточке Nextcloud Deck. Действует тот же лимит в 1000 символов, что и при создании (считается после обрезки, в кодовых точках Unicode), но сообщение НЕЛЬЗЯ разделить: обновление заменяет один комментарий на месте. Чтобы добавить больше, чем помещается, опубликуйте дополнительный комментарий с помощью deck_create_card_comment вместо того, чтобы растягивать существующий сверх лимита. Обновить комментарий может только его автор. В остальных случаях сервер возвращает 403. Аргументы: card_id: ID карточки, к которой относится комментарий comment_id: ID комментария для обновления message: Новый текст комментария (максимум 1000 символов)

Обновляет комментарий к карточке колоды

Параметры
  • card_idintegerобязательный
  • comment_idintegerобязательный
  • messagestringобязательный
deck_update_labelвнешний мир

Обновляет метку Nextcloud Deck Аргументы: board_id: ID доски label_id: ID метки title: Новый заголовок метки color: Новый цвет метки (hex-формат без #)

Обновляет метку колоды

Параметры
  • board_idintegerобязательный
  • colorstring | null
  • label_idintegerобязательный
  • titlestring | null
deck_update_stackвнешний мир

Обновляет стек Nextcloud Deck Аргументы: board_id: ID доски stack_id: ID стека title: Новое название для стека order: Новый порядок для стека

Update Deck Stack

Параметры
  • board_idintegerобязательный
  • orderinteger | null
  • stack_idintegerобязательный
  • titlestring | null
nc_calendar_bulk_operationsвнешний мир

Выполняет массовые операции (обновление/удаление) над событиями, подходящими под критерии фильтра. Инструмент разом меняет или удаляет несколько событий: отбирает подходящие по фильтрам, а затем делает указанную операцию. Аргументы: operation: Тип операции - "update" или "delete" title_contains: Отбирает события, в заголовке которых есть этот текст categories: Отбирает события, содержащие любую из этих категорий (через запятую) calendar_name: Отбирает события из указанного календаря start_date: Отбирает события, начинающиеся с этой даты (YYYY-MM-DD) end_date: Отбирает события, заканчивающиеся до этой даты (YYYY-MM-DD) status: Отбирает события по статусу (CONFIRMED, TENTATIVE, CANCELLED) location_contains: Отбирает события, в месте проведения которых есть этот текст # Для операций обновления: new_title: Новый заголовок для подходящих событий new_description: Новое описание для подходящих событий new_location: Новое место для подходящих событий new_categories: Новые категории для подходящих событий (через запятую) new_priority: Новый приоритет для подходящих событий (1-9, 5=обычный) new_reminder_minutes: Новое время напоминания в минутах до события # Для операций перемещения: target_calendar: Календарь, в который перемещаются события (требует operation="move") Возвращает: Сводку результатов операции: количество и подробности

Массовые операции с календарём

Параметры
  • calendar_namestring | null
  • categoriesstring | null
  • end_datestring
  • location_containsstring | null
  • new_categoriesstring | null
  • new_descriptionstring | null
  • new_locationstring | null
  • new_priorityinteger | null
  • new_reminder_minutesinteger | null
  • new_titlestring | null
  • operationstringобязательный
  • start_datestring
  • statusstring | null
  • target_calendarstring | null
  • title_containsstring | null
nc_calendar_complete_todoвнешний мир

Отмечает todo/задачу выполненной. Задаёт STATUS, PERCENT-COMPLETE и COMPLETED вместе. Чтобы сделать это через nc_calendar_update_todo, нужно знать, что нужны все три, и задавать каждое явно: если передать только status="COMPLETED", PERCENT-COMPLETE останется устаревшим, а метка времени завершения не запишется. Аргументы: calendar_name: Имя календаря, в котором лежит todo todo_uid: UID todo, который нужно завершить ctx: контекст MCP completed: Метка времени завершения (формат ISO). По умолчанию - текущий момент (UTC). etag: ETag, с которым вы читали этот todo. Необязательный и обычно ненужный: завершение задачи - как правило, и есть желаемый результат, что бы ещё ни изменилось. Всё равно предлагается, чтобы вызывающий, который действительно хочет завершение с проверкой, не возвращался к nc_calendar_update_todo и не наступал на грабли с тремя свойствами, ради избавления от которых этот инструмент и сделан. Возвращает: CompleteTodoResponse с тремя значениями, которые реально записались. Исключения: ToolError: если etag был задан, а todo с тех пор изменился.

Завершает задачу Todo.

Параметры
  • calendar_namestringобязательный
  • completedstring | null
  • etagstring
  • todo_uidstringобязательный
nc_calendar_create_eventвнешний мир

Создаёт событие календаря с полным набором возможностей. Args: calendar_name: Название календаря, в котором создаётся событие title: Заголовок события start_datetime: Формат ISO. Три режима: - "2025-01-15T14:00:00Z" или "2025-01-15T14:00:00+00:00" → сохраняется как UTC. - "2025-01-15T14:00:00" с timezone="America/New_York" → сохраняется с привязкой к TZID (сервер выдаёт DTSTART;TZID=...:... плюс компонент VTIMEZONE). - "2025-01-15T14:00:00" отдельно → сохраняется как плавающее локальное время RFC 5545 (клиенты интерпретируют в своей зоне). В журнал пишется предупреждение, чтобы выбор был виден. - "2025-01-15" для событий на весь день. ctx: Контекст MCP end_datetime: Время окончания в формате ISO, пусто для событий на весь день all_day: Событие на весь день или нет description: Описание/детали события location: Место события categories: Категории через запятую (например, "work,meeting") recurring: Повторяется ли событие. Непустое recurrence_rule уже подразумевает повторение, поэтому оставьте этот параметр незаданным, если только не хотите подавить его через False. recurrence_rule: RFC5545 RRULE (например, "FREQ=WEEKLY;BYDAY=MO,WE,FR") recurrence_end_date: Дата (или ISO datetime), когда серия перестаёт повторяться, записывается как UNTIL правила. Включая границу: значение только с датой сохраняет повторение в этот день. Отклоняется, если recurrence_rule уже содержит UNTIL или COUNT. reminder_minutes: Количество минут до события для отправки напоминания reminder_email: Также отправляет напоминание по email как второй VALARM с ACTION:EMAIL. Nextcloud адресует его участникам события и тем, с кем поделились календарём. status: Статус события: CONFIRMED, TENTATIVE или CANCELLED priority: Уровень приоритета 1-9 (1=самый высокий, 9=самый низкий, 5=обычный) privacy: Уровень приватности: PUBLIC, PRIVATE или CONFIDENTIAL attendees: Email через запятую…

Создаёт событие календаря.

Параметры
  • all_dayboolean
  • attendeesstring
  • calendar_namestringобязательный
  • categoriesstring
  • colorstring
  • descriptionstring
  • end_datetimestring
  • locationstring
  • priorityinteger
  • privacystring
  • recurrence_end_datestring
  • recurrence_rulestring
  • recurringboolean | null
  • reminder_emailboolean
  • reminder_minutesinteger
  • remindersany[] | null
  • start_datetimestringобязательный
  • statusstring
  • timezonestring
  • titlestringобязательный
  • urlstring
nc_calendar_create_meetingвнешний мир

Быстрое создание встречи с умными настройками по умолчанию Это удобная функция для создания событий с типичными настройками встреч. Она автоматически: - Вычисляет время окончания по длительности - Ставит статус CONFIRMED - Добавляет напоминание - Использует более простой ввод даты и времени вместо полного формата ISO Для полного контроля над всеми свойствами события используйте nc_calendar_create_event. Аргументы: title: Название встречи date: Дата встречи (формат YYYY-MM-DD, например, "2025-01-15") time: Время начала встречи (формат HH:MM, например, "14:00") ctx: Контекст MCP duration_minutes: Длительность встречи в минутах (по умолчанию: 60) calendar_name: Календарь, в котором создаётся встреча (по умолчанию: "personal") attendees: Адреса электронной почты участников через запятую location: Место встречи description: Описание встречи/повестка reminder_minutes: За сколько минут до встречи отправить напоминание (по умолчанию: 15) Возвращает: Словарь с результатом создания встречи

Создаёт встречу.

Параметры
  • attendeesstring
  • calendar_namestring
  • datestringобязательный
  • descriptionstring
  • duration_minutesinteger
  • locationstring
  • reminder_minutesinteger
  • timestringобязательный
  • titlestringобязательный
nc_calendar_create_todoвнешний мир

Создаёт новую задачу/todo в календаре. Аргументы: calendar_name: Название календаря, в котором создаётся задача summary: Заголовок/краткое описание задачи ctx: Контекст MCP description: Подробное описание задачи status: Статус задачи (NEEDS-ACTION, IN-PROCESS, COMPLETED, CANCELLED) priority: Приоритет (0=не задан, 1=самый высокий, 9=самый низкий) due: Срок (дата/время) (ISO формат, например, "2025-01-15T14:00:00"). Значение только с датой ("2025-01-15") делает её задачей на весь день. dtstart: Дата/время начала (ISO формат). Только дата означает весь день. RFC 5545 требует, чтобы оба были одного типа, поэтому время с любой стороны делает оба значения датой-временем. categories: Категории через запятую (например, "work,urgent") reminders: Упорядоченный список напоминаний. Структура описана в nc_calendar_create_event. Возвращает: Словарь с результатом создания задачи

Создаёт задачу Todo.

Параметры
  • calendar_namestringобязательный
  • categoriesstring
  • descriptionstring
  • dtstartstring
  • duestring
  • priorityinteger
  • remindersany[] | null
  • statusstring
  • summarystringобязательный
nc_calendar_delete_eventидемпотентныйвнешний мир

Удаляет событие календаря. Отсутствующее событие считается успехом (статус 404), поэтому повторные попытки безопасны. Отказ сервера: запланированный/iMIP-объект или устаревшая запись в корзине календаря, удерживающая UID, возвращается с success=False и сообщением о вероятной причине, а не выбрасывает исключение.

Удаляет событие календаря.

Параметры
  • calendar_namestringобязательный
  • event_uidstringобязательный
nc_calendar_delete_todoидемпотентныйвнешний мир

Удаляет todo/задачу из календаря. Отсутствующая задача возвращается как успех (статус 404), так что повторные попытки безопасны. Отказ сервера (запланированный объект/iMIP-объект или устаревшая запись в корзине календаря, удерживающая UID) возвращается с success=False и сообщением о вероятной причине, а не выбрасывает исключение. Аргументы: calendar_name: Имя календаря, содержащего задачу todo_uid: UID задачи для удаления ctx: Контекст MCP Возвращает: DeleteTodoResponse со статусом и, при отказе, причиной.

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

Параметры
  • calendar_namestringобязательный
  • todo_uidstringобязательный
nc_calendar_find_availabilityтолько чтениевнешний мир

Находит доступные временные слоты для планирования встреч. Этот инструмент умело анализирует существующие события календаря, чтобы найти свободные временные слоты, которые подходят всем указанным участникам с учётом заданных ограничений. Аргументы: duration_minutes: Обязательная длительность встречи в минутах attendees: Список email-адресов участников через запятую, для которых нужно проверить доступность date_range_start: Дата начала поиска доступности (YYYY-MM-DD) date_range_end: Дата окончания поиска доступности (YYYY-MM-DD) business_hours_only: Предлагает слоты только в рабочие часы (9:00-17:00) exclude_weekends: Пропускает выходные при поиске доступности preferred_times: Предпочтительные временные диапазоны в формате "HH:MM-HH:MM" (через запятую) Возвращает: Список доступных временных слотов с временем начала/окончания и длительностью

Определяет доступность.

Параметры
  • attendeesstring
  • business_hours_onlyboolean
  • date_range_endstring
  • date_range_startstring
  • duration_minutesintegerобязательный
  • exclude_weekendsboolean
  • preferred_timesstring
nc_calendar_get_eventтолько чтениевнешний мир

Получает подробную информацию о конкретном событии.

Получает событие календаря.

Параметры
  • calendar_namestringобязательный
  • event_uidstringобязательный
nc_calendar_get_upcoming_eventsтолько чтениевнешний мир

Получает предстоящие события в ближайшие N дней

Получает предстоящие события.

Параметры
  • calendar_namestring
  • days_aheadinteger
  • limitinteger
nc_calendar_list_calendarsтолько чтениевнешний мир

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

Перечисляет календари.

Параметры

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

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

Перечисляет события в календаре (или во всех календарях) в диапазоне дат с расширенной фильтрацией. Аргументы: ctx: контекст MCP calendar_name: Имя календаря для поиска. Обязательно, кроме случая, когда search_all_calendars=True, тогда игнорируется. start_date: Дата начала поиска (формат YYYY-MM-DD, например, "2025-01-01") end_date: Дата окончания поиска (формат YYYY-MM-DD, например, "2025-01-31") limit: Максимальное количество возвращаемых событий min_attendees: Фильтрует события с как минимум таким числом участников min_duration_minutes: Фильтрует события длительностью не менее указанной categories: Фильтрует события, содержащие любую из этих категорий (через запятую, например, "work,meeting") status: Фильтрует события по статусу (CONFIRMED, TENTATIVE или CANCELLED) title_contains: Фильтрует события, в названии которых содержится этот текст location_contains: Фильтрует события, в месте проведения которых содержится этот текст search_all_calendars: Если True, поиск по всем календарям вместо одного Возвращает: Список событий, соответствующих фильтрам

List Calendar Events

Параметры
  • calendar_namestring
  • categoriesstring | null
  • end_datestring
  • limitinteger
  • location_containsstring | null
  • min_attendeesinteger | null
  • min_duration_minutesinteger | null
  • search_all_calendarsboolean
  • start_datestring
  • statusstring | null
  • title_containsstring | null
nc_calendar_list_todosтолько чтениевнешний мир

Выводит список задач/дел в календаре с необязательной фильтрацией. Аргументы: calendar_name: Название календаря, из которого выводятся задачи ctx: Контекст MCP status: Фильтр по статусу (NEEDS-ACTION, IN-PROCESS, COMPLETED, CANCELLED) min_priority: Фильтр по минимальному приоритету (1=наивысший, 9=самый низкий) categories: Фильтр по категориям (через запятую, например, "work,urgent") summary_contains: Фильтр задач, у которых summary содержит этот текст Возвращает: Список задач, подходящих под фильтры

Перечисляет задачи из списка дел.

Параметры
  • calendar_namestringобязательный
  • categoriesstring | null
  • min_priorityinteger | null
  • statusstring | null
  • summary_containsstring | null
nc_calendar_manage_calendarвнешний мир

Управляет созданием, удалением и свойствами календарей. Этот инструмент даёт полный набор функций для управления календарями, включая создание новых календарей, удаление существующих и обновление свойств календаря. Аргументы: action: Действие для выполнения - "create", "delete", "update" или "list" calendar_name: Внутреннее имя календаря (обязательно для create/delete/update) display_name: Имя календаря для отображения (используется для create/update) description: Описание календаря (используется для create/update) color: Hex-код цвета календаря (например, "#1976D2" для синего) Возвращает: Результат операции управления календарём.

Управляет календарём.

Параметры
  • actionstringобязательный
  • calendar_namestring
  • colorstring
  • descriptionstring
  • display_namestring
nc_calendar_search_todosтолько чтениевнешний мир

Ищет задачи во всех календарях с необязательной фильтрацией. Аргументы: ctx: контекст MCP status: Фильтрует по статусу (NEEDS-ACTION, IN-PROCESS, COMPLETED, CANCELLED) min_priority: Фильтрует по минимальному приоритету (1=самый высокий, 9=самый низкий) categories: Фильтрует по категориям (через запятую, например, "work,urgent") summary_contains: Фильтрует задачи, у которых summary содержит этот текст Возвращает: Список задач, соответствующих фильтрам, из всех календарей

Ищет задачи Todo.

Параметры
  • categoriesstring | null
  • min_priorityinteger | null
  • statusstring | null
  • summary_containsstring | null
nc_calendar_update_eventвнешний мир

Обновляет любой аспект существующего события. Затрагивает только те аргументы, которые вы передаёте. Всё остальное в сохранённом событии остаётся без изменений. Общая семантика параметров, включая правила кодирования даты и времени, между которыми выбирает timezone, описана в nc_calendar_create_event. Повторение, а именно: * recurrence_rule="" или recurring=False удаляет серию. * recurrence_end_date сам по себе заново ограничивает сохранённое правило, заменяя любые UNTIL/COUNT, которые оно содержит. В сочетании с явным recurrence_rule, которое уже ограничивает себя, вместо этого вызывает исключение: такая комбинация противоречит сама себе в рамках одного запроса. Напоминания, аналогично. Если опустить их все, сохранённые напоминания останутся. reminders=[] очищает их, а список заменяет их целиком.

Обновляет событие календаря.

Параметры
  • all_dayboolean | null
  • attendeesstring | null
  • calendar_namestringобязательный
  • categoriesstring | null
  • colorstring | null
  • descriptionstring | null
  • end_datetimestring | null
  • etagstring
  • event_uidstringобязательный
  • locationstring | null
  • priorityinteger | null
  • privacystring | null
  • recurrence_end_datestring | null
  • recurrence_rulestring | null
  • recurringboolean | null
  • reminder_emailboolean | null
  • reminder_minutesinteger | null
  • remindersany[] | null
  • start_datetimestring | null
  • statusstring | null
  • timezonestring | null
  • titlestring | null
  • urlstring | null
nc_calendar_update_todoвнешний мир

Обновляет существующую todo/задачу. Аргументы: calendar_name: Название календаря, в котором находится todo todo_uid: UID обновляемой todo ctx: Контекст MCP summary: Новый заголовок/название description: Новое описание status: Новый статус (NEEDS-ACTION, IN-PROCESS, COMPLETED, CANCELLED) priority: Новый приоритет (0-9) percent_complete: Новый процент выполнения (0-100) due: Новый срок (дата/время) в формате ISO. Только дата означает целый день. dtstart: Новая дата/время начала (формат ISO). Только дата означает целый день. Сторона, которую не меняют, сохраняет текущий тип: простая дата всё равно станет датой-временем у существующей todo со временем. completed: Отметка времени завершения (формат ISO) categories: Новые категории (через запятую) reminders: Список напоминаний для замены. Пропустите, чтобы сохранить текущие напоминания, или передайте [], чтобы очистить их. etag: ETag, с которым вы прочитали эту todo (из nc_calendar_list_todos или предыдущего обновления). Запись отклоняется, если todo изменилась с тех пор, поэтому ваш цикл чтения-изменения-записи не может молча отбросить чужую правку. Если его не указать, он всё ещё защищает момент внутри этого вызова, но не промежуток с момента вашего чтения. Возвращает: UpdateTodoResponse с идентификаторами и новым ETag. Выбрасывает: ToolError: если todo изменилась с момента чтения etag.

Обновляет задачу Todo.

Параметры
  • calendar_namestringобязательный
  • categoriesstring | null
  • completedstring | null
  • descriptionstring | null
  • dtstartstring | null
  • duestring | null
  • etagstring
  • percent_completeinteger | null
  • priorityinteger | null
  • remindersany[] | null
  • statusstring | null
  • summarystring | null
  • todo_uidstringобязательный
nc_contacts_create_addressbookвнешний мир

Создаёт новую адресную книгу. Аргументы: name: Имя адресной книги. display_name: Отображаемое имя адресной книги.

Создаёт адресную книгу

Параметры
  • display_namestringобязательный
  • namestringобязательный
nc_contacts_create_contactвнешний мир

Создаёт новый контакт. Аргументы: addressbook: URI-слаг адресной книги (например, "contacts"), а не отображаемое имя. Используйте nc_contacts_list_addressbooks, чтобы найти доступные URI-слаги. uid: Уникальный ID контакта. contact_data: Словарь с данными контакта. Поддерживаемые ключи: - fn (str, обязательный): Отформатированное полное имя. - email (str или список str/dict): Адрес(а) электронной почты. - tel / phone (str или список): Номер(а) телефона. - org / organization (str или список str): Организация. Списки превращаются в компоненты ORG, разделённые точкой с запятой, согласно RFC 6350. - title (str): Должность. - note (str): Произвольная заметка. - nickname (str или список str). - bday (строка даты в ISO "YYYY-MM-DD" или datetime.date). - categories (список str или строка с разделителями-запятыми). - url (str или список str). Неизвестные ключи игнорируются. Пример: {"fn": "John Doe", "email": "john@example.com", "organization": "Acme", "note": "Met at conference"}.

Создаёт контакт

Параметры
  • addressbookstringобязательный
  • contact_dataobjectобязательный
  • uidstringобязательный
nc_contacts_delete_addressbookидемпотентныйвнешний мир

Удаляет адресную книгу.

Удаляет адресную книгу

Параметры
  • namestringобязательный
nc_contacts_delete_contactидемпотентныйвнешний мир

Удаляет контакт. Аргументы: addressbook: URI-слаг адресной книги (например, "contacts"), а не отображаемое имя. Используйте nc_contacts_list_addressbooks, чтобы найти доступные URI-слаги. uid: Уникальный ID удаляемого контакта.

Удаляет контакт

Параметры
  • addressbookstringобязательный
  • uidstringобязательный
nc_contacts_list_addressbooksтолько чтениевнешний мир

Перечисляет все адресные книги для пользователя.

Перечисляет адресные книги

Параметры

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

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

Выводит список всех контактов в указанной адресной книге. Аргументы: addressbook: URI-слаг адресной книги (например, "contacts"), а не отображаемое имя. Используйте nc_contacts_list_addressbooks, чтобы найти доступные URI-слаги.

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

Параметры
  • addressbookstringобязательный
nc_contacts_search_contactsтолько чтениевнешний мир

Ищет контакты по свободному текстовому запросу среди имени, никнейма, email и телефона. Совпадение по запросу ищется без учёта регистра как подстрока в: - полном имени контакта (FN) - любом никнейме - каждом адресе email - каждом номере телефона (только цифры: форматирование убирается перед сравнением, поэтому '+1 234 567 890' совпадает с '2345678' и '234.567.890') Аргументы: query: Строка поиска по свободному тексту (совпадение подстроки без учёта регистра). Пустой запрос не возвращает результатов - для этого используйте list_contacts. addressbook: Необязательный URI-слаг конкретной адресной книги для поиска. Если не указан, поиск идёт по всем адресным книгам пользователя. Возвращает: ListContactsResponse с совпавшими контактами. Поле addressbook содержит адресную книгу, по которой шёл поиск, или "*", если поиск шёл по всем адресным книгам.

Ищет контакты

Параметры
  • addressbookstring | null
  • querystringобязательный
nc_contacts_update_contactвнешний мир

Обновляет существующий контакт, сохраняя все имеющиеся свойства. Аргументы: addressbook: URI-слаг адресной книги (например, "contacts"), а не отображаемое имя. Используйте nc_contacts_list_addressbooks, чтобы найти доступные URI-слаги. uid: Уникальный ID контакта для обновления. contact_data: Словарь с обновлёнными данными контакта. Поддерживаемые ключи совпадают с nc_contacts_create_contact: - fn (str): Отформатированное полное имя. - email (str): Адрес электронной почты. Путь обновления поддерживает только обычные строки. Входные данные в виде dict / list не применяются - существующая строка EMAIL сохраняется без изменений, а в лог пишется предупреждение. Для поддержки нескольких записей с аннотациями TYPE используйте create_contact. - tel / phone (str): Номер телефона. Такое же ограничение на одну строку, как у email выше. - org / organization (str или list of str): Организация. Списки превращаются в компоненты ORG, разделённые точкой с запятой, согласно RFC 6350. - title (str): Должность. - note (str): Заметка в свободной форме. - nickname (str или list of str). - bday (ISO-строка даты "YYYY-MM-DD" или datetime.date). Строки не в формате ISO отклоняются с предупреждением. Существующая строка BDAY сохраняется. - categories (list of str или строка с разделителями-запятыми). - url (str или list of str). При обновлении записывается только первый URL. Для контактов с несколькими URL используйте create_contact. Пример: {"fn": "Jane Doe", "email": "jane.doe@example.com"}. etag: Необязательный ETag для оптимистичного контроля параллелизма. Передайте значение из предыдущего чтения или обновления. Обновление отклоняется, если контакт изменился с тех пор. Возвращает: Обновлённый контакт и его новый ETag, чтобы обновления можно было связывать в цепочку без промежуточного чтения.

Обновляет контакт

Параметры
  • addressbookstringобязательный
  • contact_dataobjectобязательный
  • etagstring
  • uidstringобязательный
nc_cookbook_create_recipeвнешний мир

Создаёт новый рецепт. Обязательно: name Необязательно: все остальные поля рецепта по формату schema.org/Recipe. Время указывается в формате длительности ISO8601 (например, 'PT30M' для 30 минут).

Создаёт рецепт

Параметры
  • categorystring | null
  • cook_timestring | null
  • descriptionstring | null
  • ingredientsstring[] | null
  • instructionsstring[] | null
  • keywordsstring | null
  • namestringобязательный
  • prep_timestring | null
  • recipe_yieldinteger | null
  • total_timestring | null
  • urlstring | null
nc_cookbook_delete_recipeидемпотентныйвнешний мир

Удаляет рецепт безвозвратно

Удалить рецепт

Параметры
  • recipe_idintegerобязательный
nc_cookbook_get_recipeтолько чтениевнешний мир

Получает конкретный рецепт по его ID.

Получает рецепт

Параметры
  • recipe_idintegerобязательный
nc_cookbook_get_recipes_in_categoryтолько чтениевнешний мир

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

Получает рецепты из категории

Параметры
  • categorystringобязательный
nc_cookbook_get_recipes_with_keywordsтолько чтениевнешний мир

Получает все рецепты с указанными ключевыми словами/тегами.

Получает рецепты по ключевым словам.

Параметры
  • keywordsstring[]обязательный
nc_cookbook_import_recipeвнешний мир

Импортирует рецепт по URL с помощью метаданных schema.org. Извлекает данные рецепта с сайтов, использующих разметку schema.org Recipe. Многие популярные кулинарные сайты поддерживают этот стандарт.

Импортирует рецепт по URL

Параметры
  • urlstringобязательный
nc_cookbook_list_categoriesтолько чтениевнешний мир

Получает все известные категории. Примечание: имя категории '*' указывает на рецепты без категории.

Перечисляет категории рецептов.

Параметры

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

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

Получает все известные ключевые слова/теги

Перечисляет ключевые слова рецепта.

Параметры

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

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

Получает все рецепты в базе данных.

Перечисляет рецепты

Параметры

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

nc_cookbook_reindexвнешний мир

Запускает повторное сканирование всех рецептов в кэширующую базу данных. Пересобирает поисковый индекс, используйте после ручного изменения файлов.

Переиндексирует рецепты

Параметры

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

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

Ищет рецепты по ключевым словам, тегам и категориям.

Search Recipes

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

Задаёт конфигурацию приложения Cookbook. Аргументы: folder: Путь к папке с рецептами в файлах пользователя update_interval: Интервал автоматического повторного сканирования в минутах print_image: Печатать ли изображения вместе с рецептами

Устанавливает конфигурацию Cookbook.

Параметры
  • folderstring | null
  • print_imageboolean | null
  • update_intervalinteger | null
nc_cookbook_update_recipeвнешний мир

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

Обновляет рецепт

Параметры
  • categorystring | null
  • cook_timestring | null
  • descriptionstring | null
  • ingredientsstring[] | null
  • instructionsstring[] | null
  • keywordsstring | null
  • namestring | null
  • prep_timestring | null
  • recipe_idintegerобязательный
  • recipe_yieldinteger | null
  • total_timestring | null
  • urlstring | null
nc_mail_create_tagидемпотентныйвнешний мир

Создаёт почтовую метку или возвращает существующую (требуется область mail.write). Метки - это IMAP-ключевые слова, приватные для пользователя. У приложения Mail нет эндпоинта для списка меток, поэтому так же можно найти метку: вызов для существующего имени возвращает эту метку, а не создаёт дубликат. Имена нормализуются в IMAP-метку в нижнем регистре, где пробелы заменяются на подчёркивания, поэтому "AI Index", "ai index" и "ai_index" - одна и та же метка. Аргументы: display_name: имя метки (максимум 128 символов) color: HEX-цвет, применяется только при создании метки Возвращает: MailTagResponse с меткой, включая id, необходимый для фильтра tags:<id> в nc_mail_list_messages.

Create Mail Tag

Параметры
  • colorstring
  • display_namestringобязательный
nc_mail_delete_messageвнешний мир

Удаляет сообщение (требуется область mail.write). Приложение Mail перемещает сообщение в почтовый ящик «Корзина» аккаунта или удаляет его безвозвратно, если оно уже в корзине. Требует, чтобы у аккаунта был почтовый ящик «Корзина»: без него приложение Mail отклоняет вызов ("No trash mailbox configured"). Аргументы: message_id: числовой id сообщения Возвращает: MailActionResponse, подтверждающий удаление. message_id повторяет входное значение и устаревает при возврате - перемещение в корзину заново кеширует сообщение под новым id, поэтому повторная попытка с тем же id завершается ошибкой.

Удаляет почтовое сообщение.

Параметры
  • message_idintegerобязательный
nc_mail_get_attachmentтолько чтениевнешний мир

Получает метаданные и содержимое одного вложения письма (требуется область mail.read). Аргументы: message_id: числовой идентификатор письма attachment_id: идентификатор вложения (строка, из списка вложений письма) Возвращает: GetAttachmentResponse с полями name, mime, size и content. content - это тело вложения в кодировке base64. Крупные вложения дают соответственно большой ответ, поэтому перед загрузкой лучше ориентироваться на size из списка вложений письма.

Получает вложение из письма

Параметры
  • attachment_idstringобязательный
  • message_idintegerобязательный
nc_mail_get_messageтолько чтениевнешний мир

Получает одно почтовое сообщение с полным телом (требуется область mail.read). Приложение Mail загружает тело письма на стороне сервера IMAP. Аргументы: message_id: Числовой идентификатор сообщения (database_id из nc_mail_list_messages) Возвращает: GetMessageResponse с полным сообщением, включая тело и вложения. Вложения с id: null - это встроенные части тела, их нельзя получить через nc_mail_get_attachment (для него нужен строковый id).

Получает почтовое сообщение

Параметры
  • message_idintegerобязательный
nc_mail_get_message_sourceтолько чтениевнешний мир

Получает необработанный исходник сообщения в формате RFC 2822 (требуется область mail.read). Полное исходное сообщение со всеми заголовками. Нужно, когда разобранного представления из nc_mail_get_message недостаточно (проверка заголовков Received/DKIM, List-Unsubscribe, пользовательских X-заголовков). Аргументы: message_id: числовой идентификатор сообщения Возвращает: GetMessageSourceResponse с необработанным исходником. source равно None, если приложение Mail не возвращает содержимого для сообщения.

Получает исходный код почтового сообщения

Параметры
  • message_idintegerобязательный
nc_mail_list_accountsтолько чтениевнешний мир

Выводит список почтовых аккаунтов, настроенных пользователем (требуется область доступа mail.read).

Перечисляет почтовые аккаунты.

Параметры

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

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

Перечисляет почтовые ящики (папки) почтового аккаунта (требуется область mail.read). Аргументы: account_id: ID аккаунта (из nc_mail_list_accounts) Возвращает: ListMailboxesResponse с почтовыми ящиками. Используйте database_id почтового ящика с nc_mail_list_messages.

Перечисляет почтовые ящики Mail

Параметры
  • account_idintegerобязательный
nc_mail_list_messagesтолько чтениевнешний мир

Перечисляет конверты сообщений в почтовом ящике, сначала самые новые (требуется область mail.read). Читает кэшированные метаданные конвертов (быстро). Не загружает тела. Чтобы получить полное тело, нужен nc_mail_get_message. Аргументы: mailbox_id: Числовой идентификатор почтового ящика (database_id из nc_mail_list_mailboxes) cursor: Курсор пагинации с предыдущей страницы search_filter: Необязательный запрос фильтра - разделённые пробелами термины token:value, объединённые по AND. Поддерживаемые токены: * is:/not: - read, unread, starred, answered, important * from:, to:, cc:, bcc: - совпадение подстроки по адресу или отображаемому имени * subject:, body: - совпадение подстроки (body: ищет на стороне сервера IMAP и работает медленнее) * tags: - разделённые запятыми database ids тегов (не имена, один можно получить из nc_mail_create_tag) * start:, end: - границы дат * flags: - разделённые запятыми read/unread/starred/ answered/important/attachments * match:anyof - применяет OR к терминам from/to/cc/bcc/subject/body вместо объединения их по AND Пример: is:unread from:alice subject:invoice limit: Максимум сообщений для возврата (1-100, по умолчанию 20) Возвращает: ListMessagesResponse с краткими сведениями о сообщениях. has_more - эвристика (true, когда вернулось ровно limit сообщений), поэтому возможен ложный положительный результат, если в почтовом ящике ровно limit сообщений. Перебирает страницы с cursor и останавливается на пустом результате.

Перечисляет почтовые сообщения.

Параметры
  • cursorinteger | null
  • limitinteger
  • mailbox_idintegerобязательный
  • search_filterstring | null
nc_mail_move_messageвнешний мир

Перемещает сообщение в другой почтовый ящик (требуется область mail.write). Аргументы: message_id: числовой идентификатор сообщения destination_mailbox_id: идентификатор целевого почтового ящика (database_id из nc_mail_list_mailboxes) Возвращает: MailActionResponse. message_id возвращает переданное вами значение и устаревает при возврате: перемещение делает его недействительным, и сообщение перекэшируется в пункте назначения под новым id. Перечислите заново целевой почтовый ящик, чтобы снова обратиться к нему - не повторяйте этот вызов с тем же id: это приведёт к ошибке, а не к повторному перемещению.

Перемещает почтовое сообщение

Параметры
  • destination_mailbox_idintegerобязательный
  • message_idintegerобязательный
nc_mail_remove_tagидемпотентныйвнешний мир

Удаляет тег из сообщения (требуется область mail.write). Аргументы: message_id: числовой id сообщения tag: отображаемое имя тега Возвращает: MailTagResponse с удалённым тегом.

Снимает метку с почтового сообщения

Параметры
  • message_idintegerобязательный
  • tagstringобязательный
nc_mail_send_messageвнешний мир

Отправляет письмо через настроенный аккаунт Nextcloud Mail (требуется область mail.send). Идентификатор From: приложение Mail выводит из account_id. Получателей задают как JSON-массивы объектов {"label": "...", "email": "..."}. Пример для to:: [{"label": "John Doe", "email": "john@example.com"}] Аргументы: account_id: ID почтового аккаунта, с которого идёт отправка (из nc_mail_list_accounts) to: JSON-массив получателей To subject: Тема письма body: Тело письма (обычный текст, если is_html не true) is_html: Содержит ли body HTML (по умолчанию false) cc: Необязательный JSON-массив получателей CC bcc: Необязательный JSON-массив получателей BCC references: Необязательный Message-ID по RFC 2822 для цепочки ответов Возвращает: SendMessageResponse со статусом успеха и необязательным сообщением

Отправляет сообщение электронной почты

Параметры
  • account_idintegerобязательный
  • bccstring | null
  • bodystringобязательный
  • ccstring | null
  • is_htmlboolean
  • referencesstring | null
  • subjectstringобязательный
  • tostringобязательный
nc_mail_set_flagsидемпотентныйвнешний мир

Устанавливает флаги IMAP для сообщения, например, помечает его прочитанным (требуется область доступа mail.write). Меняются только те флаги, которые вы передали. Опущенные остаются как есть. Используйте seen=True после обработки сообщения, чтобы оно не выглядело необработанным, а seen=False, чтобы снова пометить его непрочитанным. Аргументы: message_id: Числовой идентификатор сообщения (database_id из nc_mail_list_messages) seen: Помечает прочитанным (True) или непрочитанным (False) flagged: Помечает звездой (True) или снимает звезду (False) answered: Помечает как отвеченное junk: Помечает как спам/junk. В отличие от остальных, это пользовательское ключевое слово IMAP, поэтому почтовый сервер молча его игнорирует, если ящик не разрешает пользовательские ключевые слова. Возвращает: MailActionResponse с перечислением применённых флагов. Если не передать ни одного флага, это ошибка, а не тихое бездействие.

Устанавливает флаги почтового сообщения

Параметры
  • answeredboolean | null
  • flaggedboolean | null
  • junkboolean | null
  • message_idintegerобязательный
  • seenboolean | null
nc_mail_set_tagидемпотентныйвнешний мир

Назначает тег сообщению (требует scope mail.write). Тег создаётся, если его ещё нет, так что вызов работает без отдельного вызова nc_mail_create_tag. Аргументы: message_id: числовой идентификатор сообщения tag: отображаемое имя тега Возвращает: MailTagResponse с назначенным тегом.

Tag Mail Message

Параметры
  • message_idintegerобязательный
  • tagstringобязательный
nc_news_get_feed_healthтолько чтениевнешний мир

Получает статус работоспособности конкретного фида (требует scope news.read). Возвращает количество ошибок и последнее сообщение об ошибке, если у фида есть проблемы с обновлением. Аргументы: feed_id: ID фида для проверки Возвращает: FeedHealthResponse со статусом ошибки

Получает состояние новостной ленты

Параметры
  • feed_idintegerобязательный
nc_news_get_itemтолько чтениевнешний мир

Получает конкретный элемент News по ID с полным содержимым (требуется область news.read). Аргументы: item_id: ID элемента Возвращает: GetItemResponse с полными сведениями об элементе, включая HTML-тело

Получает новость

Параметры
  • item_idintegerобязательный
nc_news_get_starred_itemsтолько чтениевнешний мир

Получает отмеченные (избранные) элементы News (требуется scope news.read). Удобный метод для получения отмеченных (избранных) статей пользователя. Аргументы: limit: Максимальное количество элементов для возврата (по умолчанию 50, -1 для всех) offset: ID элемента, после которого начать (для пагинации) Возвращает: ListItemsResponse с отмеченными (избранными) элементами

Получает элементы новостей, помеченные звёздочкой.

Параметры
  • limitinteger
  • offsetinteger
nc_news_get_statusтолько чтениевнешний мир

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

Получает статус приложения новостей

Параметры

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

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

Получает непрочитанные элементы News (требуется область news.read). Удобный метод, который возвращает непрочитанные статьи из всех лент. Аргументы: limit: Максимальное количество элементов для возврата (по умолчанию 50, -1 для всех) offset: ID элемента, после которого начать (для пагинации) Возвращает: ListItemsResponse с непрочитанными элементами

Получает непрочитанные новостные элементы

Параметры
  • limitinteger
  • offsetinteger
nc_news_list_feedsтолько чтениевнешний мир

Выводит список всех новостных лент с метаданными (требуется область news.read). Возвращает ленты с количеством непрочитанных, статусом ошибки и общим числом отмеченных звёздочкой.

Перечисляет новостные ленты.

Параметры

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

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

Перечисляет все папки News (требуется область news.read).

Перечисляет папки новостей.

Параметры

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

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

Выводит список новостных элементов (статей) с необязательной фильтрацией (требуется область news.read). Аргументы: feed_id: Фильтрует по конкретному ID фида folder_id: Фильтрует по конкретному ID папки starred_only: Возвращает только избранные элементы unread_only: Возвращает только непрочитанные элементы limit: Максимальное количество элементов для возврата (по умолчанию 50, -1 для всех) offset: ID элемента, после которого начать (для пагинации) Возвращает: ListItemsResponse с items, count и информацией о пагинации

Перечисляет новостные элементы.

Параметры
  • feed_idinteger | null
  • folder_idinteger | null
  • limitinteger
  • offsetinteger
  • starred_onlyboolean
  • unread_onlyboolean
nc_notes_append_contentвнешний мир

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

Дополняет заметку.

Параметры
  • contentstringобязательный
  • note_idintegerобязательный
nc_notes_create_noteвнешний мир

Создаёт новую заметку (требует scope notes.write)

Создаёт заметку.

Параметры
  • categorystringобязательный
  • contentstringобязательный
  • titlestringобязательный
nc_notes_delete_noteидемпотентныйвнешний мир

Удаляет заметку навсегда

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

Параметры
  • note_idintegerобязательный
nc_notes_get_attachmentтолько чтениевнешний мир

Получает конкретное вложение из заметки.

Получает вложение заметки.

Параметры
  • attachment_filenamestringобязательный
  • note_idintegerобязательный
nc_notes_get_noteтолько чтениевнешний мир

Получает конкретную заметку по её ID (требует scope notes.read)

Get Note

Параметры
  • note_idintegerобязательный
nc_notes_search_notesтолько чтениевнешний мир

Ищет заметки по заголовку или содержимому и возвращает только id, title и category (требуется область notes.read).

Ищет заметки.

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

Обновляет заголовок, содержимое или категорию существующей заметки (требуется область notes.write). ОБЯЗАТЕЛЬНО: нужно указать параметр etag, чтобы не перезаписать изменения, внесённые параллельно. Получите текущий ETag: сначала извлеките заметку с помощью инструмента nc_notes_get_note. Если после получения заметки её изменил кто-то другой, обновление упадёт с ошибкой 412.

Примечание к обновлению

Параметры
  • categorystring | nullобязательный
  • contentstring | nullобязательный
  • etagstringобязательный
  • note_idintegerобязательный
  • titlestring | nullобязательный
nc_share_createвнешний мир

Создаёт общий доступ к файлу или папке в Nextcloud. Открывает общий доступ к файлу или папке для другого пользователя или группы. Аутентифицированный пользователь должен быть владельцем файла/папки, к которой предоставляется общий доступ. Аргументы: path: Путь к файлу/папке для общего доступа (относительно ваших файлов, например, "/document.txt") share_with: Идентификатор получателя, обязателен для каждого типа общего доступа, кроме публичной ссылки: id пользователя, id группы, адрес email, федеративный "user@remote", id круга, токен беседы Talk или id карточки Deck, соответствующий share_type. Передача получателя вместе с share_type=3 отклоняется - публичная ссылка не имеет адресата, а Nextcloud молча проигнорирует получателя и опубликует файл для всех, у кого есть URL. share_type: Тип общего доступа - 0 для пользователя (по умолчанию), 1 для группы, 4 для email, 6 для федеративного, 7 для круга, 10 для беседы Talk, 12 для карточки Deck. Используйте 3 для публичной ссылки, хотя nc_share_create_public_link предпочтительнее для короткоживущих ссылок на скачивание только для чтения с управляемым сроком действия permissions: Разрешения общего доступа (по умолчанию: 1 - только чтение): - 1 = чтение - 2 = обновление - 4 = создание - 8 = удаление - 16 = предоставление общего доступа - 31 = все разрешения Часто используемые: 1 (только чтение), 3 (чтение+обновление), 15 (чтение+обновление+создание+удаление) Возвращает: Строку JSON с информацией об общем доступе, включая ID общего доступа Исключения: ToolError: если пара share_type/share_with недопустима

Создаёт общий доступ.

Параметры
  • pathstringобязательный
  • permissionsinteger
  • share_typeinteger
  • share_withstring | null
nc_share_create_public_linkвнешний мир

Создаёт короткоживущую публичную ссылку на скачивание файла, доступную только для чтения. Используйте этот инструмент для бинарных файлов (особенно изображений), которые клиенту нужны как байты, а не как текст: nc_webdav_read_file кодирует в base64 всё, из чего не удаётся извлечь текст, а это может превысить лимит ответа MCP-клиента и обрезаться, после чего файл уже не декодировать. (Для документов -- PDF, DOCX -- лучше читайте их: тот инструмент возвращает их текст или markdown.) Публичная ссылка держит ответ MCP компактным и даёт клиенту скачать точные исходные байты по download_url. Ссылка всегда доступна только для чтения (permissions=1): публичная ссылка с правом записи, открытая анонимно, стала бы дырой в безопасности, поэтому такую настройку намеренно не сделали. Используйте nc_share_create (shareType=3), если вам действительно нужна публичная ссылка с правом записи. Аргументы: path: Путь к файлу, которым нужно поделиться (относительно ваших файлов, например "/Receipts/receipt.jpg") expires_in_minutes: Сколько минут ссылка должна оставаться действительной (по умолчанию: 30). Значение должно быть положительным: инструмент создаёт только короткоживущие ссылки, никогда постоянную. Смотрите оговорку о сроке действия ниже. Оговорка о сроке действия: Nextcloud применяет срок действия публичных ссылок с точностью до даты, а не до минуты: ссылка истекает в 00:00:00 дня expireDate по часовому поясу владельца (то есть в конце дня перед expireDate). Запрошенный интервал округляется вверх, чтобы ссылка оставалась действительной как минимум столько. expires_at показывает точный запрошенный момент, но на стороне сервера ссылка может оставаться действительной до конца этого дня. Чтобы отозвать её раньше, вызовите nc_share_delete с полученным share_id. Возвращает: PublicDownloadLinkResponse с URL для предоставления доступа, URL для скачивания и справочным сроком действия. Вызывает: ValueError: если expires_in_minutes не положительное.

Создаёт публичную ссылку для скачивания.

Параметры
  • expires_in_minutesinteger
  • pathstringобязательный
nc_share_deleteидемпотентныйвнешний мир

Удаляет общий ресурс по его ID. Удаляет общий ресурс, который вы создали. Вы должны быть владельцем этого общего ресурса. Аргументы: share_id: ID общего ресурса для удаления Возвращает: JSON-строку, подтверждающую удаление

Удаляет общий доступ.

Параметры
  • share_idintegerобязательный
nc_share_getтолько чтениевнешний мир

Получает информацию о конкретном общем ресурсе. Извлекает подробности об общем ресурсе по его ID. У вас должен быть доступ к общему ресурсу (как владелец или получатель). Аргументы: share_id: ID общего ресурса Возвращает: Строка JSON с информацией об общем ресурсе

Получает сведения об общем доступе.

Параметры
  • share_idintegerобязательный
nc_share_listтолько чтениевнешний мир

Перечисляет общие ресурсы, созданные вами или предоставленные вам. Аргументы: path: Необязательный путь для фильтрации общих ресурсов по конкретному файлу/папке shared_with_me: Если True, перечисляет общие ресурсы, которые другие пользователи предоставили вам. Если False (по умолчанию), перечисляет общие ресурсы, созданные вами. Возвращает: JSON-строку со списком общих ресурсов

Список доступных ресурсов (List Shares)

Параметры
  • pathstring | null
  • shared_with_meboolean
nc_share_updateвнешний мир

Обновляет разрешения существующего общего ресурса. Изменяет разрешения для общего ресурса, который вы создали. Нужно быть владельцем. Аргументы: share_id: ID общего ресурса для обновления permissions: Новое значение разрешений: - 1 = чтение - 2 = обновление - 4 = создание - 8 = удаление - 16 = общий доступ - 31 = все разрешения Часто используемые: 1 (только чтение), 3 (чтение+обновление), 15 (чтение+обновление+создание+удаление) Возвращает: JSON-строку с обновлённой информацией об общем ресурсе

Update Share

Параметры
  • permissionsintegerобязательный
  • share_idintegerобязательный
nc_tables_delete_rowидемпотентныйвнешний мир

Удаляет строку из таблицы.

Удаляет строку таблицы.

Параметры
  • row_idintegerобязательный
nc_tables_get_schemaтолько чтениевнешний мир

Получает схему/структуру конкретной таблицы, включая столбцы и представления.

Получает схему таблицы.

Параметры
  • table_idintegerобязательный
nc_tables_insert_rowвнешний мир

Вставляет новую строку в таблицу. Данные должны быть словарём, который сопоставляет идентификаторы столбцов значениям, например {1: "text", 2: 42}

Вставляет строку таблицы.

Параметры
  • dataobjectобязательный
  • table_idintegerобязательный
nc_tables_list_tablesтолько чтениевнешний мир

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

Перечисляет таблицы.

Параметры

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

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

Читает строки из таблицы с необязательной пагинацией

Читает строки таблицы.

Параметры
  • limitinteger | null
  • offsetinteger | null
  • table_idintegerобязательный
nc_tables_update_rowвнешний мир

Обновляет существующую строку в таблице. Данные должны быть словарём, сопоставляющим идентификаторы столбцов с новыми значениями, например {1: "new text", 2: 99}

Обновляет строку таблицы.

Параметры
  • dataobjectобязательный
  • row_idintegerобязательный
nc_webdav_copy_resourceвнешний мир

Копирует файл или каталог в NextCloud. Выбрасывает ToolError, когда EXCLUDED_TAGS настроен и либо путь источника, либо путь назначения (или одна из их родительских папок) содержит исключённый системный тег. Аргументы: source_path: Полный путь к файлу или каталогу для копирования destination_path: Путь назначения для копии overwrite: Перезаписывать ли место назначения, если оно существует (по умолчанию: False) if_destination_match: Необязательный ETag места назначения (из nc_webdav_read_file или nc_webdav_write_file). Тогда копия заменяет место назначения, только если оно всё ещё именно той версии, так что overwrite=True не затрёт файл, который кто-то другой изменил за это время. Требует overwrite=True. "*" не принимается. Только файлы - если место назначения каталог, проверка всегда проваливается с 412. Возвращает: CopyResourceResponse. success равен False для известных конфликтов - 404, когда источника не существует, 412, когда место назначения существует и overwrite равен False, 409 для отсутствующей родительской папки - а message объясняет, какой именно. Остальные сбои выбрасывают исключение.

Копирует файл или каталог

Параметры
  • destination_pathstringобязательный
  • if_destination_matchstring | null
  • overwriteboolean
  • source_pathstringобязательный
nc_webdav_create_commentвнешний мир

Публикует комментарий к файлу в NextCloud. Чтобы кого-то уведомить, упомяните его по ID пользователя Nextcloud: @username или @"user id with spaces". Nextcloud извлекает упоминание из сообщения, когда сохраняет комментарий, и сам отправляет уведомление - больше ничего здесь не нужно. Вызывает ToolError, когда файл не существует или когда настроен EXCLUDED_TAGS и файл (или папка-предок) помечен исключённым системным тегом. Вызывает ValueError для пустого сообщения или сообщения, превышающего лимит Nextcloud - в обоих случаях ничего не публикуется. Аргументы: path: Полный путь к файлу, к которому нужно оставить комментарий message: Текст комментария (максимум 1000 символов, считается после удаления пробелов по краям, с учётом кодовых точек Unicode) Возвращает: CreateFileCommentResponse с ID нового комментария.

Комментарий к файлу

Параметры
  • messagestringобязательный
  • pathstringобязательный
nc_webdav_create_directoryидемпотентныйвнешний мир

Создаёт каталог в NextCloud. Вызывает ToolError, когда настроен EXCLUDED_TAGS и целевой путь находится внутри папки с исключённым системным тегом. Аргументы: path: Полный путь создаваемого каталога Возвращает: Dict со status_code (201 при создании, 405 если уже существует)

Создаёт каталог.

Параметры
  • pathstringобязательный
nc_webdav_delete_resourceидемпотентныйвнешний мир

Удаляет файл или каталог в NextCloud. Вызывает ToolError, когда настроен EXCLUDED_TAGS и целевой путь (или папка-предок) содержит исключённый системный тег. Аргументы: path: Полный путь к файлу или каталогу для удаления Возвращает: Dict со status_code, указывающим результат (404, если не найдено)

Удаляет файл или каталог.

Параметры
  • pathstringобязательный
nc_webdav_find_by_nameтолько чтениевнешний мир

Находит файлы по шаблону имени в NextCloud. Аргументы: pattern: Шаблон имени для поиска (поддерживает подстановочный знак %) scope: Путь к каталогу для поиска (пустая строка для корня пользователя) limit: Максимальное количество возвращаемых результатов Возвращает: SearchFilesResponse со списком совпадающих файлов

Находит файлы по имени

Параметры
  • limitinteger | null
  • patternstringобязательный
  • scopestring
nc_webdav_find_by_typeтолько чтениевнешний мир

Находит файлы по MIME-типу в NextCloud. Аргументы: mime_type: MIME-тип для поиска (поддерживает подстановочный знак %) scope: Путь к каталогу для поиска (пустая строка для корня пользователя) limit: Максимальное количество возвращаемых результатов Возвращает: SearchFilesResponse со списком подходящих файлов

Находит файлы по типу.

Параметры
  • limitinteger | null
  • mime_typestringобязательный
  • scopestring
nc_webdav_list_commentsтолько чтениевнешний мир

Читает комментарии, которые люди оставили к файлу в NextCloud. Комментарии - так команда помечает файл на месте: запросы на ревью, передача дел, контекст, которому не место в самом файле. Выбрасывает ToolError, когда файла нет, или когда настроен EXCLUDED_TAGS и файл (или папка-предок) помечен исключённым системным тегом. Аргументы: path: Полный путь к файлу (например, "/Documents/report.pdf") limit: Максимальное число возвращаемых комментариев (по умолчанию: 20) offset: Сколько самых новых комментариев пропустить, для постраничного вывода Возвращает: ListFileCommentsResponse с комментариями, сначала самые новые.

Перечисляет комментарии к файлу.

Параметры
  • limitinteger
  • offsetinteger
  • pathstringобязательный
nc_webdav_list_directoryтолько чтениевнешний мир

Перечисляет файлы и каталоги в указанном пути NextCloud. Если настроен EXCLUDED_TAGS: вызывает ToolError, если сам указанный путь помечен тегом (или находится внутри папки с тегом), а иначе не включает в список дочерние элементы с тегами. Ранняя проверка согласуется с мутирующими инструментами и избавляет от обращения к Nextcloud для заведомо исключённого пути. Аргументы: path: Путь к каталогу для вывода списка (пустая строка для корневого каталога) Возвращает: DirectoryListing с полями files, total_count, directories_count, files_count и total_size

Перечисляет файлы и каталоги.

Параметры
  • pathstring
nc_webdav_list_favoritesтолько чтениевнешний мир

Выводит список всех избранных файлов в NextCloud. Аргументы: scope: Путь к каталогу для поиска (пустая строка для всех избранных) limit: Максимальное количество возвращаемых результатов Возвращает: SearchFilesResponse со списком избранных файлов

Перечисляет избранные файлы.

Параметры
  • limitinteger | null
  • scopestring
nc_webdav_move_resourceвнешний мир

Перемещает или переименовывает файл или каталог в NextCloud. Вызывает ToolError, когда настроен EXCLUDED_TAGS и на исходном или конечном пути (либо на одной из их родительских папок) висит исключённый системный тег. Аргументы: source_path: Полный путь к перемещаемому файлу или каталогу destination_path: Новый путь для файла или каталога overwrite: Перезаписывать ли место назначения, если оно существует (по умолчанию: False) if_destination_match: Необязательный ETag места назначения (из nc_webdav_read_file или nc_webdav_write_file). Тогда перемещение заменяет место назначения, только если это всё ещё та самая версия, так что overwrite=True не затрёт файл, который кто-то успел изменить. Требует overwrite=True. "*" не принимается. Только файлы - если место назначения это каталог, проверка всегда падает с 412. Возвращает: MoveResourceResponse. success равен False для известных конфликтов - 404, когда источника не существует, 412, когда место назначения существует и overwrite равен False, 409 при отсутствующей родительской папке - а message объясняет, что именно. Остальные сбои приводят к исключению.

Перемещает или переименовывает файл.

Параметры
  • destination_pathstringобязательный
  • if_destination_matchstring | null
  • overwriteboolean
  • source_pathstringобязательный
nc_webdav_read_fileтолько чтениевнешний мир

Читает содержимое файла из NextCloud. Выбрасывает ToolError, когда настроен EXCLUDED_TAGS и файл (или папка-предок) несёт исключённый системный тег. Аргументы: path: Полный путь к файлу для чтения parse_document: Как обрабатывать документ (PDF, DOCX, изображение, ...): - "auto" (по умолчанию): извлекает текст. Самый дешёвый работающий путь - PDF с хорошим текстовым слоем читается напрямую, а отсканированный переходит к OCR, когда на сервере включён OCR. - "markdown": дополнительно восстанавливает структуру (заголовки, таблицы), а не возвращает плоский текстовый слой. Стоит второго, более медленного разбора и ограничен потолком страниц, когда его нельзя соблюсти, ответ говорит об этом, а не притворяется. - "raw": не разбирает. Текстовые файлы декодируются, всё остальное возвращается в base64. Файлы, которые не обрабатывает ни один процессор (обычный текст, JSON, архивы), не затрагиваются этим аргументом. Возвращает: ReadFileResponse. Наряду с path/content/content_type/ size/etag он всегда описывает, что вы на самом деле держите: - parse_status: parsed / failed / skipped / not_applicable. - content_format: markdown, text или base64. - parse_tier / parse_processor: какой уровень извлечения создал содержимое (fast, structured, ocr). - parse_notes: если это не пусто, сообщите пользователю, что деградировало (OCR недоступен, структура не восстановлена, ограничение размера, сбой разбора), а не подавайте содержимое как полный документ. - etag: передайте его обратно в if_match инструмента nc_webdav_write_file при записи по этому же пути позже, чтобы ручное изменение, сделанное где-то ещё тем временем (например, в веб-интерфейсе Nextcloud), было обнаружено как конфликт, а не молча перезаписано. - url: ссылка, которая открывает файл в Nextcloud.

Читает файл.

Параметры
  • parse_documentenum
  • pathstringобязательный
nc_webdav_search_filesтолько чтениевнешний мир

Ищет файлы в NextCloud через WebDAV SEARCH. Это высокоуровневый инструмент поиска, поддерживающий типовые шаблоны поиска. Для более сложных запросов используйте специальные инструменты поиска. Аргументы: scope: Путь к каталогу для поиска (пустая строка для корня пользователя) name_pattern: Шаблон имени файла (поддерживает подстановочный знак %, например, "%.txt" для всех текстовых файлов) mime_type: MIME-тип для фильтрации (поддерживает подстановочный знак %, например, "image/%" для всех изображений) only_favorites: Если True, возвращать только избранные файлы limit: Максимальное количество возвращаемых результатов Возвращает: SearchFilesResponse со списком подходящих файлов

Search Files

Параметры
  • limitinteger | null
  • mime_typestring | null
  • name_patternstring | null
  • only_favoritesboolean
  • scopestring
nc_webdav_write_fileвнешний мир

Записывает содержимое в файл в NextCloud. Запись работает по принципу fail-closed: существующий файл никогда не перезаписывается молча. Что именно произойдёт, зависит от if_match (см. ниже). Выбрасывает ToolError, когда настроен EXCLUDED_TAGS и целевой путь (или папка выше по дереву) помечен исключённым системным тегом, когда декодированное содержимое превышает WEBDAV_WRITE_MAX_MB, когда запись конфликтует с параллельной правкой или с существующим/отсутствующим файлом (412), либо когда файл заблокирован другим клиентом (423) - см. if_match ниже. Аргументы: path: Полный путь, куда записать файл content: Содержимое файла (текст или base64 для бинарных данных) content_type: MIME-тип (определяется автоматически, если не указан; для бинарных данных используйте 'type;base64') if_match: Управляет безопасностью перезаписи. - Пропустите (None), чтобы создать новый файл: запись упадёт с ToolError, если путь уже существует. Чтобы изменить существующий файл, сначала прочитайте его через nc_webdav_read_file и передайте полученный оттуда etag. - Передайте этот etag, чтобы перезаписать файл, только если он не менялся с момента чтения. Если кто-то отредактировал его за это время (например, в веб-интерфейсе Nextcloud), запись упадёт - перечитайте файл и повторите осознанно, а не в цикле. - Передайте литерал "*", чтобы принудительно перезаписать существующий файл без условий (упадёт, если файла нет). Возвращает: WriteFileResponse с path, status_code, size, created (True, когда создан новый файл, то есть HTTP 201; False, когда перезаписан существующий, то есть HTTP 204) и etag. etag - это файл в том виде, в каком он только что записан. Передайте его обратно как if_match при следующей записи, чтобы связывать правки без промежуточного чтения. Он равен None, если сервер его не вернул (некоторые прокси его срезают). В этом случае перечитайте файл, чтобы его получить.

Write File

Параметры
  • contentstringобязательный
  • content_typestring | null
  • if_matchstring | null
  • pathstringобязательный
talk_add_participantидемпотентныйвнешний мир

Добавляет участника в групповую или публичную беседу Talk. В беседу один на один нельзя добавить дополнительных участников - сервер отклоняет это с ошибкой типа комнаты. Аргументы: token: Токен беседы. participant: Идентификатор для добавления, интерпретируется в зависимости от source. source: Откуда берётся идентификатор - "users" (по умолчанию), "groups", "emails", "circles" или "federated_users".

Добавляет участника разговора

Параметры
  • participantstringобязательный
  • sourceenum
  • tokenstringобязательный
talk_create_conversationвнешний мир

Создаёт новый разговор (комнату) Talk. Аргументы: room_name: Отображаемое имя комнаты. Требуется для групповой (2) или публичной (3) комнаты. Для комнаты один-на-один его опустите: spreed называет её по имени другого участника. room_type: 2 для групповой комнаты (по умолчанию), 3 для публичной комнаты, 1 для комнаты один-на-один. invite: Идентификатор пользователя или группы, который добавляется при создании. Требуется для комнаты один-на-один, где это другой участник, и именно он задаёт комнату. В остальных случаях необязателен.

Создаёт беседу Talk

Параметры
  • invitestring | null
  • room_namestring | null
  • room_typeenum
talk_get_conversationтолько чтениевнешний мир

Получает сведения о беседе Talk по её токену. Аргументы: token: Уникальный токен комнаты (возвращается talk_list_conversations).

Get Talk Conversation

Параметры
  • tokenstringобязательный
talk_get_messagesтолько чтениевнешний мир

Читает историю чата для разговора в Talk. Возвращает самые последние сообщения (при пагинации сначала более старые). Не сдвигает метку прочитанного пользователя. При необходимости отдельно вызывается talk_mark_as_read. Аргументы: token: Токен разговора. limit: Максимум сообщений на страницу. Допустимый диапазон - 1-200 (spreed ограничивает на стороне сервера до 200). Значения вне этого диапазона приводятся к границам. По умолчанию 50. last_known_message_id: Курсор пагинации - чтобы получить следующую (более старую) страницу, нужно передать last_known_message_id из предыдущего ответа. include_last_known: Включает сообщение-курсор в страницу вместо того, чтобы начинать прямо перед ним.

Получает сообщения беседы

Параметры
  • include_last_knownboolean
  • last_known_message_idinteger | null
  • limitinteger
  • tokenstringобязательный
talk_list_conversationsтолько чтениевнешний мир

Перечисляет беседы (комнаты) пользователя в Talk. Аргументы: modified_since: Необязательная временная метка Unix. Возвращаются только беседы, изменённые после этого времени. include_status: Включать ли информацию о статусе пользователя для бесед один на один.

Выводит список бесед Talk.

Параметры
  • include_statusboolean
  • modified_sinceinteger | null
talk_list_participantsтолько чтениевнешний мир

Выводит список участников беседы Talk. Аргументы: token: Токен беседы. include_status: Включает информацию о статусе пользователя для каждого участника.

Перечисляет участников беседы Talk

Параметры
  • include_statusboolean
  • tokenstringобязательный
talk_list_reactionsтолько чтениевнешний мир

Перечисляет реакции на сообщение в чате Talk, сгруппированные по эмодзи. Аргументы: token: Токен беседы. message_id: ID сообщения, из которого нужно прочитать реакции. reaction: Необязательный отдельный эмодзи для фильтрации.

Получает список реакций на сообщение в Talk.

Параметры
  • message_idintegerобязательный
  • reactionstring | null
  • tokenstringобязательный
talk_mark_as_readидемпотентныйвнешний мир

Передвигает маркер прочитанного пользователя вперёд в беседе Talk. Аргументы: token: Токен беседы. last_read_message: Необязательный ID сообщения, который нужно отметить как новую позицию прочитанного. Если не указан, spreed помечает всё, что сейчас есть в комнате, как прочитанное.

Отмечает разговор в Talk как прочитанный.

Параметры
  • last_read_messageinteger | null
  • tokenstringобязательный
talk_reactидемпотентныйвнешний мир

Ставит эмодзи-реакцию на сообщение в чате Talk. Возвращает реакции сообщения после изменения, поэтому вызывающей стороне не нужно делать дополнительное чтение. Аргументы: token: Токен беседы. message_id: ID сообщения, на которое ставится реакция. reaction: Эмодзи для реакции.

Реагирует на сообщение в Talk

Параметры
  • message_idintegerобязательный
  • reactionstringобязательный
  • tokenstringобязательный
talk_remove_reactionидемпотентныйвнешний мир

Удаляет собственную реакцию пользователя из сообщения чата Talk. Если пользователь пытается удалить реакцию, которой он не ставил, сервер сообщает об ошибке not-found, а не завершает операцию молча. Аргументы: token: Токен беседы. message_id: ID сообщения, из которого нужно удалить реакцию. reaction: Эмодзи, который нужно удалить.

Удаляет реакцию на сообщение в Talk

Параметры
  • message_idintegerобязательный
  • reactionstringобязательный
  • tokenstringобязательный
talk_send_messageвнешний мир

Отправляет сообщение чата в беседу Talk от имени пользователя. К сообщению прикрепляется случайный referenceId, чтобы spreed отсеивал дубликаты, если запрос повторят. Аргументы: token: Токен беседы. message: Текст сообщения (максимум 32000 символов). reply_to: Необязательный ID родительского сообщения, чтобы ответ был в ветке. silent: Если True, сообщение доставляется без push-уведомлений (например, для обновлений статуса).

Отправляет сообщение в Talk

Параметры
  • messagestringобязательный
  • reply_tointeger | null
  • silentboolean
  • tokenstringобязательный
0.200.2основная
0.200.1
0.200.0
0.199.4
0.199.3
0.199.2
0.199.1
0.199.0
0.198.5
0.198.4
0.198.3
0.198.2
0.198.1
0.198.0
0.197.1
0.197.0
0.196.0
0.195.5
0.195.4
0.195.3
0.195.2
0.195.1
0.195.0
0.194.0
0.193.1
0.193.0
0.192.0
0.191.0
0.190.1
0.190.0
0.189.0
0.188.1
0.188.0
0.187.1
0.187.0
0.186.0
0.185.5
0.185.4
0.185.3
0.185.2
0.185.1
0.185.0
0.184.5
0.184.4
0.184.3
0.184.2
0.184.1
0.184.0
0.183.1
0.183.0
0.182.0
0.181.1
0.181.0
0.180.0
0.179.0
0.178.1
0.178.0
0.177.2
0.177.1
0.177.0
0.176.5
0.176.4
0.176.3
0.176.2
0.176.1
0.176.0
0.175.0
0.174.1
0.174.0
0.173.1
0.173.0
0.172.0
0.171.0
0.170.2
0.170.1
0.170.0
0.169.2
0.169.1
0.169.0
0.168.0
0.167.0
0.166.1
0.166.0
0.165.0
0.164.1
0.164.0
0.163.0
0.162.1
0.162.0
0.161.0
0.160.1
0.160.0
0.159.2
0.159.1
0.159.0
0.158.0
0.157.0
0.156.2
0.156.1
0.156.0
0.155.2
0.155.1
0.155.0
0.154.2
0.154.1
0.154.0
0.153.0
0.152.0
0.151.0
0.150.0
0.149.0
0.148.0
0.147.2
0.147.1
0.147.0
0.146.0
0.145.1
0.145.0
0.144.2
0.144.1
0.144.0
0.143.1
0.143.0
0.142.2
0.142.1
0.142.0
0.141.4
0.141.3
0.141.2
0.141.1
0.141.0
0.140.4
0.140.3
0.140.2
0.140.1
0.140.0
0.139.3
0.139.2
0.139.1
0.139.0
0.138.1
0.138.0
0.137.0
0.136.0
0.135.0
0.134.0
0.133.2
0.133.1
0.133.0
0.132.0
0.131.1
0.131.0
0.130.1
0.130.0
0.129.8
0.129.7
0.129.6
0.129.5
0.129.4
0.129.3
0.129.2
0.129.1
0.129.0
0.128.4
0.128.3
0.128.2
0.128.1
0.128.0
0.127.6
0.127.5
0.127.4
0.127.3
0.127.2
0.127.1
0.127.0
0.126.5
0.126.4
0.126.3
0.126.2
0.126.1
0.126.0
0.125.1
0.125.0
0.124.4
0.124.3
0.124.2
0.124.1
0.124.0
0.123.2
0.123.1
0.123.0
0.122.2
0.122.1
0.122.0
0.121.3
0.121.2
0.121.1
0.121.0
0.120.5
0.120.4
0.120.3
0.120.2
0.120.1
0.120.0
0.119.0
0.118.0
0.117.2
0.117.1
0.117.0
0.116.0
0.115.1
0.115.0
0.114.0
0.113.1
0.113.0
0.112.0
0.111.0
0.110.2
0.110.1
0.110.0
0.109.1
0.109.0
0.108.3
0.108.2
0.108.1
0.108.0
0.107.0
0.106.0
0.105.0
0.104.1
0.104.0
0.103.0
0.102.0
0.101.4
0.101.3
0.101.2
0.101.1
0.101.0
0.100.0
0.99.0
0.98.1
0.98.0
0.97.0
0.96.0
0.95.0
0.94.1
0.94.0
0.93.0
0.92.1
0.92.0
0.91.3
0.91.2
0.91.1
0.91.0
0.90.2
0.90.1
0.90.0
0.89.0
0.88.3
0.88.2
0.88.1
0.88.0
0.87.2
0.87.1
0.87.0
0.86.4
0.86.3
0.86.2
0.86.1
0.86.0
0.85.1
0.85.0
0.84.2
0.84.1
0.84.0
0.83.4
0.83.3
0.83.2
0.83.1
0.83.0
0.82.0
0.81.0
0.80.0
0.79.3
0.79.2
0.79.1
0.79.0
0.78.0
0.77.1
0.77.0
0.76.0
0.75.2
0.75.1
0.75.0
0.74.0
0.73.2
0.73.1
0.73.0
0.72.7
0.72.6
0.72.5
0.72.4
0.72.3
0.72.2
0.72.1
0.72.0
0.71.0
0.70.4
0.70.3
0.70.2
0.70.1
0.70.0
0.69.0
0.68.4
0.68.3
0.68.2
0.68.1
0.68.0
0.67.0
0.66.2
0.66.1
0.66.0
0.65.4
0.65.3
0.17.1

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

Любой клиент

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

{
  "mcpServers": {
    "cbcoutinho-nextcloud-mcp-server-hbk3": {
      "command": "uvx",
      "args": [
        "nextcloud-mcp-server",
        "run",
        "--transport",
        "stdio"
      ],
      "env": {
        "NEXTCLOUD_HOST": "https://your.nextcloud.instance.com",
        "NEXTCLOUD_USERNAME": "your_username",
        "NEXTCLOUD_PASSWORD": "your_app_password"
      }
    }
  }
}
CursorCursor

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

{
  "mcpServers": {
    "cbcoutinho-nextcloud-mcp-server-hbk3": {
      "command": "uvx",
      "args": [
        "nextcloud-mcp-server",
        "run",
        "--transport",
        "stdio"
      ],
      "env": {
        "NEXTCLOUD_HOST": "https://your.nextcloud.instance.com",
        "NEXTCLOUD_USERNAME": "your_username",
        "NEXTCLOUD_PASSWORD": "your_app_password"
      }
    }
  }
}
VS Code

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

{
  "servers": {
    "cbcoutinho-nextcloud-mcp-server-hbk3": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "nextcloud-mcp-server",
        "run",
        "--transport",
        "stdio"
      ],
      "env": {
        "NEXTCLOUD_HOST": "https://your.nextcloud.instance.com",
        "NEXTCLOUD_USERNAME": "your_username",
        "NEXTCLOUD_PASSWORD": "your_app_password"
      }
    }
  }
}

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

code --add-mcp "{\"name\":\"cbcoutinho-nextcloud-mcp-server-hbk3\",\"type\":\"stdio\",\"command\":\"uvx\",\"args\":[\"nextcloud-mcp-server\",\"run\",\"--transport\",\"stdio\"],\"env\":{\"NEXTCLOUD_HOST\":\"https://your.nextcloud.instance.com\",\"NEXTCLOUD_USERNAME\":\"your_username\",\"NEXTCLOUD_PASSWORD\":\"your_app_password\"}}"
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": {
    "cbcoutinho-nextcloud-mcp-server-hbk3": {
      "command": "uvx",
      "args": [
        "nextcloud-mcp-server",
        "run",
        "--transport",
        "stdio"
      ],
      "env": {
        "NEXTCLOUD_HOST": "https://your.nextcloud.instance.com",
        "NEXTCLOUD_USERNAME": "your_username",
        "NEXTCLOUD_PASSWORD": "your_app_password"
      }
    }
  }
}
Claude CodeClaude Code

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

claude mcp add cbcoutinho-nextcloud-mcp-server-hbk3 --env NEXTCLOUD_HOST=https://your.nextcloud.instance.com --env NEXTCLOUD_USERNAME=your_username --env NEXTCLOUD_PASSWORD=your_app_password -- uvx nextcloud-mcp-server run --transport stdio

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

claude mcp add-json cbcoutinho-nextcloud-mcp-server-hbk3 "{\"command\":\"uvx\",\"args\":[\"nextcloud-mcp-server\",\"run\",\"--transport\",\"stdio\"],\"env\":{\"NEXTCLOUD_HOST\":\"https://your.nextcloud.instance.com\",\"NEXTCLOUD_USERNAME\":\"your_username\",\"NEXTCLOUD_PASSWORD\":\"your_app_password\"}}"
CodexCodex

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

codex mcp add cbcoutinho-nextcloud-mcp-server-hbk3 --env NEXTCLOUD_HOST=https://your.nextcloud.instance.com --env NEXTCLOUD_USERNAME=your_username --env NEXTCLOUD_PASSWORD=your_app_password -- uvx nextcloud-mcp-server run --transport stdio

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

[mcp_servers.cbcoutinho-nextcloud-mcp-server-hbk3]
command = "uvx"
args = ["nextcloud-mcp-server", "run", "--transport", "stdio"]

[mcp_servers.cbcoutinho-nextcloud-mcp-server-hbk3.env]
NEXTCLOUD_HOST = "https://your.nextcloud.instance.com"
NEXTCLOUD_USERNAME = "your_username"
NEXTCLOUD_PASSWORD = "your_app_password"
PerplexityPerplexity

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

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

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

WindsurfWindsurf

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

{
  "mcpServers": {
    "cbcoutinho-nextcloud-mcp-server-hbk3": {
      "command": "uvx",
      "args": [
        "nextcloud-mcp-server",
        "run",
        "--transport",
        "stdio"
      ],
      "env": {
        "NEXTCLOUD_HOST": "https://your.nextcloud.instance.com",
        "NEXTCLOUD_USERNAME": "your_username",
        "NEXTCLOUD_PASSWORD": "your_app_password"
      }
    }
  }
}
ClineCline

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

{
  "mcpServers": {
    "cbcoutinho-nextcloud-mcp-server-hbk3": {
      "command": "uvx",
      "args": [
        "nextcloud-mcp-server",
        "run",
        "--transport",
        "stdio"
      ],
      "env": {
        "NEXTCLOUD_HOST": "https://your.nextcloud.instance.com",
        "NEXTCLOUD_USERNAME": "your_username",
        "NEXTCLOUD_PASSWORD": "your_app_password"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}
Continue

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

mcpServers:
  - name: cbcoutinho-nextcloud-mcp-server-hbk3
    command: uvx
    args:
      - "nextcloud-mcp-server"
      - "run"
      - "--transport"
      - "stdio"
    env:
      NEXTCLOUD_HOST: https://your.nextcloud.instance.com
      NEXTCLOUD_USERNAME: your_username
      NEXTCLOUD_PASSWORD: your_app_password
Zed

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

{
  "context_servers": {
    "cbcoutinho-nextcloud-mcp-server-hbk3": {
      "command": "uvx",
      "args": [
        "nextcloud-mcp-server",
        "run",
        "--transport",
        "stdio"
      ],
      "env": {
        "NEXTCLOUD_HOST": "https://your.nextcloud.instance.com",
        "NEXTCLOUD_USERNAME": "your_username",
        "NEXTCLOUD_PASSWORD": "your_app_password"
      }
    }
  }
}

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

yjcho9317/nworks

yjcho9317/nworks

от yjcho9317

nworks — MCP-сервер для LINE WORKS с 26 инструментами: сообщения, календарь, диск, почта, задачи и доски. Подходит для AI-агентов и автоматизации рабочих процессов через CLI или MCP-протокол. Включ...

TypeScript⭐ 27
vakharwalad23/google-mcp

vakharwalad23/google-mcp

от vakharwalad23

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

TypeScript⭐ 21
taylorwilsdon/google_workspace_mcp

taylorwilsdon/google_workspace_mcp

от taylorwilsdon

Управляет Gmail, Календарём, Диском, Документами, Таблицами и Презентациями: пишет письма, создаёт события, редактирует файлы.

Python⭐ 3386
hmk/box-mcp-server

hmk/box-mcp-server

от hmk

MCP-сервер для поиска и чтения файлов в облачном хранилище Box. Поддерживает форматы PDF и Word, авторизуется через JWT или Developer Token. Помогает разработчикам подключать Box к AI-агентам.

JavaScript⭐ 11
softeria/ms-365-mcp-server

softeria/ms-365-mcp-server

от softeria

MCP сервер для работы с Microsoft 365 через Graph API. Предоставляет 200+ инструментов для управления почтой, календарём и OneDrive, включая Teams и SharePoint. Автоматизируйте офисные задачи с ИИ-ассистентами.

TypeScript⭐ 1063
bitatlas-group/bitatlas

bitatlas-group/bitatlas

от bitatlas-group

BitAtlas MCP сервер для защищённого облачного хранилища с E2E шифрованием и оплатой по запросу. Он позволяет AI-агентам безопасно искать, читать и управлять файлами без раскрытия данных. Идеально для приватной работы с документами.

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

Лука Никитин