Power BI Consumption MCP 伺服器(預覽)

Power BI Consumption MCP 伺服器是一個遠端託管的端點,AI 代理透過自然語言與 Power BI 語意模型中的資料進行對話。 它建立在模型情境協定(MCP)之上,將你的提示轉換成 Power BI 操作,產生 DAX 查詢並執行,同時尊重你的權限和安全政策。

若要建立或更改語意模型,而非查詢,請參見 Power BI 撰寫 MCP 伺服器。

本文章說明如何:

  • 在 Visual Studio Code 中連接到遠端的 Power BI MCP 伺服器
  • 將 GitHub Copilot 連接到你的 Power BI 語意模型
  • 用測試查詢驗證連結

Important

在語意模型使用時,建議使用 Fabric IQ MCP 伺服器。 Fabric IQ 是主要的 MCP 伺服器,用於將 Power BI 語意模型與報告中可信賴的商業資料與上下文帶入 AI 用戶端。 本文介紹了早期的 Power BI MCP 消費端點,目前處於預覽階段。

先決條件

在 VS Code 中設定

遠端的 Power BI MCP 伺服器可於以下平台取得:

https://api.fabric.microsoft.com/v1/mcp/powerbi

設定伺服器最簡單的方法是使用一鍵安裝程式:

這個安裝程式會自動在你的 VS Code 設定中設定 MCP 伺服器。

手動安裝

若要手動設定伺服器,請將以下程式碼加入 MCP 設定檔:

{
    "servers": {
        "powerbi-remote": {
            "type": "http",
            "url": "https://api.fabric.microsoft.com/v1/mcp/powerbi"
        }
    }
}

了解更多:VS Code 中的 MCP 伺服器

測試你的 Power BI MCP 伺服器連線

設定完成後,請確認設定是否正常:

  1. 在 VS Code 中啟動 MCP 伺服器

    • 開啟 MCP 伺服器面板
    • 確保 Power BI MCP 伺服器顯示已連線
  2. 開啟 GitHub Copilot

    1. 在 VS Code 中啟動聊天視窗
    2. 啟用代理程式模式
  3. 請提供你的語意模型 ID

    1. 從 Power BI 服務取得你的語意模型 ID(參見 尋找你的語意模型 ID)
    2. 在對話中與 Copilot 分享該 ID
  4. 提出問題

    • 範例:「這個語意模型中有哪些表格?」
    • 範例:「展示銷售排名前十的產品」
  5. 授權該工具

    1. 當被提示時,允許 Copilot 使用 MCP 伺服器工具
    2. 如果需要,請用你的 Microsoft 憑證驗證
  6. 檢視回應

    • Copilot 會查詢你的模型並回傳結果

小提示

為了獲得最佳查詢結果,請透過加入 AI 指令與經過驗證的答案,準備你的語意模型。

故障排除:在 VS Code 中管理 MCP 伺服器

可用的 Power BI MCP 伺服器工具

遠端的 Power BI MCP 伺服器提供以下工具供 AI 代理呼叫:執行查詢、取得語意模型架構、取得報告元資料及產生查詢。 以下章節將介紹每種工具。

執行查詢工具

執行查詢工具會對 Power BI 語意模型執行 DAX 查詢,並將結果回傳給 AI 代理。

所需輸入:

  • 語意模型識別碼
  • DAX 查詢表達式

權限:

  • 你至少必須在語意模型上擁有建構權限
  • 查詢會在已認證使用者的情境中執行

安全性考慮:

另見:執行查詢 REST API

取得語意模型架構工具

取得語意模型架構工具可取得 Power BI 語意模型的完整元資料,包括表格、欄位、度量、關係,以及模型作者設定的任何 AI 優化元資料。 使用此工具將 DAX 查詢生成紮根於模型結構中,並呈現作者提供的指引,提升查詢準確度。

必填項目: 語意模型識別碼

包含哪些項目:

  • 表格、欄位、度量與關係
  • 資料型態與階層結構
  • Copilot 工具的元資料在設定後,能提供更多模型的上下文,幫助引導 Copilot 找到模型中的正確資料,並提升 Copilot 輸出的品質。

取得報表元資料工具

取得報告元資料工具可取得 Power BI 報告的高階結構,包括工作區資訊、語意模型細節、頁面、視覺資訊及篩選器。 報告揭示報告如何在實務中使用語意模型,並能釐清預期的上下文、關係及應指導 DAX 查詢產生的過濾邏輯。 使用此工具將 DAX 查詢生成建立在報告所使用的模型結構中,並呈現作者提供的指引,提升查詢準確度。

必填輸入: 報告 ID

包含哪些項目:

  • 報告中的頁數,不論隱藏狀態如何
  • 具有有效模型結構參考的視覺化,包括圖表、表格、矩陣、切片器與卡片。 該工具排除非資料視覺化的元素,如動作按鈕、形狀、圖片和矩形。
  • 當視覺效果參考這些欄位和量值時隱藏它們
  • 視覺綁定將欄位對應到視覺角色,如類別、值、圖例和工具提示
  • 每個頁面的文字框內容

限制:

  • 當報告的中繼資料超過支援的大小上限時,請求會失敗。

產生查詢工具

生成查詢工具使用 Power BI 中的 Copilot,從自然語言提示中建立優化的 DAX 查詢。 該工具使用與 Power BI Copilot 相同的 DAX 產生引擎,來建立符合最佳實務的查詢。

所需輸入:

  • 語意模型識別碼
  • 自然語言問題或提示
  • 代理程式判定的相關結構描述內容(資料表、資料行、量值)

Requirements:

備註

如果你不想消耗 Copilot 的容量,可以在 MCP 用戶端設定中關閉這個工具,並依賴用戶端的 LLM 直接產生 DAX。

找出你的語意模型 ID

要從 Power BI 服務取得語意模型 ID:

  1. 登入 Power BI
  2. 導覽到包含你語意模型的工作區
  3. 選擇語意模型以開啟其詳細頁面
  4. 從網址複製語意模型 ID

語意模型網址遵循以下格式:

https://app.powerbi.com/groups/{workspaceId}/datasets/{semanticModelId}

小提示

  • 將常用的型號 ID 儲存在代理人可以存取的地方,例如 semantic-model-ids.json 本地檔案或代理人指令檔。
  • 你也可以透過 Power BI REST API 以程式化方式取得語意模型 ID。

限制與考量

驗證和安全性

  • 列級安全(RLS):Power BI 在使用服務主體認證時不會強制執行 RLS。 當服務主體執行查詢時,它可以存取主體被授權存取的所有資料。 在向終端使用者揭露服務主體認證代理前,請仔細檢視安全影響。
  • 租戶設定: 管理員必須為您的組織啟用「使用者可以使用 Power BI 模型情境協定伺服器端點(預覽版)」。

查詢生成

  • 複雜 DAX: 高度複雜的計算或巢狀邏輯可能無法完美從自然語言提示中翻譯出來。
  • 模型優化: 當你 為 AI 準備資料時,查詢產生品質會大幅提升。

Performance

  • 模型設計影響: 查詢執行效能取決於語意模型設計、規模與最佳化。
  • 大型架構: 擁有數百個資料表或數千欄的模型,可能導致結構負載龐大。
  • 查詢複雜度: 複雜的 DAX 查詢產生與執行時間可能較長。

背景與對話

  • 上下文視窗限制: 你的 MCP 客戶端使用的 AI 模型限制了它在對話回合間能維持的上下文。
  • 無狀態查詢: 每個查詢獨立執行。 伺服器不會在請求之間維持查詢狀態。