An unofficial server for interacting with the Yandex Cloud API.
Неофициальный mcp сервер для взаимодействия с Yandex Cloude API.
Функциональность:
📋 Список всех bucket в вашем аккаунте
📁 Просмотр содержимого конкретного bucket
⬇️ Скачивание файлов в локальную папку
Технические детали:
Использует официальный AWS SDK (совместим с Yandex Cloud) Настроен endpoint для Yandex Cloud (https://storage.yandexcloud.net) Поддерживает все основные операции через MCP протокол
Безопасность:
Ключи доступа хранятся в переменных окружения Можно настроить права доступа через сервисные аккаунты
После создания и настройки этого сервера, Claude сможет подключиться к вашим bucket в Yandex Cloud и помочь с анализом данных, управлением файлами и другими задачами!
Шаг 1: Создание проекта
Выполните команды в терминале:
mkdir yandex-cloud-mcp
cd yandex-cloud-mcp
npm init -y
Шаг 2: Установка зависимостей
Основные зависимости
npm install @modelcontextprotocol/sdk @aws-sdk/client-s3 dotenv
Dev зависимости для TypeScript
npm install -D typescript @types/node ts-node nodemon
Шаг 3: Создание структуры папок
mkdir src
Шаг 4: Конфигурационные файлы
Создайте файл tsconfig.json в корне проекта:
{
"compilerOptions": {
"target": "ES2020",
"module": "commonjs",
"outDir": "./dist",
"rootDir": "./src",
"strict": true,
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"resolveJsonModule": true
},
"include": ["src/**/*"],
"exclude": ["node_modules", "dist"]
}
Обновите package.json, добавив scripts:
{
"scripts": {
"build": "tsc",
"start": "node dist/index.js",
"dev": "ts-node src/index.ts",
"watch": "nodemon --exec ts-node src/index.ts"
}
}
Шаг 5: Файл переменных окружения Создайте файл .env в корне проекта:
YANDEX_ACCESS_KEY_ID=your_yandex_access_key_id_here
YANDEX_SECRET_ACCESS_KEY=your_yandex_secret_access_key_here
⚠️ Пока оставьте placeholder значения - мы заполним их после получения ключей Шаг 6: Основной код Создайте файл src/index.ts и скопируйте туда весь код из артефакта (он так же называется index.ts) выше (начиная с #!/usr/bin/env node).
Шаг 7: Получение ключей доступа в Yandex Cloud
Перейдите в консоль Yandex Cloud: https://console.cloud.yandex.ru/ Войдите в аккаунт или создайте новый, если его нет Создайте или выберите каталог (folder) в вашем облаке Перейдите в IAM:
В левом меню найдите "Identity and Access Management" или "IAM" Выберите "Сервисные аккаунты"
Создайте сервисный аккаунт:
Нажмите "Создать сервисный аккаунт" Введите имя (например, "mcp-s3-access") Назначьте роль storage.editor (для полного доступа) или storage.viewer (только чтение) Нажмите "Создать"
Создайте статический ключ доступа:
Откройте созданный сервисный аккаунт Перейдите на вкладку "Ключи доступа" Нажмите "Создать новый ключ" → "Статический ключ доступа" Сохраните Access Key ID и Secret Access Key (они показываются только один раз!)
Шаг 8: Обновление .env файла Откройте файл .env и замените placeholder значения на ваши ключи:
YANDEX_ACCESS_KEY_ID=YCAJEваш_access_key_id_здесь
YANDEX_SECRET_ACCESS_KEY=YCваш_очень_длинный_secret_key_здесь
Шаг 9: Тестирование Попробуйте запустить сервер: bashnpm run build npm start Если все настроено правильно, должно появиться сообщение: Yandex Cloud MCP сервер запущен
Шаг 10: Подключение к Claude Desktop
Windows:
%APPDATA%\Claude\claude_desktop_config.json
macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Linux:
~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"yandex-cloud": {
"command": "node",
"args": ["/полный/путь/к/вашему/проекту/yandex-cloud-mcp/dist/index.js"],
"env": {
"YANDEX_ACCESS_KEY_ID": "ваш_access_key_id",
"YANDEX_SECRET_ACCESS_KEY": "ваш_secret_access_key"
}
}
}
}
Если файл уже существует, добавьте в секцию mcpServers:
{
"mcpServers": {
"существующие-серверы": { ... },
"yandex-cloud": {
"command": "node",
"args": ["/полный/путь/к/вашему/проекту/yandex-cloud-mcp/dist/index.js"],
"env": {
"YANDEX_ACCESS_KEY_ID": "ваш_access_key_id",
"YANDEX_SECRET_ACCESS_KEY": "ваш_secret_access_key"
}
}
}
}
Windows:
cmdecho %cd%\dist\index.js
macOS/Linux:
bashecho "$(pwd)/dist/index.js"
Пояснения по шагам:
Шаг 4:
Создание tsconfig.json
Откройте текстовый редактор (например, VS Code, Notepad++, или любой другой) Создайте новый файл в корневой папке yandex-cloud-mcp (там же где package.json) Назовите файл tsconfig.json (важно: именно это имя, с расширением .json) Скопируйте и вставьте этот код:
{
"compilerOptions": {
"target": "ES2020",
"module": "commonjs",
"outDir": "./dist",
"rootDir": "./src",
"strict": true,
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"resolveJsonModule": true
},
"include": ["src/**/*"],
"exclude": ["node_modules", "dist"]
}
Сохраните файл
Обновление package.json
Откройте файл package.json (он уже существует после npm init -y) Найдите секцию "scripts" (она может выглядеть примерно так):
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
}
Замените её на:
"scripts": {
"build": "tsc",
"start": "node dist/index.js",
"dev": "ts-node src/index.ts",
"watch": "nodemon --exec ts-node src/index.ts",
"test": "echo \"Error: no test specified\" && exit 1"
}
Сохраните файл
Альтернативный способ (через терминал) Если предпочитаете командную строку:
Создание tsconfig.json
cat > tsconfig.json << 'EOF'
{
"compilerOptions": {
"target": "ES2020",
"module": "commonjs",
"outDir": "./dist",
"rootDir": "./src",
"strict": true,
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"resolveJsonModule": true
},
"include": ["src/**/*"],
"exclude": ["node_modules", "dist"]
}
EOF
Проверка После выполнения у вас должна быть такая структура:
yandex-cloud-mcp/
├── node_modules/
├── src/
├── package.json
├── package-lock.json
└── tsconfig.json
Interact with the Linode API to manage cloud resources.
A remote MCP server without authentication, deployable on Cloudflare Workers.
An AI-powered interface for managing the Dokploy infrastructure platform.
An MCP server for interacting with the ThingsPanel IoT platform.
Access Google Analytics 4 (GA4) data using the Model Context Protocol.
A remote, authentication-free MCP server deployable on Cloudflare Workers.
Get prescriptive CDK advice, explain CDK Nag rules, check suppressions, generate Bedrock Agent schemas, and discover AWS Solutions Constructs patterns.
Connect to Kubernetes cluster and manage pods, deployments, services.
Integrates with Alibaba Cloud APIs to manage resources like ECS, Cloud Monitor, and OOS.
Interact with Honeycomb observability data using the Model Context Protocol.