Yandex Cloud

Un servidor no oficial para interactuar con la API de Yandex Cloud.

Documentación

yandex-cloude-mcp

Servidor mcp no oficial para interactuar con la API de Yandex Cloud.

Funcionalidad:

📋 Список всех bucket в вашем аккаунте
📁 Просмотр содержимого конкретного bucket
⬇️ Скачивание файлов в локальную папку

Detalles técnicos:

  • Utiliza el AWS SDK oficial (compatible con Yandex Cloud)
  • Endpoint configurado para Yandex Cloud (https://storage.yandexcloud.net)
  • Soporta todas las operaciones principales a través del protocolo MCP

Seguridad:

  • Las claves de acceso se almacenan en variables de entorno
  • Se pueden configurar los permisos de acceso mediante cuentas de servicio

Después de crear y configurar este servidor, Claude podrá conectarse a sus buckets en Yandex Cloud y ayudarle con el análisis de datos, la gestión de archivos y otras tareas!

Paso 1: Creación del proyecto

Ejecute los comandos en la terminal:

mkdir yandex-cloud-mcp

cd yandex-cloud-mcp

npm init -y

Paso 2: Instalación de dependencias

Dependencias principales

npm install @modelcontextprotocol/sdk @aws-sdk/client-s3 dotenv

Dev зависимости для TypeScript

npm install -D typescript @types/node ts-node nodemon

Paso 3: Creación de la estructura de carpetas

mkdir src

Paso 4: Archivos de configuración

Cree el archivo tsconfig.json en la raíz del proyecto:

{
  "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"]
}

Actualice package.json agregando scripts:

{
  "scripts": {
    "build": "tsc",
    "start": "node dist/index.js",
    "dev": "ts-node src/index.ts",
    "watch": "nodemon --exec ts-node src/index.ts"
  }
}

Paso 5: Archivo de variables de entorno Cree el archivo .env en la raíz del proyecto:

YANDEX_ACCESS_KEY_ID=your_yandex_access_key_id_here
YANDEX_SECRET_ACCESS_KEY=your_yandex_secret_access_key_here

⚠️ Por ahora deje los valores de placeholder; los completaremos después de obtener las claves Paso 6: Código principal Cree el archivo src/index.ts y copie allí todo el código del artefacto (también llamado index.ts) anterior (comenzando con #!/usr/bin/env node).

Paso 7: Obtención de claves de acceso en Yandex Cloud

Vaya a la consola de Yandex Cloud: https://console.cloud.yandex.ru/ Inicie sesión en su cuenta o cree una nueva si no tiene una Cree o seleccione un directorio (carpeta) en su nube Vaya a IAM:

  • En el menú izquierdo busque "Identity and Access Management" o "IAM"
  • Seleccione "Cuentas de servicio"

Cree una cuenta de servicio:

  • Haga clic en "Crear cuenta de servicio"
  • Ingrese un nombre (por ejemplo, "mcp-s3-access")
  • Asigne el rol storage.editor (para acceso completo) o storage.viewer (solo lectura)
  • Haga clic en "Crear"

Cree una clave de acceso estática:

  • Abra la cuenta de servicio creada
  • Vaya a la pestaña "Claves de acceso"
  • Haga clic en "Crear nueva clave" → "Clave de acceso estática"
  • Guarde el Access Key ID y la Secret Access Key (¡se muestran solo una vez!)

Paso 8: Actualización del archivo .env Abra el archivo .env y reemplace los valores de placeholder con sus claves:

YANDEX_ACCESS_KEY_ID=YCAJEваш_access_key_id_здесь
YANDEX_SECRET_ACCESS_KEY=YCваш_очень_длинный_secret_key_здесь

Paso 9: Pruebas Intente iniciar el servidor: bashnpm run build npm start Si todo está configurado correctamente, debería aparecer el mensaje: Servidor MCP de Yandex Cloud iniciado

Paso 10: Conexión a Claude Desktop

  1. Encuentre el archivo de configuración de Claude Desktop El archivo de configuración se encuentra en diferentes lugares según el sistema operativo:
Windows:
%APPDATA%\Claude\claude_desktop_config.json
macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Linux:
~/.config/Claude/claude_desktop_config.json
  1. Cree o edite la configuración Si el archivo no existe, créelo. Si existe, agregue su servidor. Nuevo archivo de configuración:
{
  "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"
      }
    }
  }
}

Si el archivo ya existe, agregue en la sección 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"
      }
    }
  }
}
  1. Obtenga la ruta completa del proyecto En la terminal, estando en la carpeta yandex-cloud-mcp:
Windows:
cmdecho %cd%\dist\index.js
macOS/Linux:
bashecho "$(pwd)/dist/index.js"
  1. Reinicie Claude Desktop Cierre completamente y vuelva a abrir la aplicación Claude Desktop.
  2. Verifique la conexión Después de reiniciar, intente escribir en el chat: ¿Puedes mostrar mis buckets en Yandex Cloud? Si todo está configurado correctamente, Claude podrá usar las herramientas para trabajar con su Yandex Cloud. Importante: Reemplace /полный/путь/к/вашему/проекту/ por la ruta real a su carpeta de proyecto.

Explicaciones de los pasos:

Paso 4:

Creación de tsconfig.json

  • Abra un editor de texto (por ejemplo, VS Code, Notepad++ o cualquier otro)
  • Cree un nuevo archivo en la carpeta raíz yandex-cloud-mcp (donde está package.json)
  • Nombre el archivo tsconfig.json (importante: exactamente ese nombre, con extensión .json)
  • Copie y pegue este código:
{
  "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"]
}
  • Guarde el archivo

Actualización de package.json

  • Abra el archivo package.json (ya existe después de npm init -y)
  • Busque la sección "scripts" (puede verse así):
"scripts": {
  "test": "echo \"Error: no test specified\" && exit 1"
}
  • Reemplácela por:
"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"
}
  • Guarde el archivo

Método alternativo (mediante terminal) Si prefiere la línea de comandos:

  • Creación de 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
  • Verificación Después de realizarlo, debería tener la siguiente estructura:
yandex-cloud-mcp/
├── node_modules/
├── src/
├── package.json
├── package-lock.json
└── tsconfig.json