Aller au contenu principal

Guide d'Intégration GitHub Copilot

Ce guide vous aidera à intégrer le serveur MCP de CWCloud avec GitHub Copilot dans VS Code, vous permettant d'accéder à de puissants modèles d'IA (GPT-4, Claude, Gemini) directement via le Chat Copilot.

Configuration Rapide

Configuration Automatisée (Recommandé)

Exécutez le script de configuration depuis la racine du projet :

./setup-github-copilot.sh
# Ou
make setup-copilot

Ce script va :

  • Compiler le serveur MCP
  • Collecter vos informations d'identification API CWCloud
  • Tester la connexion au serveur
  • Créer la configuration MCP de VS Code
  • Optionnellement, configurer la configuration globale

Configuration Manuelle

Si vous préférez une configuration manuelle, suivez ces étapes :

1. Compiler le Serveur

go build -o bin/cwcloud-mcp ./cmd/server
# Ou
make build

2. Configurer l'Environnement

Créez un fichier .env avec vos informations d'identification CWCloud :

COMWORK_API_URL=https://api.cwcloud.tech
COMWORK_ACCESS_KEY=votre_cle_d_acces_ici
COMWORK_SECRET_KEY=votre_cle_secrete_ici
LOG_LEVEL=info

Obtenez vos clés API depuis la Console CWCloud.

3. Créer la Configuration MCP

Créez .vscode/mcp.json dans votre projet :

{
"servers": {
"cwcloud-mcp": {
"type": "stdio",
"command": "/chemin/absolu/vers/votre/bin/cwcloud-mcp",
"args": [],
"env": {
"COMWORK_API_URL": "https://api.cwcloud.tech",
"COMWORK_ACCESS_KEY": "votre_cle_d_acces_ici",
"COMWORK_SECRET_KEY": "votre_cle_secrete_ici",
"LOG_LEVEL": "info"
}
}
}
}

Note: Utilisez des chemins absolus dans le champ command.

4. Configuration Globale (Optionnel)

Pour rendre le serveur disponible dans tous les espaces de travail, copiez la configuration dans votre répertoire utilisateur de VS Code :

Linux/WSL:

mkdir -p ~/.config/Code/User
cp .vscode/mcp.json ~/.config/Code/User/

macOS:

mkdir -p ~/Library/Application\ Support/Code/User
cp .vscode/mcp.json ~/Library/Application\ Support/Code/User/

Windows:

mkdir "%APPDATA%\Code\User"
copy .vscode\mcp.json "%APPDATA%\Code\User\"

Utiliser les Outils CWCloud dans GitHub Copilot

Après la configuration, redémarrez VS Code et vous aurez accès à ces outils dans le Chat Copilot :

Outils Disponibles

#generate_ai_prompt

Générer des réponses IA en utilisant divers modèles.

Paramètres :

  • adapter (requis) : Modèle d'IA à utiliser
  • message (requis) : Votre invite
  • conversation_id (optionnel) : Continuer une conversation existante
  • max_tokens (optionnel) : Limite de jetons
  • temperature (optionnel) : Créativité (0.0-1.0)

Adaptateurs Supportés :

  • gpt4o - GPT-4 Optimisé
  • gpt4o-mini - GPT-4 Mini (plus rapide, moins cher)
  • claude3sonnet - Claude 3 Sonnet
  • claude3haiku - Claude 3 Haiku
  • gemini - Google Gemini
  • gemini-pro - Google Gemini Pro

#list_conversations

Lister votre historique de conversations IA.

Paramètres : Aucun

#list_adapters

Lister tous les adaptateurs IA disponibles et leur statut actuel.

Paramètres :

  • format (optionnel) : Format de sortie - json (défaut), table, ou list
  • show_unavailable (optionnel) : Inclure les adaptateurs non disponibles (défaut : false)

Outils de Gestion d'Environnements

#list_environments

Lister tous vos environnements cloud avec différents formats de sortie.

Paramètres :

  • format (optionnel) : Format de sortie - table (défaut), json, ou list

Exemple :

#list_environments format:table

#get_environment

Obtenir des informations détaillées sur un environnement spécifique.

Paramètres :

  • id (requis) : ID de l'environnement à récupérer
  • format (optionnel) : Format de sortie - json (défaut), table, ou list

Exemple :

#get_environment id:15 format:json

Outils Admin d'Environnements (Nécessite des Privilèges Admin)

#admin_list_environments

Lister les environnements avec privilèges admin et détails améliorés.

Paramètres :

  • format (optionnel) : Format de sortie - table (défaut), json, ou list
  • include_stats (optionnel) : Inclure les statistiques d'usage (défaut : false)

#admin_create_environment

Créer de nouveaux environnements cloud avec privilèges admin.

Paramètres :

  • name (requis) : Nom de l'environnement
  • description (optionnel) : Description de l'environnement
  • path (requis) : Chemin de l'environnement
  • is_private (optionnel) : Environnement privé (défaut : false)

Outils de Gestion de Projets

#list_projects

Lister tous vos projets.

Paramètres :

  • format (optionnel) : Format de sortie - table (défaut), json, ou list

#get_project

Obtenir des informations détaillées sur un projet spécifique.

Paramètres :

  • project_id (requis) : ID du projet à récupérer

Outils de Gestion d'Instances

#list_instances

Lister toutes vos instances VM.

Paramètres :

  • format (optionnel) : Format de sortie - table (défaut), json, ou list

#create_instance

Créer de nouvelles instances VM.

Paramètres :

  • name (requis) : Nom de l'instance
  • type (optionnel) : Type d'instance
  • region (optionnel) : Région cloud

Outils de Gestion de Stockage

#list_buckets

Lister tous vos buckets de stockage.

Paramètres :

  • format (optionnel) : Format de sortie - table (défaut), json, ou list

#create_bucket

Créer de nouveaux buckets de stockage.

Paramètres :

  • name (requis) : Nom du bucket
  • region (optionnel) : Région de stockage

Outils de Gestion de Fonctions

#list_functions

Lister toutes vos fonctions serverless.

Paramètres :

  • format (optionnel) : Format de sortie - table (défaut), json, ou list

#invoke_function

Exécuter des fonctions serverless.

Paramètres :

  • function_id (requis) : ID de la fonction à invoquer
  • payload (optionnel) : Charge utile de la fonction

Outils de Gestion d'Utilisateurs

#list_users

Lister tous les utilisateurs système.

Paramètres :

  • format (optionnel) : Format de sortie - table (défaut), json, ou list

#create_user

Créer de nouveaux utilisateurs système.

Paramètres :

  • username (requis) : Nom d'utilisateur
  • email (requis) : Adresse email
  • password (requis) : Mot de passe utilisateur

Outils de Gestion DNS

#list_dns_records

Lister tous vos enregistrements DNS.

Paramètres :

  • format (optionnel) : Format de sortie - table (défaut), json, ou list

#create_dns_record

Créer de nouveaux enregistrements DNS.

Paramètres :

  • name (requis) : Nom de l'enregistrement
  • type (requis) : Type d'enregistrement (A, AAAA, CNAME, MX, etc.)
  • content (requis) : Contenu de l'enregistrement
  • zone (requis) : Zone DNS

Exemple :

#create_dns_record name:api.example.com type:A content:192.168.1.100 zone:example.com

Liste Complète des Outils (119 au Total)

Le Serveur MCP CWCloud fournit 119 outils complets répartis en 10 catégories :

  • Outils IA (3) : Génération IA, conversations, adaptateurs
  • Gestion des Environnements (11) : CRUD complet + opérations admin
  • Gestion des Projets (7) : Cycle de vie complet des projets
  • Gestion des Instances (10) : Opérations VM avec contrôles admin
  • Gestion du Stockage (10) : Opérations de buckets avec contrôles admin
  • Gestion des Registres (10) : Opérations de registres de conteneurs
  • Gestion des Fonctions (12) : Serverless avec invocation
  • Gestion de la Surveillance (10) : Surveillance d'endpoints
  • Gestion des Utilisateurs (10) : Cycle de vie complet des utilisateurs
  • Gestion DNS (10) : Gestion d'enregistrements DNS

Chaque catégorie inclut des outils de niveau utilisateur et administrateur pour une gestion cloud complète.

Paramètres :

  • name (requis) : Nom de l'environnement
  • type (requis) : Type d'environnement (vm, k8s, function, etc.)
  • instance_size (optionnel) : Taille de l'instance (micro, small, medium, large, xlarge)
  • region (optionnel) : Région cloud (par défaut : automatique)

#update_environment

Mettre à jour les propriétés d'environnements comme le nom ou la taille.

Paramètres :

  • environment_id (requis) : ID de l'environnement à mettre à jour
  • name (optionnel) : Nouveau nom de l'environnement
  • instance_size (optionnel) : Nouvelle taille d'instance

#delete_environment

Supprimer des environnements en toute sécurité avec exigence de confirmation.

Paramètres :

  • environment_id (requis) : ID de l'environnement à supprimer
  • confirm (requis) : Doit être "yes" pour confirmer la suppression

Exemple d'Utilisation

Dans le Chat GitHub Copilot :

Outils IA :

#generate_ai_prompt adapter:gpt4o message:"Explique l'informatique quantique" max_tokens:200
#list_conversations
#list_adapters format:table show_unavailable:true

Gestion d'Environnements :

#list_environments format:table
#get_environment environment_id:12345 format:table
#create_environment name:"mon-serveur-web" type:vm instance_size:medium
#update_environment environment_id:12345 name:"nouveau-nom-serveur"
#delete_environment environment_id:12345 confirm:yes

Vérification

Vérifier le Statut du Serveur

  1. Ouvrez la Palette de Commandes (Ctrl/Cmd+Shift+P)
  2. Exécutez MCP: List Servers
  3. Cherchez cwcloud-mcp (running)

Tester les Outils

  1. Ouvrez le Chat GitHub Copilot
  2. Tapez # et vérifiez si les outils apparaissent dans l'autocomplétion
  3. Essayez une génération simple :
    #generate_ai_prompt adapter:gpt4o message:"Bonjour le monde"
  4. Testez les outils d'environnement :
    #list_environments format:table

Test Manuel

Testez le serveur directement :

./test-interactive.sh # Test d'intégration API complet

Dépannage

Le Serveur n'apparaît pas

  1. Redémarrez VS Code complètement (pas seulement recharger la fenêtre)
  2. Vérifiez que le chemin du binaire dans mcp.json est absolu et correct
  3. Vérifiez que le fichier .env contient des informations d'identification valides
  4. Vérifiez le panneau de sortie de VS Code pour les erreurs liées à MCP

Erreurs d'Authentification

  1. Vérifiez les clés API sur la Console CWCloud
  2. Vérifiez que l'URL de l'API est correcte (défaut : https://api.cwcloud.tech)
  3. Assurez-vous que les informations d'identification n'ont pas d'espaces ou de caractères supplémentaires

Outils non disponibles dans le Chat

  1. Confirmez que le serveur est affiché comme "running" dans MCP: List Servers
  2. Essayez de taper # pour voir if l'autocomplétion fonctionne
  3. Vérifiez que l'extension GitHub Copilot est à jour

Mode Débogage

Activez la journalisation de débogage dans votre mcp.json :

{
"servers": {
"cwcloud-mcp": {
"env": {
"LOG_LEVEL": "debug"
}
}
}
}

Mises à jour

Pour mettre à jour le serveur :

  1. Récupérez le dernier code : git pull
  2. Recompilez : go build -o bin/cwcloud-mcp ./cmd/server
  3. Redémarrez VS Code

Analyse de l'Utilisation

Votre serveur MCP CWCloud suit automatiquement :

  • L'utilisation des jetons par modèle
  • L'estimation des coûts
  • L'historique des conversations
  • Les statistiques des requêtes

Utilisez #list_conversations pour voir votre historique de conversations.

Configuration Avancée

Point de Terminaison API Personnalisé

Pour les environnements d'entreprise ou de pré-production :

{
"env": {
"COMWORK_API_URL": "https://api.votre-domaine.com"
}
}

Configurations Multiples

Vous pouvez exécuter plusieurs serveurs MCP avec différentes configurations :

{
"servers": {
"cwcloud-production": {
"command": "/chemin/vers/bin/cwcloud-mcp",
"env": {
"COMWORK_API_URL": "https://api.cwcloud.tech"
}
},
"cwcloud-staging": {
"command": "/chemin/vers/bin/cwcloud-mcp",
"env": {
"COMWORK_API_URL": "https://api.staging.cwcloud.tech"
}
}
}
}

Support