← Retour

Configurer un MCP pour GitHub Copilot

~4 min

Guide complet pour configurer le serveur MCP dbhub et connecter GitHub Copilot à votre base de données (MariaDB, MySQL) dans JetBrains. Posez des questions en langage naturel et obtenez des requêtes SQL.

J’ai voulu écrire ce guide parce que c’est un peu spécifique comme setup et ça peut vitre rendre fou.

Sur le net et même via les LLM, quand on utilise pas Claude Code, Cursor ou VSCode on est vite oublié dans les tutos.

Ce guide explique comment configurer le serveur MCP (Model Context Protocol) dbhub pour permettre à GitHub Copilot dans JetBrains (DataGrip, IntelliJ IDEA, etc.) d’interroger directement votre base de données (PG, MariaDB, MySQL, etc.) via des requêtes SQL en langage naturel.


🚀 Étape 1 : Démarrer le serveur dbhub

J’ai décidé d’utiliser DB Hub qui est open source et facile à configurer en local. En plus la doc est clean et il offre une WebUI pour tester les requêtes SQL manuellement.

Commande à exécuter dans un terminal

npx @bytebase/dbhub@latest --transport http --port 8081 --dsn "mariadb://username:password@localhost:3306/database_name"

Remplacez :

  • username : votre nom d’utilisateur de base de données
  • password : votre mot de passe
  • localhost:3306 : l’hôte et le port de votre serveur MariaDB
  • database_name : le nom de votre base de données (schéma)

Exemple :

npx @bytebase/dbhub@latest --transport http --port 8081 --dsn "mariadb://root:mypassword@localhost:3306/db_name"

Vérification

Une fois démarré, dbhub expose deux URL :

Vous pouvez ouvrir le workbench dans votre navigateur pour tester manuellement les requêtes SQL.

Vous pouvez aussi utiliser MCP Inspector (https://modelcontextprotocol.io/docs/tools/inspector) pour tester la connexion MCP en mode http.


⚙️ Étape 2 : Configuration de GitHub Copilot dans JetBrains

2.1 Accéder aux paramètres MCP de GitHub Copilot

  1. Ouvrir les paramètres JetBrains :

    • macOS : Cmd + , ou JetBrains IDEA/DataGripSettings...
    • Windows/Linux : Ctrl + Alt + S ou FileSettings...
  2. Naviguer vers GitHub Copilot MCP :

    Tools → GitHub Copilot → Model Context Protocol (MCP)
  3. Vous arrivez sur la page de configuration des serveurs MCP

2.2 Ajouter le serveur dbhub

  1. Cliquer sur le bouton + (Ajouter un serveur MCP)

  2. Choisir le type de connexion : HTTP

  3. Remplir les informations :

    • Name : dbhub-local (ou un nom de votre choix)
    • URL : http://localhost:8081/mcp
  4. Cliquer sur OK pour sauvegarder

2.3 Exemple de configuration JSON (alternative)

Vous pouvez aussi éditer directement le fichier de configuration MCP situé dans :

macOS/Linux :

~/.config/github-copilot/mcp_config.json

Windows :

%APPDATA%\GitHub Copilot\mcp_config.json

Contenu du fichier :

{
  "mcpServers": {
    "dbhub-local": {
      "type": "http",
      "url": "http://localhost:8081/mcp"
    }
  }
}

🔄 Étape 3 : Redémarrer JetBrains

⚠️ IMPORTANT : Vous DEVEZ redémarrer JetBrains après chaque modification du fichier mcp_config.json

  1. Fermez complètement JetBrains (DataGrip, IntelliJ IDEA, etc.)
  2. Relancez l’application

Sans ce redémarrage, GitHub Copilot ne prendra pas en compte la nouvelle configuration MCP. (c’est un peu pénible mais c’est comme ça pour l’instant)


✅ Étape 4 : Vérification et utilisation

Vérifier que la connexion fonctionne

  1. Ouvrir le chat GitHub Copilot dans JetBrains :

    • Cliquer sur l’icône GitHub Copilot en bas à droite
    • Ou utiliser le raccourci : Ctrl + Shift + AGitHub Copilot Chat
  2. Passer en mode Agent (pas Ask mode)

  3. Tester une requête :

    Liste-moi les tables du schéma 'tartenpion' via dbhub

Exemples de requêtes que vous pouvez faire

Combien d'utilisateurs sont dans la base ?

Montre-moi la structure de la table 'bidule'

Trouve les 10 derniers enregistrements créés dans la table 'record'

Quelle est la taille de chaque table dans le schéma 'tartenpion' ?

🔧 Dépannage

Le serveur dbhub ne démarre pas

Erreur : “Database connection configuration is required”

  • Vérifiez que vous avez bien fourni le --dsn dans la commande
  • Vérifiez que les identifiants et le nom de la base sont corrects

Erreur de connexion à la base de données

  • Testez votre DSN avec un client MySQL/MariaDB classique
  • Vérifiez que le serveur de base de données est bien démarré

GitHub Copilot ne voit pas le serveur MCP

  1. Vérifiez que le serveur dbhub est bien démarré (http://localhost:8081/)
  2. Vérifiez la configuration MCP :
    • Allez dans Tools → GitHub Copilot → Model Context Protocol (MCP)
    • Le serveur dbhub-local doit apparaître
    • Le status doit être “Connected” ou “Running”
  3. Redémarrez JetBrains (obligatoire après toute modification)
  4. Vérifiez que vous êtes en mode Agent dans le chat Copilot

Erreur “Connection closed” ou “MCP error -32000”

  • Le serveur dbhub a probablement planté ou été arrêté
  • Relancez la commande npx @bytebase/dbhub@latest dans votre terminal
  • Attendez que le serveur soit complètement démarré avant de faire des requêtes

📝 Notes importantes

  • ‼️Sécurité‼️ : Le DSN contient vos identifiants de base de données. Ne les partagez jamais dans un fichier versionné.
  • ‼️SECURITÉ AVANT TOUT‼️ : Les MCP peuvent potentiellement exposer vos données. Assurez-vous de comprendre les risques avant de les utiliser en production. Les LLMs peuvent générer des requêtes SQL dangereuses et sont vulnérables aux prompt injections !!
  • Performance : dbhub fonctionne en mode local et n’envoie pas vos données vers des serveurs externes.
  • Persistance : Le serveur dbhub doit rester actif tant que vous souhaitez utiliser la fonctionnalité MCP.
  • Multiple bases : Vous pouvez configurer plusieurs serveurs MCP pour différentes bases de données en changeant le port et le nom.

🎯 Cas d’usage avancés

Démarrer dbhub en arrière-plan (Unix/Linux/macOS)

nohup npx @bytebase/dbhub@latest --transport http --port 8081 --dsn "mariadb://user:pass@localhost:3306/db" > dbhub.log 2>&1 &

Utiliser un fichier de configuration TOML

Créez un fichier dbhub.toml :

[[sources]]
id = "dev"
dsn = "mariadb://user:password@localhost:3306/dev_db"

[[sources]]
id = "production"
dsn = "mariadb://user:password@prod-server:3306/prod_db"

Puis lancez dbhub :

npx @bytebase/dbhub@latest --transport http --port 8081 --config dbhub.toml

📚 Ressources