MCP server for Yandex Disk — manage files, folders, sharing and trash via Claude
Project description
yadisk-mcp
MCP-сервер для Яндекс Диска — управляй файлами, папками, публикацией и корзиной через Claude или любой MCP-совместимый клиент.
Особенности
- ⚡ Полностью асинхронный — все операции неблокирующие, параллельные запросы работают без задержек
- 🚀 Фоновая загрузка больших файлов — отправь задачу и сразу получи
job_id; прогресс и статус доступны в любой момент - 📊 Трекинг прогресса — процент выполнения, загружено байт, имя файла для каждой фоновой задачи
- 🗂️ 22 инструмента — полное покрытие API Яндекс Диска: файлы, папки, поиск, публикация, корзина
Инструменты
Информация и поиск
| Инструмент | Описание |
|---|---|
disk_info |
Квота, использованное/свободное место, данные пользователя |
list_files |
Список файлов в папке с сортировкой и пагинацией |
list_recent_files |
Последние загруженные файлы |
search_files |
Поиск по имени с фильтром по типу медиа |
get_metadata |
Метаданные файла или папки |
Файловые операции
| Инструмент | Описание |
|---|---|
create_folder |
Создать папку (включая промежуточные) |
delete |
Переместить в корзину или удалить насовсем |
copy |
Копировать файл/папку |
move |
Переместить файл/папку |
rename |
Переименовать файл/папку |
Загрузка и скачивание
| Инструмент | Описание |
|---|---|
upload_local_file |
Загрузить локальный файл на Диск (до ~100 МБ) |
upload_local_file_background |
Загрузить большой файл в фоне — возвращает job_id мгновенно |
get_upload_status |
Проверить статус фоновой загрузки (%, байты, имя файла) |
list_upload_jobs |
Список всех активных/завершённых загрузок |
upload_from_url |
Загрузить файл по URL |
get_download_url |
Получить прямую ссылку на скачивание |
Публикация
| Инструмент | Описание |
|---|---|
publish |
Опубликовать файл/папку и получить публичную ссылку |
unpublish |
Закрыть публичный доступ |
get_public_resource |
Информация о публичном ресурсе по ключу или ссылке |
Корзина
| Инструмент | Описание |
|---|---|
list_trash |
Список файлов в корзине |
restore_from_trash |
Восстановить файл из корзины |
empty_trash |
Очистить корзину |
Получение токена
Шаг 1 — Создай OAuth-приложение на Яндексе
- Зайди на oauth.yandex.ru → Создать приложение → Для авторизации пользователей
- Введи любое название, загрузи иконку (обязательно)
- На шаге Платформы выбери Веб-сервисы, Callback URL:
https://oauth.yandex.ru/verification_code - На шаге Права в поле Дополнительные добавь по одному:
cloud_api:disk.readcloud_api:disk.writecloud_api:disk.app_foldercloud_api:disk.info
- Завершил — получишь Client ID и Client Secret
Шаг 2 — Получи токен
Открой в браузере (замени <CLIENT_ID> на свой):
https://oauth.yandex.ru/authorize?response_type=code&client_id=<CLIENT_ID>
Авторизуй приложение, получи код и обменяй его на токен:
curl -X POST https://oauth.yandex.ru/token \
-d "grant_type=authorization_code" \
-d "code=<CODE>" \
-d "client_id=<CLIENT_ID>" \
-d "client_secret=<CLIENT_SECRET>"
Используй access_token из ответа как YANDEX_DISK_TOKEN. Токен действует 1 год.
Вспомогательный скрипт
python3 get_token.py
Установка
pip install yadisk-mcp
Или из исходников:
git clone https://github.com/Patr56/yadisk-mcp
cd yadisk-mcp
pip install -e .
Настройка
Claude Code (CLI)
claude mcp add yadisk -e YANDEX_DISK_TOKEN=your_token_here -- python3 -m yadisk_mcp.server
Или вручную в ~/.claude.json:
{
"mcpServers": {
"yadisk": {
"command": "python3",
"args": ["-m", "yadisk_mcp.server"],
"env": {
"YANDEX_DISK_TOKEN": "your_token_here"
}
}
}
}
Claude Desktop
В claude_desktop_config.json:
{
"mcpServers": {
"yadisk": {
"command": "yadisk-mcp",
"env": {
"YANDEX_DISK_TOKEN": "your_token_here"
}
}
}
}
OpenClaw / другой агент
{
"mcp": {
"servers": {
"yadisk": {
"command": "python3",
"args": ["-m", "yadisk_mcp.server"],
"env": {
"YANDEX_DISK_TOKEN": "your_token_here"
}
}
}
}
}
Примеры использования
После настройки можно говорить Claude:
«Покажи что у меня на Яндекс Диске» «Создай папку /Бэкапы/2026-04» «Загрузи файл /home/user/video.mp4 на диск в папку /Видео» «Опубликуй /Документы/презентация.pdf и дай ссылку» «Загрузи большой файл в фоне и сообщи когда закончится» «Очисти корзину» «Найди все PDF-файлы»
Лицензия
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file yadisk_mcp-0.1.0.tar.gz.
File metadata
- Download URL: yadisk_mcp-0.1.0.tar.gz
- Upload date:
- Size: 13.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b3503df25ab8d5e4a461d5f30712bafed7bc3c9eb159069bbfcdb6ddea9a74d4
|
|
| MD5 |
18c45c7079ee35279d12ea91090484c2
|
|
| BLAKE2b-256 |
1a6784fa5d3868ae2807447024e1bb822ed0163c640148c90a027c9ba88000d5
|
Provenance
The following attestation bundles were made for yadisk_mcp-0.1.0.tar.gz:
Publisher:
publish.yml on Patr56/yadisk-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
yadisk_mcp-0.1.0.tar.gz -
Subject digest:
b3503df25ab8d5e4a461d5f30712bafed7bc3c9eb159069bbfcdb6ddea9a74d4 - Sigstore transparency entry: 1248465585
- Sigstore integration time:
-
Permalink:
Patr56/yadisk-mcp@843f1d39e1ae7483a8e5a12bcb65e6e10516857e -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/Patr56
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@843f1d39e1ae7483a8e5a12bcb65e6e10516857e -
Trigger Event:
release
-
Statement type:
File details
Details for the file yadisk_mcp-0.1.0-py3-none-any.whl.
File metadata
- Download URL: yadisk_mcp-0.1.0-py3-none-any.whl
- Upload date:
- Size: 8.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bed62c96c2108ee15a388f282c54c7cb9f71fd4049713e18b9232f0fb8bf645d
|
|
| MD5 |
901c5f14f5d8403ce4e9495648bd9e99
|
|
| BLAKE2b-256 |
0c2af7d76a3f3545750b0077e2cc880248796c6e63227cbc503fe089c03180e3
|
Provenance
The following attestation bundles were made for yadisk_mcp-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on Patr56/yadisk-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
yadisk_mcp-0.1.0-py3-none-any.whl -
Subject digest:
bed62c96c2108ee15a388f282c54c7cb9f71fd4049713e18b9232f0fb8bf645d - Sigstore transparency entry: 1248465628
- Sigstore integration time:
-
Permalink:
Patr56/yadisk-mcp@843f1d39e1ae7483a8e5a12bcb65e6e10516857e -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/Patr56
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@843f1d39e1ae7483a8e5a12bcb65e6e10516857e -
Trigger Event:
release
-
Statement type: