# MCP_GCP_DevOps
## 基本信息
- Slug: `vog01r-mcp_gcp_devops`
- Source: modelscope
- Publisher: @vog01r/MCP_GCP_DevOps
- Categories: cloud-platforms / shell-access / command-line
- Hosted: No
- License: Unknown
- Source URL: https://www.modelscope.cn/mcp/servers/@vog01r/MCP_GCP_DevOps
## 简介
暂无描述。
## 安装提示

```bash
git clone <votre-repo> cd <votre-repo> ``` 2. Installer les dpendances : ```bash pip3 install -r requirements.txt
```

## MCP Server 详情

# Serveur MCP GCP Infrastructure

##  Dmonstration vido

<div align="center">

![Dmonstration du serveur MCP GCP](media/demo_short.gif)

** [Voir la vido complte (898 Ko)](media/1114.mp4)**

*Dcouvrez comment dployer votre infrastructure GCP en langage naturel avec Claude*

> **Note** : Le GIF anim ci-dessus se lance automatiquement. Pour la vido complte avec son, [tlchargez le fichier MP4](media/1114.mp4).

</div>

---

Serveur MCP (Model Context Protocol) pour grer l'infrastructure GCP (Google Cloud Platform) en langage naturel via Claude. Ce serveur permet de dployer et grer des machines virtuelles, de grer des cls SSH, et de dployer de l'infrastructure avec Terraform.

> ** AVERTISSEMENT IMPORTANT - SCURIT**
> 
> Ce projet est **uniquement  but de prsentation des travaux sur l'intelligence artificielle** et ne doit **PAS tre utilis en production** sans modifications de scurit majeures.
> 
> ** Aucune authentification OAuth n'est implmente** : Le serveur MCP est accessible publiquement sans authentification. Toute personne ayant accs  l'URL du serveur peut l'utiliser et potentiellement accder  vos ressources GCP.
> 
> ** Utilisez uniquement dans un environnement de dveloppement isol ou avec des mesures de scurit appropries (pare-feu, authentification, etc.).**

> ** Note sur l'utilisation avec Claude**
> 
> Pour que Claude puisse s'authentifier facilement avec votre serveur MCP, il est **fortement recommand** d'utiliser un **nom de domaine avec HTTPS** plutt qu'une adresse IP ou HTTP. Claude ncessite une connexion scurise (HTTPS) pour fonctionner correctement avec les serveurs MCP externes.

## Fonctionnalits

###  Gestion des cls SSH
- **Gnrer des cls SSH** : Crer automatiquement une paire de cls SSH (prive/publique)
- **Stocker les cls** : Stockage scuris des cls SSH (en mmoire et sur disque dans `~/.ssh_mcp`)
- **Lister les cls** : Voir toutes les cls SSH disponibles
- **Ajouter des cls existantes** : Importer vos propres cls SSH

###  Gestion des VMs GCP (Compute Engine)
- **Lister les instances** : Voir toutes les VMs dans votre projet GCP
- **Crer une instance** : Dployer une nouvelle VM avec configuration personnalise
- **Dmarrer/Arrter une instance** : Contrler l'tat des VMs
- **Supprimer une instance** : Nettoyer les ressources
- **Obtenir les dtails** : Voir les informations dtailles d'une VM (IPs, disques, etc.)

###  Excution SSH distante
- **Excuter des commandes** : Lancer des commandes sur les VMs via SSH
- **Upload de fichiers** : Transfrer des fichiers vers les VMs via SFTP

###  Infrastructure as Code avec Terraform
- **Initialiser Terraform** : Prparer un projet Terraform
- **Planifier** : Voir les changements avant de les appliquer
- **Appliquer** : Dployer l'infrastructure
- **Dtruire** : Nettoyer les ressources Terraform

###  Langage naturel
- Interprtation des requtes en franais pour faciliter l'utilisation

## Installation

### Prrequis
- Python 3.8+
- Compte GCP avec un projet configur
- Fichier de cl de service GCP (service-account-key.json)
- **Nom de domaine avec certificat SSL/TLS** (recommand pour l'utilisation avec Claude)
- **Reverse proxy (Nginx/Apache) avec HTTPS** configur (recommand)

### tapes d'installation

1. Cloner le dpt :
```bash
git clone <votre-repo>
cd <votre-repo>
```

2. Installer les dpendances :
```bash
pip3 install -r requirements.txt
```

3. Configurer les credentials GCP :
   - Placer votre fichier `service-account-key.json` dans le rpertoire du projet
   - Assurez-vous que le service account a les permissions ncessaires :
     - Compute Engine Admin
     - Service Account User

4. (Optionnel) Installer Terraform si vous voulez utiliser les fonctionnalits Terraform :
```bash
# Ubuntu/Debian
wget -O- https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list
sudo apt update && sudo apt install terraform
```

## Utilisation

### Configuration HTTPS avec nom de domaine (Recommand)

Pour que Claude puisse s'authentifier facilement, configurez votre serveur avec HTTPS et un nom de domaine :

1. **Obtenir un certificat SSL** (Let's Encrypt recommand) :
```bash
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d votre-domaine.com
```

2. **Configurer Nginx comme reverse proxy** :
```nginx
server {
    listen 443 ssl;
    server_name votre-domaine.com;

    ssl_certificate /etc/letsencrypt/live/votre-domaine.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/votre-domaine.com/privkey.pem;

    location / {
        proxy_pass http://localhost:5001;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}
```

3. **Redmarrer Nginx** :
```bash
sudo systemctl restart nginx
```

### Dmarrage du serveur

```bash
python3 mcp_server.py
```

Le serveur dmarrera sur `http://0.0.0.0:5001` (utilisez HTTPS via le reverse proxy pour la production)

### Configuration dans Claude Desktop

Pour utiliser le serveur MCP avec Claude via HTTPS, configurez l'URL de votre serveur :

```json
{
  "mcpServers": {
    "gcp-infrastructure": {
      "url": "https://votre-domaine.com",
      "headers": {
        "Content-Type": "application/json"
      }
    }
  }
}
```

**Note** : Utilisez votre nom de domaine avec HTTPS (ex: `https://mcp.votre-domaine.com`) pour que Claude puisse s'authentifier correctement.

Pour une utilisation locale uniquement, vous pouvez aussi utiliser la commande directe :

```json
{
  "mcpServers": {
    "gcp-infrastructure": {
      "command": "python3",
      "args": ["/opt/git/mcp_server.py"],
      "env": {
        "GOOGLE_APPLICATION_CREDENTIALS": "/opt/git/service-account-key.json"
      }
    }
  }
}
```

## Outils …

