Fabric Data Warehouse MCP 伺服器(預覽版)

適用於:✅ Microsoft Fabric 中的 SQL 分析端點與資料倉儲

遠端Fabric Data Warehouse MCP 伺服器是一個託管的 MCP 端點,使 AI 代理能利用自然語言與倉庫合作。 它建立在模型上下文協定(MCP)之上,提供代理程式一種受控的方式,讓代理能在工具中executeSQL執行 T-SQL 語句、檢查結果,並針對真實倉庫上下文迭代,同時尊重 Fabric 權限與安全邊界。

本文將教你如何:

  • 在 Visual Studio Code 中連線到遠端 Fabric Data Warehouse MCP 伺服器

  • 設定全域端點或項目範圍端點

  • 使用 GitHub Copilot 針對 Fabric Data Warehouse 產生並執行 T-SQL

  • 用測試查詢驗證連結

Prerequisites

在開始之前,請確保您擁有:

  • Visual Studio Code:安裝最新版本的 Visual Studio Code。

  • GitHub Copilot:在 Visual Studio Code 中安裝並登入 GitHub Copilot 和 GitHub Copilot Chat。

  • Fabric Data Warehouse存取:你需要至少存取一個Fabric Data Warehouse或 SQL 分析端點。

  • 倉庫權限:你需要具備 Fabric 工作空間和 SQL 權限,才能執行你要求代理執行的 T-SQL 語句。

  • 倉庫情境:如果你打算使用項目範圍端點,請提供工作區 ID 和倉庫項目 ID。

選擇端點

Fabric Data Warehouse MCP 伺服器根據你的使用情境提供兩種端點選項。 選擇全域端點以透過提示靈活選擇倉庫,或選擇商品範圍端點來綁定連結到特定倉庫。

全域端點

當你想連接 Fabric Data Warehouse MCP 伺服器時,可以透過提示或工具參數,使用全域端點提供倉庫上下文:

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

項目範圍端點

當您希望 MCP 伺服器連線繫結至特定的 Fabric Data Warehouse 項目時,請使用項目範圍的端點。

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

Replace:

  • <workspace-id>使用 Fabric 工作區 ID。

  • <item-id>並附有Fabric Data Warehouse項目編號。

商品範圍端點在你希望客服體驗錨定於特定倉庫,避免在聊天中反覆提供倉庫上下文時非常有用。

在 Visual Studio Code 中設定

在 Visual Studio Code 中設定 Fabric Data Warehouse MCP 伺服器,方法是將伺服器設定加入你的 MCP 設定檔。 你可以選擇全域端點,以便彈性選擇倉庫;或選擇項目範圍端點,將連線綁定至特定倉庫。

選項一:設定全域端點

將以下伺服器配置加入您的 Visual Studio Code MCP 設定檔:

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

儲存設定後,在 Visual Studio Code 中重新啟動或重新整理 MCP 伺服器。

選項二:設定項目範圍端點

將以下伺服器配置加入您的 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"
      }
   }
}

請將 <workspace-id> 和 <item-id> 替換為您倉庫的值。

儲存設定後,在 Visual Studio Code 中重新啟動或重新整理 MCP 伺服器。

測試您的連線

設定連線後,確認設定是否正常。

  1. 在 Visual Studio Code 啟動 MCP 伺服器。

    • 打開 MCP 伺服器面板。

    • 確認Fabric Data Warehouse MCP 伺服器顯示已連線。

  2. 開啟 GitHub Copilot Chat。

    • 在 Visual Studio Code 中啟動 Copilot Chat。

    • 啟用代理模式。

  3. 如果你使用全域端點,請提供倉庫上下文。

    • 如果你設定了全域端點,請用以下提示告訴 Copilot 要使用哪個倉庫:

      Use the Fabric Data Warehouse named SalesDW in the Sales Analytics workspace.
      
    • 如果你設定了項目範圍端點,伺服器就已在端點 URL 中限定為該倉庫項目。

  4. 問一個問題。

    • 範例:
    What tables and views are in this warehouse?
    
    • 範例:
    Show me the top 10 products by sales revenue.
    
  5. 授權使用工具。

    • 系統提示時,請檢查並核准 executeSQL 工具呼叫。

    • 如果需要,請用你的 Microsoft 憑證驗證。

  6. 請審閱回應。

    • Copilot 使用 Fabric Data Warehouse MCP 伺服器執行核准的 T-SQL 語句,並在聊天中回傳結果。

可用工具

Fabric Data Warehouse MCP 伺服器提供一個工具。

Tool Description
executeSQL 對Fabric Data Warehouse執行經核准的 T-SQL 語句並回傳結果。

伺服器不會暴露獨立的工具來列出結構、描述資料表、擷取查詢歷史或檢查倉庫元資料。 你仍然可以要求代理程式透過 executeSQL 產生並執行 T-SQL,以完成這些工作流程。

例如,代理程式不必呼叫獨立的資料表發現工具,而是可搭配 executeSQL 查詢 INFORMATION_SCHEMA.TABLES 或其他支援的系統視圖。

用範例提示來驗證

利用這些提示確認伺服器是否能產生 T-SQL、執行 T-SQL,並解釋結果。

探索倉庫物件

  • 列出這個倉庫裡的所有結構。

  • 列出所有依結構分組的表格和檢視。

  • 顯示該表格的 dbo.Customers 欄位、資料型態及可空性。

產生並執行 T-SQL

  • 寫並執行一個 T-SQL 查詢,回傳收入排名前十的產品。

  • 執行查詢,依照表格中的 Orders 訂單狀態計算列數。

  • 建立一個查詢,聯結 Orders、Customers、Products 和 Regions,以顯示各地區的營收。

理解並改進查詢

  • 在執行這個 T-SQL 查詢之前,請先說明它的作用。

  • 重寫這個查詢,讓閱讀更方便且不改變結果。

  • 建議改進此查詢模式,然後展示修訂後的 T-SQL。

監控倉庫活動

  • 顯示此倉庫近期的查詢活動。

  • 尋找長期進行的查詢或可能需要關注的會話。

  • 總結近期的查詢失敗案例,並依可能的根本原因分組。

Note

具體的監控查詢取決於倉庫環境中可用的系統視圖。

安全性和權限

Fabric Data Warehouse MCP 伺服器會使用登入使用者的身份,並尊重Fabric權限。 使用者只能執行其身份允許在 Fabric Data Warehouse 執行的 SQL 語句。

executeSQL 的工具呼叫應在 MCP 用戶端中要求使用者明確批准。 在允許 executeSQL 執行之前,請先檢閱產生的 T-SQL,尤其是針對 CREATE、ALTER、DROP、INSERT、UPDATE 或 DELETE 等寫入作業。

生產倉庫使用最低權限存取。

先從唯讀查詢和元資料探索開始,再開啟修改倉庫物件的工作流程。

Troubleshoot

如果您在設定或使用 Fabric Data Warehouse MCP 伺服器時遇到問題,請使用以下情境來排除常見問題。

MCP 伺服器沒有顯示為已連線

確認 MCP 設定正確儲存、端點 URL 正確,以及你在更改後是否重新啟動或刷新了 Visual Studio Code 中的 MCP 伺服器。

Copilot找不到倉庫

如果你用的是全域端點,請在聊天中提供倉庫上下文。 如果你使用的是項目範圍端點,請確認工作區 ID 和項目 ID 是否正確。

認證失敗

請用你的 Microsoft 帳戶 再次登入。 確保你使用的是正確的租戶和目錄。

工具呼叫因權限錯誤而失敗

確認你擁有所需的 Fabric 工作區角色、項目權限和 SQL 權限。 伺服器不會繞過 Fabric 的安全防護。

代理程式無法列出結構或資料表

伺服器僅公開 executeSQL。 請代理使用SQL元資料查詢,而不是期待有獨立的結構發現工具。

範例:

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

查詢結果出乎意料

要求 Copilot 在執行前顯示產生的 T-SQL。 在批准工具呼叫前,請先檢視資料表名稱、連接、篩選、日期邏輯和聚合邏輯。