Fabric Data Warehouse serwer MCP (wersja zapoznawcza)

Dotyczy:✅ końcowego punktu analizy SQL i magazynu danych w usłudze Microsoft Fabric

Zdalny serwer Fabric Data Warehouse MCP jest hostowanym punktem końcowym MCP, który umożliwia agentom sztucznej inteligencji pracę z magazynem przy użyciu języka naturalnego. Oparte na protokole Model Context Protocol (MCP), zapewnia agentom kontrolowany sposób uruchamiania instrukcji T-SQL za pomocą narzędzia executeSQL, analizowania wyników i iteracyjnego działania w oparciu o rzeczywisty kontekst magazynu danych, z poszanowaniem uprawnień platformy Fabric i granic zabezpieczeń.

W tym artykule pokazano, jak wykonać następujące działania:

  • Nawiązywanie połączenia z zdalnym serwerem MCP Fabric Data Warehouse w Visual Studio Code

  • Skonfiguruj globalny punkt końcowy lub punkt końcowy ograniczony do elementu

  • Używanie GitHub Copilot do generowania i uruchamiania języka T-SQL względem Fabric Data Warehouse

  • Weryfikowanie połączenia za pomocą zapytań testowych

Prerequisites

Zanim zaczniesz, upewnij się, że masz:

  • Visual Studio Code: zainstaluj najnowszą wersję Visual Studio Code.

  • GitHub Copilot: Zainstaluj i zaloguj się do GitHub Copilot i GitHub Copilot Chat w Visual Studio Code.

  • Dostęp do usługi Fabric Data Warehouse: Musisz mieć dostęp do co najmniej jednej usługi Fabric Data Warehouse lub punktu końcowego analizy SQL.

  • Uprawnienia magazynu danych: Musisz mieć wymagane uprawnienia do obszaru roboczego usługi Fabric i uprawnienia SQL, aby uruchamiać instrukcje T-SQL, których wykonanie zlecasz agentowi.

  • Kontekst magazynu: Przygotuj identyfikator obszaru roboczego i identyfikator elementu magazynu, jeśli planujesz używać punktu końcowego ograniczonego do elementu.

Wybieranie punktu końcowego

Serwer Fabric Data Warehouse MCP oferuje dwie opcje punktu końcowego w zależności od przypadku użycia. Wybierz globalny punkt końcowy do elastycznego wybierania magazynu za pomocą podpowiedzi albo punkt końcowy ograniczony do elementu, aby powiązać połączenie z określonym magazynem.

Globalny punkt końcowy

Jeśli chcesz nawiązać połączenie z serwerem Fabric Data Warehouse MCP, podaj kontekst magazynu za pomocą monitów lub argumentów narzędzi przy użyciu globalnego punktu końcowego:

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

Punkt końcowy o zakresie elementów

Użyj punktu końcowego o zakresie elementów, jeśli chcesz, aby połączenie serwera MCP było powiązane z określonym elementem Fabric Data Warehouse.

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

Replace:

  • <workspace-id> za pomocą identyfikatora obszaru roboczego Fabric.

  • <item-id>z identyfikatorem elementu Fabric Data Warehouse.

Punkt końcowy ograniczony do elementu jest przydatny, gdy chcesz, aby działanie agenta było powiązane z określonym magazynem i aby nie trzeba było wielokrotnie podawać w czacie kontekstu magazynu.

Konfigurowanie w programie Visual Studio Code

Skonfiguruj serwer Fabric Data Warehouse MCP w Visual Studio Code, dodając konfigurację serwera do pliku ustawień MCP. Wybierz globalny punkt końcowy, aby elastycznie wybierać magazyn, lub punkt końcowy ograniczony do elementu, aby powiązać połączenie z określonym magazynem.

Opcja 1. Konfigurowanie globalnego punktu końcowego

Dodaj następującą konfigurację serwera do pliku konfiguracji Visual Studio Code MCP:

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

Po zapisaniu konfiguracji uruchom ponownie lub odśwież serwery MCP w Visual Studio Code.

Opcja 2: Skonfigurować punkt końcowy ograniczony do elementu

Dodaj następującą konfigurację serwera do pliku konfiguracji Visual Studio Code MCP:

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

Zastąp wartości <workspace-id> i <item-id> wartościami magazynu.

Po zapisaniu konfiguracji uruchom ponownie lub odśwież serwery MCP w Visual Studio Code.

Testowanie połączenia

Po skonfigurowaniu połączenia sprawdź, czy konfiguracja działa.

  1. Uruchom serwer MCP w Visual Studio Code.

    • Otwórz panel serwerów MCP.

    • Upewnij się, że serwer Fabric Data Warehouse MCP jest wyświetlany jako połączony.

  2. Otwórz GitHub Copilot Chat.

    • Uruchom Copilot Chat w Visual Studio Code.

    • Włącz tryb agenta.

  3. Podaj kontekst magazynu, jeśli używasz globalnego punktu końcowego.

    • Jeśli skonfigurowano globalny punkt końcowy, wskaż Copilotowi, którego magazynu ma używać, za pomocą monitu, takiego jak:

      Use the Fabric Data Warehouse named SalesDW in the Sales Analytics workspace.
      
    • Jeśli skonfigurowano punkt końcowy ograniczony do elementu, serwer jest już ograniczony do elementu magazynowego w adresie URL punktu końcowego.

  4. Zadaj pytanie.

    • Example:
    What tables and views are in this warehouse?
    
    • Example:
    Show me the top 10 products by sales revenue.
    
  5. Autoryzowanie użycia narzędzia.

    • Gdy pojawi się monit, przejrzyj i zatwierdź wywołanie narzędzia executeSQL.

    • W razie żądania uwierzytelnij się przy użyciu poświadczeń Microsoft.

  6. Przejrzyj odpowiedź.

    • Copilot używa serwera Fabric Data Warehouse MCP do wykonania zatwierdzonej instrukcji języka T-SQL i zwraca wynik rozmowy.

Dostępne narzędzia

Serwer Fabric Data Warehouse MCP uwidacznia jedno narzędzie.

Tool Description
executeSQL Wykonuje zatwierdzoną instrukcję języka T-SQL względem Fabric Data Warehouse i zwraca wynik.

Serwer nie udostępnia oddzielnych narzędzi do wyświetlania listy schematów, opisywania tabel, pobierania historii zapytań ani inspekcji metadanych magazynu. Nadal możesz ukończyć te przepływy pracy, prosząc agenta o wygenerowanie i uruchomienie języka T-SQL za pomocą polecenia executeSQL.

Na przykład zamiast wywoływać osobne narzędzie do wykrywania tabel agent może użyć executeSQL za pomocą zapytania do INFORMATION_SCHEMA.TABLES lub innych obsługiwanych widoków systemowych.

Weryfikowanie przy użyciu przykładowych monitów

Użyj tych monitów, aby potwierdzić, że serwer może wygenerować język T-SQL, wykonać język T-SQL i wyjaśnić wyniki.

Eksplorowanie obiektów magazynu

  • Wyświetl listę wszystkich schematów w tym magazynie.

  • Wyświetl listę wszystkich tabel i widoków pogrupowanych według schematu.

  • Pokaż kolumny, typy danych i wartość null dla dbo.Customers tabeli.

Generowanie i uruchamianie języka T-SQL

  • Napisz i uruchom zapytanie T-SQL, które zwraca 10 najważniejszych produktów według przychodu.

  • Uruchom zapytanie, które zlicza wiersze według stanu kolejności w Orders tabeli.

  • Utwórz zapytanie, które łączy Orders, Customers, Productsi Regions , aby wyświetlić przychód według regionu.

Omówienie i ulepszanie zapytań

  • Przed uruchomieniem tego zapytania T-SQL wyjaśnij, co robi to zapytanie T-SQL.

  • Zapisz ponownie to zapytanie, aby ułatwić odczytywanie bez zmieniania wyniku.

  • Zasugeruj ulepszenia tego wzorca zapytania, a następnie pokaż poprawiony język T-SQL.

Monitorowanie aktywności magazynu

  • Pokaż ostatnią aktywność zapytań dla tej hurtowni.

  • Znajdź długotrwałe zapytania lub sesje, które mogą wymagać uwagi.

  • Podsumuj ostatnie błędy zapytań i pogrupuj je według prawdopodobnej głównej przyczyny.

Uwaga / Notatka

Dokładne zapytania monitorowania zależą od widoków systemowych dostępnych w środowisku magazynu.

Zabezpieczenia i uprawnienia

Serwer Fabric Data Warehouse MCP używa tożsamości zalogowanych użytkowników i uwzględnia uprawnienia Fabric. Użytkownicy mogą wykonywać tylko instrukcje SQL, do wykonywania których ich tożsamość ma uprawnienia w Fabric Data Warehouse.

Wywołania narzędzi, które executeSQL powinny wymagać jawnego zatwierdzenia przez użytkownika w kliencie MCP. Przejrzyj wygenerowany kod T-SQL, zanim zezwolisz elementowi executeSQL na uruchomienie, zwłaszcza w przypadku operacji zapisu, takich jak CREATE, ALTER, DROP, INSERT, UPDATE lub DELETE.

Użyj dostępu z najniższymi uprawnieniami dla magazynów produkcyjnych.

Rozpocznij od zapytań tylko do odczytu i eksploracji metadanych przed włączeniem przepływów pracy modyfikujących obiekty magazynu.

Troubleshoot

Jeśli masz problemy z konfigurowaniem lub używaniem serwera Fabric Data Warehouse MCP, skorzystaj z poniższych scenariuszy, aby rozwiązać typowe problemy.

Serwer MCP nie jest wyświetlany jako połączony

Upewnij się, że konfiguracja mcP jest poprawnie zapisana, adres URL punktu końcowego jest poprawny i czy po wprowadzeniu zmian ponownie uruchomiono lub odświeżono serwery MCP w Visual Studio Code.

Copilot nie może znaleźć magazynu.

Jeśli używasz globalnego punktu końcowego, podaj kontekst magazynu na czacie. Jeśli używasz punktu końcowego o zakresie na poziomie elementu, upewnij się, że identyfikator obszaru roboczego i identyfikator elementu są poprawne.

Uwierzytelnianie kończy się niepowodzeniem

Zaloguj się ponownie przy użyciu konto Microsoft. Upewnij się, że używasz właściwego tenanta i katalogu.

Wywołania narzędzi kończą się błędami uprawnień

Upewnij się, że masz wymaganą rolę obszaru roboczego usługi Fabric, uprawnienia do elementu i uprawnienia SQL. Serwer nie pomija zabezpieczeń Fabric.

Agent nie może wyświetlić listy schematów ani tabel

Serwer udostępnia tylko executeSQL. Poproś agenta o użycie zapytań metadanych SQL zamiast oczekiwać oddzielnych narzędzi do odnajdywania schematów.

Example:

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

Wyniki zapytania są nieoczekiwane

Zapytaj funkcję Copilot, aby wyświetlić wygenerowany kod T-SQL przed wykonaniem. Przed zatwierdzeniem wywołania narzędzia przejrzyj nazwy tabel, sprzężenia, filtry, logikę daty i logikę agregacji.