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 à utilisermessage
(requis) : Votre inviteconversation_id
(optionnel) : Continuer une conversation existantemax_tokens
(optionnel) : Limite de jetonstemperature
(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 Sonnetclaude3haiku
- Claude 3 Haikugemini
- Google Geminigemini-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
, oulist
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
, oulist
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érerformat
(optionnel) : Format de sortie -json
(défaut),table
, oulist
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
, oulist
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'environnementdescription
(optionnel) : Description de l'environnementpath
(requis) : Chemin de l'environnementis_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
, oulist
#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
, oulist
#create_instance
Créer de nouvelles instances VM.
Paramètres :
name
(requis) : Nom de l'instancetype
(optionnel) : Type d'instanceregion
(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
, oulist
#create_bucket
Créer de nouveaux buckets de stockage.
Paramètres :
name
(requis) : Nom du bucketregion
(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
, oulist
#invoke_function
Exécuter des fonctions serverless.
Paramètres :
function_id
(requis) : ID de la fonction à invoquerpayload
(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
, oulist
#create_user
Créer de nouveaux utilisateurs système.
Paramètres :
username
(requis) : Nom d'utilisateuremail
(requis) : Adresse emailpassword
(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
, oulist
#create_dns_record
Créer de nouveaux enregistrements DNS.
Paramètres :
name
(requis) : Nom de l'enregistrementtype
(requis) : Type d'enregistrement (A, AAAA, CNAME, MX, etc.)content
(requis) : Contenu de l'enregistrementzone
(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'environnementtype
(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 à journame
(optionnel) : Nouveau nom de l'environnementinstance_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 à supprimerconfirm
(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
- Ouvrez la Palette de Commandes (
Ctrl/Cmd+Shift+P
) - Exécutez
MCP: List Servers
- Cherchez
cwcloud-mcp (running)
Tester les Outils
- Ouvrez le Chat GitHub Copilot
- Tapez
#
et vérifiez si les outils apparaissent dans l'autocomplétion - Essayez une génération simple :
#generate_ai_prompt adapter:gpt4o message:"Bonjour le monde"
- 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
- Redémarrez VS Code complètement (pas seulement recharger la fenêtre)
- Vérifiez que le chemin du binaire dans
mcp.json
est absolu et correct - Vérifiez que le fichier
.env
contient des informations d'identification valides - Vérifiez le panneau de sortie de VS Code pour les erreurs liées à MCP
Erreurs d'Authentification
- Vérifiez les clés API sur la Console CWCloud
- Vérifiez que l'URL de l'API est correcte (défaut :
https://api.cwcloud.tech
) - Assurez-vous que les informations d'identification n'ont pas d'espaces ou de caractères supplémentaires
Outils non disponibles dans le Chat
- Confirmez que le serveur est affiché comme "running" dans
MCP: List Servers
- Essayez de taper
#
pour voir if l'autocomplétion fonctionne - 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 :
- Récupérez le dernier code :
git pull
- Recompilez :
go build -o bin/cwcloud-mcp ./cmd/server
- 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
- Problèmes: Problèmes GitHub
- Communauté: Discord