yandex-cloude-mcp
Servidor MCP no oficial per a la interacció amb l'API de Yandex Cloud.
Funcionalitat:
- 📋 Llista de tots els buckets del vostre compte
- 📁 Visualització del contingut d'un bucket concret
- ⬇️ Descàrrega de fitxers a una carpeta local
Detalls tècnics:
Utilitza l'SDK oficial d'AWS (compatible amb Yandex Cloud) i està configurat per a l'endpoint de Yandex Cloud https://storage.yandexcloud.net. Suporta totes les operacions bàsiques a través del protocol MCP.
Seguretat:
Les claus d'accés es guarden en variables d'entorn. Es pot configurar els permisos d'accés mitjançant comptes de servei.
Un cop creat i configurat aquest servidor, Claude podrà connectar-se als vostres buckets a Yandex Cloud i ajudar amb l'anàlisi de dades, la gestió de fitxers i altres tasques.
Pas 1: Creació del projecte
Executeu les comandes al terminal:
mkdir yandex-cloud-mcp
cd yandex-cloud-mcp
npm init -y
Pas 2: Instal·lació de dependències
Dependències principals
npm install @modelcontextprotocol/sdk @aws-sdk/client-s3 dotenv
Dependències de desenvolupament per a TypeScript
npm install -D typescript @types/node ts-node nodemon
Pas 3: Creació de la estructura de carpetes
mkdir src
Pas 4: Fitxers de configuració
Creï el fitxer tsconfig.json a l'arrel del projecte:
{
"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"]
}
Actualitzi package.json afegint scripts:
{
"scripts": {
"build": "tsc",
"start": "node dist/index.js",
"dev": "ts-node src/index.ts",
"watch": "nodemon --exec ts-node src/index.ts"
}
}
Pas 5: Fitxer de variables d'entorn
Creï el fitxer .env a l'arrel del projecte:
YANDEX_ACCESS_KEY_ID=your_yandex_access_key_id_here
YANDEX_SECRET_ACCESS_KEY=your_yandex_secret_access_key_here
⚠️ Deixeu els valors placeholder fins que obteniu les claus.
Pas 6: Codi principal
Creï el fitxer src/index.ts i copieu-hi tot el codi de l'arxiu index.ts de l'artefact (també anomenat index.ts) superior, començant per #!/usr/bin/env node.
Pas 7: Obtenció de claus d'accés a Yandex Cloud
Accediu a la consola de Yandex Cloud: https://console.cloud.yandex.ru/. Inicieu sessió o creeu un compte si no en teniu un.
Creeu o seleccioneu un directori (folder) al vostre núvol. Aneu a IAM:
Al menú esquerre busqueu "Identity and Access Management" o "IAM". Seleccioneu "Service accounts".
Creeu un compte de servei:
- Feu clic a "Create service account".
- Introduïu un nom (per exemple, "mcp-s3-access").
- Assignar el rol
storage.editor(per accés complet) ostorage.viewer(només lectura). - Feu clic a "Create".
Creeu una clau d'accés estàtica:
- Obriu el compte de servei creat.
- Vas a la pestanya "Access keys".
- Feu clic a "Create new key" → "Static access key".
- Desa el
Access Key IDi elSecret Access Key(es mostren només una vegada).
Pas 8: Actualització del fitxer .env
Obriu .env i substituïu els placeholders pels vostres valors:
YANDEX_ACCESS_KEY_ID=YCAJEvaus_access_key_id_ara
YANDEX_SECRET_ACCESS_KEY=YCvaus_very_long_secret_key_ara
Pas 9: Prova
Proveu de llançar el servidor:
npm run build
npm start
Si tot està configurat correctament, apareixerà el missatge:
Yandex Cloud MCP server started
Pas 10: Connexió a Claude Desktop
1. Localitzeu el fitxer de configuració de Claude Desktop. La ubicació varia segons el sistema operatiu:
Windows:
%APPDATA%\Claude\claude_desktop_config.json
macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Linux:
~/.config/Claude/claude_desktop_config.json
2. Creeu o editeu la configuració. Si el fitxer no existeix, creeu-lo. Si existeix, afegiu el vostre servidor.
Fitxer de configuració nou:
{
"mcpServers": {
"yandex-cloud": {
"command": "node",
"args": ["/full/path/to/your/project/yandex-cloud-mcp/dist/index.js"],
"env": {
"YANDEX_ACCESS_KEY_ID": "your_access_key_id",
"YANDEX_SECRET_ACCESS_KEY": "your_secret_access_key"
}
}
}
}
Si el fitxer ja existeix, afegiu a la secció mcpServers:
{
"mcpServers": {
"existing-servers": { ... },
"yandex-cloud": {
"command": "node",
"args": ["/full/path/to/your/project/yandex-cloud-mcp/dist/index.js"],
"env": {
"YANDEX_ACCESS_KEY_ID": "your_access_key_id",
"YANDEX_SECRET_ACCESS_KEY": "your_secret_access_key"
}
}
}
}
3. Determinació del camí complet del projecte. Al terminal, dins del directori yandex-cloud-mcp:
Windows:
cmd > echo %cd%\dist\index.js
macOS/Linux:
bash > echo "$(pwd)/dist/index.js"
4. Reinicieu Claude Desktop. Tanqueu completament i torneu a obrir l'aplicació.
5. Verifiqueu la connexió. Després de reiniciar, escriviu al xat:
Can you show me my buckets in Yandex Cloud?
Si tot està configurat correctament, Claude podrà utilitzar les eines per treballar amb el vostre Yandex Cloud.
Nota: Substituïu /full/path/to/your/project/ pel camí real a la vostra carpeta de projecte.
Explicació dels passos:
Pas 4: Creació de tsconfig.json
Obriu un editor de text (per exemple, VS Code, Notepad++, o qualsevol altre). Creeu un nou fitxer a l'arrel del projecte yandex-cloud-mcp (allà mateix que el package.json) i anomeneu-lo tsconfig.json (important: el nom exacte, amb l'extensió .json). Copieu i enganxeu el següent codi:
{
"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"]
}
Desa el fitxer.
Actualització de package.json
Obriu el fitxer package.json (ja existeix després de npm init -y). Cerqueu la secció "scripts" (pot semblar-se a això):
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
}
Substituïu-la per:
"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"
}
Desa el fitxer.
Enllaç alternatiu (a través del terminal)
Si preferiu la línia de comandes:
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ó
Després d'executar, la estructura hauria de semblar-se a això:
yandex-cloud-mcp/
├── node_modules/
├── src/
├── package.json
├── package-lock.json
└── tsconfig.json 



