yadisk-mcp

yadisk-mcp

MCP server for Yandex Disk that enables file and folder management, search, upload/download, publishing, and trash operations through natural language.

Category
访问服务器

README

yadisk-mcp

CI PyPI Python

MCP-сервер для Яндекс Диска — управляй файлами, папками, публикацией и корзиной через Claude или любой MCP-совместимый клиент.

English version

Особенности

  • Полностью асинхронный — все операции неблокирующие, параллельные запросы работают без задержек
  • 🚀 Фоновая загрузка больших файлов — отправь задачу и сразу получи 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-приложение на Яндексе

  1. Зайди на oauth.yandex.ruСоздать приложениеДля авторизации пользователей
  2. Введи любое название, загрузи иконку (обязательно)
  3. На шаге Платформы выбери Веб-сервисы, Callback URL:
    https://oauth.yandex.ru/verification_code
    
  4. На шаге Права в поле Дополнительные добавь по одному:
    • cloud_api:disk.read
    • cloud_api:disk.write
    • cloud_api:disk.app_folder
    • cloud_api:disk.info
  5. Завершил — получишь 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 .

Настройка

Для работы нужен OAuth-токен Яндекса — как его получить, смотри в разделе Получение токена.

Claude Code (CLI)

claude mcp add yadisk -e YANDEX_DISK_TOKEN=your_token_here -- yadisk-mcp

Или вручную в ~/.claude.json:

{
  "mcpServers": {
    "yadisk": {
      "command": "yadisk-mcp",
      "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": "yadisk-mcp",
        "env": {
          "YANDEX_DISK_TOKEN": "your_token_here"
        }
      }
    }
  }
}

Режим только для чтения

Запусти сервер с флагом --read-only, чтобы запретить любые операции записи — полезно для безопасного просмотра диска или демонстраций.

Три способа включить (приоритет сверху вниз, явное важнее неявного):

# 1. Флаг командной строки
yadisk-mcp --read-only

# 2. Переменная окружения
YADISK_MCP_READ_ONLY=true yadisk-mcp
# 3. Программно (использование как библиотека)
from yadisk_mcp.server import configure, mcp
configure(read_only=True)
mcp.run()

В конфиге Claude Desktop:

{
  "mcpServers": {
    "yadisk": {
      "command": "yadisk-mcp",
      "args": ["--read-only"],
      "env": {
        "YANDEX_DISK_TOKEN": "your_token_here"
      }
    }
  }
}

Заблокированы: create_folder, delete, copy, move, rename, upload_local_file, upload_local_file_background, upload_from_url, get_upload_status, list_upload_jobs, publish, unpublish, restore_from_trash, empty_trash

Доступны: disk_info, list_files, list_recent_files, search_files, get_metadata, get_download_url, get_public_resource, list_trash

Безопасность

Ограничение загрузки файлов

По умолчанию upload_local_file и upload_local_file_background могут загружать любые локальные файлы. Чтобы ограничить доступ конкретными папками, задай переменную YADISK_MCP_UPLOAD_ALLOWED_DIRS:

# Разрешить загрузку только из /home/user/uploads и /tmp/exports
YADISK_MCP_UPLOAD_ALLOWED_DIRS=/home/user/uploads,/tmp/exports yadisk-mcp

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

Примеры использования

После настройки можно говорить Claude:

«Покажи что у меня на Яндекс Диске» «Создай папку /Бэкапы/2026-04» «Загрузи файл /home/user/video.mp4 на диск в папку /Видео» «Опубликуй /Документы/презентация.pdf и дай ссылку» «Загрузи большой файл в фоне и сообщи когда закончится» «Очисти корзину» «Найди все PDF-файлы»

Лицензия

MIT

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选