Сценарий из mcp-everything. Актуально на 2026-10-24.
Разложить файлы по папкам, архивировать старое, очистить место.
OP=$(curl -s -X POST -G https://cloud-api.yandex.net/v1/disk/resources/move -H "$H" \
--data-urlencode 'from=disk:/Отчёты/2025' --data-urlencode 'path=disk:/Архив/Отчёты 2025' | jq -r .href)
curl -s "$OP" -H "$H" # {"status": "in-progress"} → {"status": "success"}
https://cloud-api.yandex.nethrefТип: OAuth 2.0
OAuth-токен Яндекс ID передаётся в заголовке Authorization с типом токена перед значением. Для получения токена создают OAuth-приложение с правами Диска (cloud_api:disk.write, cloud_api:disk.read, cloud_api:disk.app_folder, cloud_api:disk.info) и открывают https://oauth.yandex.ru/authorize?response_type=token&client_id=<ClientID>.
Заголовки Accept и Content-Type — только application/json.
Authorization: OAuth 0c4181a7c2cf4521964a72ff57a34a07
Асинхронно скачивает файл по URL на Диск; ответ 202 Accepted со ссылкой на статус операции.
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
url |
query | string | да | Адрес файла, в URL-кодировке |
path |
query | string | да | Путь на Диске, в URL-кодировке |
fields |
query | string | нет | Ключи ответа |
disable_redirects |
query | boolean | нет | Запретить переход по редиректу, по умолчанию false |
Файл или пустая папка — синхронно (201 Created); непустая папка — асинхронно (202 Accepted, ссылка на статус операции).
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
from |
query | string | да | Путь к копируемому ресурсу |
path |
query | string | да | Путь к копии, до 32760 символов |
overwrite |
query | boolean | нет | Перезаписать ресурсы с совпадающими именами, по умолчанию false |
force_async |
query | boolean | нет | Выполнить асинхронно |
fields |
query | string | нет | Ключи ответа |
Ответы такие же, как у копирования.
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
from |
query | string | да | Текущий путь к ресурсу |
path |
query | string | да | Новый путь, до 32760 символов |
overwrite |
query | boolean | нет | Перезаписать, по умолчанию false |
force_async |
query | boolean | нет | Выполнить асинхронно |
fields |
query | string | нет | Ключи ответа |
Файл или пустая папка — 204 No Content; непустая папка — 202 Accepted со ссылкой на статус операции.
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
path |
query | string | да | Путь к ресурсу |
permanently |
query | boolean | нет | Удалить без Корзины, по умолчанию false |
md5 |
query | string | нет | MD5 файла для проверки, что удаляется нужный файл |
force_async |
query | boolean | нет | Выполнить асинхронно |
fields |
query | string | нет | Ключи ответа |
Статусы: success, failed (повторите исходный запрос), in-progress.
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
operation_id |
path | string | да | Идентификатор операции из ответа длительного запроса |
Пример ответа:
{
"status":"success"
}
disk:/foo и /foo — одна и та же папка.202 Accepted и объект Link на статус — статус нужно опрашивать самостоятельно.href (URL), method (HTTP-метод для него), templated (нужна ли подстановка параметров по RFC 6570).Если этого недостаточно — официальная документация: https://yandex.ru/dev/disk-api/doc/ru/ Вся интеграция одним документом: https://mcp-everything.ru/integrations/yandex-disk.md