serveur MCP Fabric Data Warehouse (préversion)

S’applique à :✅ L'endpoint analytique SQL et l'entrepôt de données dans Microsoft Fabric

Le serveur MCP distant Fabric Data Warehouse est un point de terminaison MCP hébergé qui permet aux agents IA de travailler avec un entrepôt à l’aide du langage naturel. Basé sur le protocole MCP (Model Context Protocol), il permet aux agents d’exécuter des instructions T-SQL via l’outilexecuteSQL, d’inspecter les résultats et d’effectuer une itération sur le contexte réel de l’entrepôt tout en respectant les autorisations Fabric et les limites de sécurité.

Cet article vous montre comment :

  • Connectez-vous au serveur MCP Fabric Data Warehouse distant dans Visual Studio Code

  • Configurer le point de terminaison global ou un point de terminaison spécifique à un élément

  • Utilisez GitHub Copilot pour générer et exécuter T-SQL sur Fabric Data Warehouse

  • Valider la connexion avec des requêtes de test

Prerequisites

Avant de commencer, assurez-vous d’avoir :

  • Visual Studio Code : installez la dernière version de Visual Studio Code.

  • GitHub Copilot : installez et connectez-vous à GitHub Copilot et GitHub Copilot Conversation dans Visual Studio Code.

  • Accès à Fabric Data Warehouse : Vous devez avoir accès à au moins un entrepôt de données Fabric ou un point de terminaison d’analytique SQL.

  • Autorisations de l’entrepôt : Vous devez disposer des autorisations requises sur l’espace de travail Fabric et des autorisations SQL nécessaires pour exécuter les instructions T-SQL que vous demandez à l’agent d’exécuter.

  • Contexte d’entrepôt : ayez à disposition l’ID de l’espace de travail et l’ID de l’élément de l’entrepôt si vous prévoyez d’utiliser le point de terminaison limité à l’élément.

Choisir un point de terminaison

Le serveur MCP Fabric Data Warehouse offre deux options de point de terminaison en fonction de votre cas d’usage. Choisissez le point de terminaison global pour un choix flexible de l’entrepôt au moyen d’invites, ou le point de terminaison limité à l’élément pour lier la connexion à un entrepôt spécifique.

Point de terminaison global

Lorsque vous souhaitez vous connecter au serveur MCP Fabric Data Warehouse, fournissez un contexte d’entrepôt via des invites ou des arguments d’outil à l’aide du point de terminaison global :

https://api.fabric.microsoft.com/v1/mcp/dataPlane/sqlEndpoint

Point de terminaison au niveau de l’élément

Utilisez le point de terminaison délimité par l’élément lorsque vous souhaitez que la connexion au serveur MCP soit liée à un élément de Fabric Data Warehouse spécifique.

https://api.fabric.microsoft.com/v1/mcp/dataPlane/workspaces/<workspace-id>/items/<item-id>/sqlEndpoint

Remplacez :

  • <workspace-id> avec l’ID de l’espace de travail Fabric.

  • <item-id> avec l’ID de l’élément Fabric Data Warehouse.

Le point de terminaison limité à un élément est utile lorsque vous souhaitez que l’expérience de l’agent soit associée à un entrepôt spécifique et éviter de fournir de façon répétée le contexte de l’entrepôt dans le chat.

Configurer dans Visual Studio Code

Configurez le serveur MCP Fabric Data Warehouse dans Visual Studio Code en ajoutant la configuration du serveur à votre fichier de paramètres MCP. Choisissez entre le point de terminaison global pour sélectionner librement l’entrepôt, ou le point de terminaison spécifique à l’élément pour associer la connexion à un entrepôt spécifique.

Option 1 : Configurer le point de terminaison global

Ajoutez la configuration de serveur suivante à votre fichier de configuration MCP Visual Studio Code :

{
   "servers": {
      "fabric-dw-global": {
         "type": "http",
         "url": "https://api.fabric.microsoft.com/v1/mcp/dataPlane/sqlEndpoint"
      }
   }
}

Après avoir enregistré la configuration, redémarrez ou actualisez les serveurs MCP dans Visual Studio Code.

Option 2 : Configurer le point de terminaison délimité à l’élément

Ajoutez la configuration de serveur suivante à votre fichier de configuration MCP Visual Studio Code :

{
   "servers": {
      "fabric-dw-item": {
         "type": "http",
         "url": "https://api.fabric.microsoft.com/v1/mcp/dataPlane/workspaces/<workspace-id>/items/<item-id>/sqlEndpoint"
      }
   }
}

Remplacez <workspace-id> et <item-id> par les valeurs de votre entrepôt.

Après avoir enregistré la configuration, redémarrez ou actualisez les serveurs MCP dans Visual Studio Code.

Tester votre connexion

Après avoir configuré la connexion, vérifiez que l’installation fonctionne.

  1. Démarrez le serveur MCP dans Visual Studio Code.

    • Ouvrez le panneau serveurs MCP.

    • Vérifiez que le serveur MCP Fabric Data Warehouse s’affiche comme connecté.

  2. Ouvrez GitHub Copilot Chat.

    • Lancez Copilot Chat dans Visual Studio Code.

    • Activez le mode agent.

  3. Fournissez le contexte de l’entrepôt si vous utilisez le point de terminaison global.

    • Si vous avez configuré le point de terminaison global, indiquez Copilot quel entrepôt utiliser avec une invite comme suit :

      Use the Fabric Data Warehouse named SalesDW in the Sales Analytics workspace.
      
    • Si vous avez configuré le point de terminaison limité à l’élément, le serveur est déjà limité à l’article d’entrepôt dans l’URL du point de terminaison.

  4. Poser une question

    • Exemple :
    What tables and views are in this warehouse?
    
    • Exemple :
    Show me the top 10 products by sales revenue.
    
  5. Autoriser l’utilisation de l’outil.

    • Lorsque vous y êtes invité, examinez et approuvez l’appel à l’outil executeSQL.

    • Authentifiez-vous avec vos informations d’identification Microsoft si nécessaire.

  6. Passez en revue la réponse.

    • Copilot utilise le serveur Fabric Data Warehouse MCP pour exécuter l’instruction T-SQL approuvée et retourne le résultat dans la conversation.

Outils disponibles

Le serveur Fabric Data Warehouse MCP expose un outil.

Tool Description
executeSQL Exécute une instruction T-SQL approuvée sur Fabric Data Warehouse et retourne le résultat.

Le serveur n’expose pas d’outils distincts pour répertorier les schémas, décrire des tables, récupérer l’historique des requêtes ou inspecter les métadonnées de l’entrepôt. Vous pouvez toujours effectuer ces workflows en demandant à l’agent de générer et d’exécuter T-SQL via executeSQL.

Par exemple, au lieu d’appeler un outil de découverte de table distinct, l’agent peut utiliser executeSQL avec une requête sur INFORMATION_SCHEMA.TABLES ou d’autres vues système prises en charge.

Valider avec des exemples d’instructions

Utilisez ces instructions pour confirmer que le serveur peut générer du T-SQL, exécuter du T-SQL et expliquer les résultats.

Explorer les objets de l’entrepôt

  • Répertoriez tous les schémas de cet entrepôt.

  • Répertorier toutes les tables et vues regroupées par schéma.

  • Affichez les colonnes, les types de données et la possibilité de valeur Null pour la dbo.Customers table.

Générer et exécuter T-SQL

  • Écrivez et exécutez une requête T-SQL qui retourne les 10 premiers produits par chiffre d’affaires.

  • Exécutez une requête qui compte les lignes par état d’ordre dans la Orders table.

  • Créez une requête qui joint Orders, CustomersProducts, et Regions pour afficher les revenus par région.

Comprendre et améliorer les requêtes

  • Expliquez ce que fait cette requête T-SQL avant de l’exécuter.

  • Réécrire cette requête pour faciliter la lecture sans modifier le résultat.

  • Suggérer des améliorations à ce modèle de requête, puis afficher le T-SQL révisé.

Surveiller l’activité de l’entrepôt

  • Afficher l’activité de requête récente pour cet entrepôt.

  • Recherchez les requêtes ou les sessions de longue durée susceptibles de nécessiter une attention particulière.

  • Résumez les échecs de requête récents et regroupez-les par cause racine probable.

Note

Les requêtes de surveillance exactes dépendent des vues système disponibles dans l’environnement d’entrepôt.

Sécurité et autorisations

Le serveur MCP Fabric Data Warehouse utilise l'identité de l'utilisateur connecté et respecte les autorisations Fabric. Les utilisateurs peuvent uniquement exécuter des instructions SQL que leur identité est autorisée à exécuter dans Fabric Data Warehouse.

Appels d’outils qui executeSQL doivent nécessiter une approbation explicite de l’utilisateur dans le client MCP. Passez en revue le T-SQL généré avant d’autoriser l’exécution de executeSQL, en particulier pour les opérations d’écriture telles que CREATE, ALTER, DROP, INSERT, UPDATE ou DELETE.

Utilisez l’accès avec des privilèges minimum pour les entrepôts de production.

Commencez par les requêtes en lecture seule et l’exploration des métadonnées avant d’activer les flux de travail qui modifient les objets de l’entrepôt.

Troubleshoot

Si vous rencontrez des problèmes lors de la configuration ou de l’utilisation du serveur MCP Fabric Data Warehouse, utilisez les scénarios suivants pour résoudre les problèmes courants.

Le serveur MCP ne s’affiche pas comme connecté

Vérifiez que la configuration MCP est enregistrée correctement, que l’URL du point de terminaison est correcte et que vous avez redémarré ou actualisé des serveurs MCP dans Visual Studio Code après avoir apporté des modifications.

Copilot ne trouve pas l'entrepôt

Si vous utilisez le point de terminaison global, fournissez le contexte de l’entrepôt dans la conversation. Si vous utilisez le point de terminaison limité à l’élément, vérifiez que l’ID d’espace de travail et l’ID d’élément sont corrects.

Échec de l’authentification

Reconnectez-vous avec votre compte Microsoft. Vérifiez que vous utilisez le locataire et le répertoire appropriés.

Les appels d’outils échouent avec des erreurs d’autorisation

Vérifiez que vous disposez du rôle d’espace de travail Fabric requis, des autorisations d’élément et des autorisations SQL. Le serveur ne contourne pas Fabric sécurité.

L’agent ne peut pas répertorier de schémas ou de tables

Le serveur n’expose que executeSQL. Demandez à l’agent d’utiliser des requêtes de métadonnées SQL au lieu d’attendre des outils de découverte de schéma distincts.

Exemple :

Use executeSQL with INFORMATION_SCHEMA views to list the tables in this warehouse.

Les résultats de la requête sont inattendus

Demander à Copilot pour afficher le T-SQL généré avant l’exécution. Passez en revue les noms de tables, les jointures, les filtres, la logique de date et la logique d’agrégation avant d’approuver l’appel de l’outil.