Yandex.Disk MCP Server
by yermidi-bot
README.md
# Yandex.Disk MCP Server
MCP (Model Context Protocol) сервер для интеграции с Яндекс.Диском.
## Возможности
✅ **Просмотр файлов** - список файлов и папок
✅ **Загрузка файлов** - upload на Яндекс.Диск
✅ **Скачивание файлов** - download с ��ндекс.Диска
✅ **Создание файлов** - создание новых файлов
✅ **Создание папок** - создание новых директорий
❌ **Запрет на редактирование** - нельзя менять существующие файлы
## Установка
### 1. Клонируйте репозиторий
```bash
git clone https://github.com/yermidi-bot/yandex-disk-mcp.git
cd yandex-disk-mcp
```
### 2. Создайте виртуальное окружение
```bash
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
```
### 3. Установите зависимости
```bash
pip install -r requirements.txt
```
### 4. Получите OAuth токен Яндекса
1. Перейдите на https://oauth.yandex.ru/
2. Создайте новое приложение с доступом к Яндекс.Диску
3. Получите `access_token`
### 5. Настройте переменные окружения
```bash
cp .env.example .env
# Отредактируйте .env и добавьте ваш YANDEX_OAUTH_TOKEN
```
## Использование
### Запуск сервера
```bash
python yandex_disk_mcp.py
```
### Доступные команды (Tools)
#### 1. list_files
Просмотреть файлы и папки
```json
{
"path": "/"
}
```
#### 2. get_file_info
Получить информацию о файле
```json
{
"path": "/path/to/file.txt"
}
```
#### 3. upload_file
Загрузить файл на Яндекс.Диск
```json
{
"local_path": "/local/path/file.txt",
"disk_path": "/file.txt"
}
```
#### 4. download_file
Скачать файл с Яндекс.Диска
```json
{
"disk_path": "/file.txt",
"local_path": "/local/path/file.txt"
}
```
#### 5. create_file
Создать новый файл
```json
{
"disk_path": "/new_file.txt",
"content": "Hello, World!"
}
```
#### 6. create_directory
Создать новую папку
```json
{
"disk_path": "/new_folder"
}
```
## Получение OAuth токена
### Способ 1: Через браузер
1. Откройте URL (замените `YOUR_CLIENT_ID`):
```
https://oauth.yandex.ru/authorize?client_id=YOUR_CLIENT_ID&response_type=code
```
2. Авторизуйтесь в аккаунте Яндекса
3. Разрешите доступ к приложению
4. Получите `code` из URL перенаправления
5. Обменяйте код на токен:
```bash
curl -X POST "https://oauth.yandex.ru/token" \
-d "grant_type=authorization_code&code=YOUR_CODE&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"
```
### Способ 2: Быстрый способ (для тестирования)
Используйте Яндекс.Диск веб-интерфейс для получения токена через приложение.
## Безопасность
- Никогда не коммитьте `.env` файл с токенами
- Используйте `YANDEX_OAUTH_TOKEN` только в защищённой среде
- Регулярно обновляйте токены
## Ограничения
- **Запрет на редактирование** существующих файлов (защита от случайных изменений)
- Максимальный размер файла: зависит от плана Яндекс.Диска
- API rate limit: см. документацию Яндекса
## Документация
- [Яндекс.Диск API](https://yandex.ru/dev/disk/poligon/)
- [MCP Protocol](https://modelcontextprotocol.io/)
## Лицензия
MIT
## Автор
yermidi-bot
---
**Вопросы?** Создайте issue в репозитории!
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues