/ 目錄 / 演練場 / mcp-engine-public
● 社群 maxanatsko ⚡ 即開即用

mcp-engine-public

作者 maxanatsko · maxanatsko/mcp-engine-public

用對話方式操作你的 Power BI 模型——讀取結構、執行 DAX、建立量值、管理關聯——全部在本機完成,無需連線雲端。

MCP Engine(mcp-engine-public)由 Maxim Anatsko 開發,可連接本機的 Power BI Desktop 執行個體。透過自然語言讀取模型結構、執行 DAX 查詢、建立與修改量值,以及管理資料表間的關聯。可在本機執行(Windows/macOS),完全不傳送遙測資料。

為什麼要用

核心特性

即時演示

實際使用效果

engine-public.replay ▶ 就緒
0/0

安裝

選擇你的客戶端

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "engine-public": {
      "command": "TODO",
      "args": [
        "See README: https://github.com/maxanatsko/mcp-engine-public"
      ],
      "_inferred": true
    }
  }
}

開啟 Claude Desktop → Settings → Developer → Edit Config。儲存後重啟應用。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "engine-public": {
      "command": "TODO",
      "args": [
        "See README: https://github.com/maxanatsko/mcp-engine-public"
      ],
      "_inferred": true
    }
  }
}

Cursor 使用與 Claude Desktop 相同的 mcpServers 格式。專案級設定優先於全域。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "engine-public": {
      "command": "TODO",
      "args": [
        "See README: https://github.com/maxanatsko/mcp-engine-public"
      ],
      "_inferred": true
    }
  }
}

點擊 Cline 側欄中的 MCP Servers 圖示,然後選 "Edit Configuration"。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "engine-public": {
      "command": "TODO",
      "args": [
        "See README: https://github.com/maxanatsko/mcp-engine-public"
      ],
      "_inferred": true
    }
  }
}

格式與 Claude Desktop 相同。重啟 Windsurf 生效。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "engine-public",
      "command": "TODO",
      "args": [
        "See README: https://github.com/maxanatsko/mcp-engine-public"
      ]
    }
  ]
}

Continue 使用伺服器物件陣列,而非映射。

~/.config/zed/settings.json
{
  "context_servers": {
    "engine-public": {
      "command": {
        "path": "TODO",
        "args": [
          "See README: https://github.com/maxanatsko/mcp-engine-public"
        ]
      }
    }
  }
}

加入 context_servers。Zed 儲存後熱重載。

claude mcp add engine-public -- TODO 'See README: https://github.com/maxanatsko/mcp-engine-public'

一行命令搞定。用 claude mcp list 驗證,claude mcp remove 移除。

使用場景

實戰用法: mcp-engine-public

不用背語法也能撰寫 DAX

👤 剛接觸 DAX 的 Power BI 分析師 ⏱ ~15 min intermediate

何時使用: 你知道自己想要什麼結果,但不想花一個小時除錯 CALCULATE。

前置條件
  • 已開啟模型的 Power BI Desktop — 啟動 Power BI Desktop 並開啟你的 .pbix 檔案
  • MCP Engine 已安裝並連線 — 參考 mcpengine.dev——安裝程式不到 5 分鐘
步驟
  1. 了解模型全貌
    列出已開啟模型中的所有資料表與主要量值。✓ 已複製
    → 模型結構圖
  2. 撰寫量值
    建立一個名為 'YoY Revenue' 的 DAX 量值,回傳當期營收減去上一年同期營收,使用 Date[Date] 進行時間智慧計算。✓ 已複製
    → DAX 程式碼與建立確認訊息
  3. 驗證結果
    對 2024 年與 2025 年執行該量值,並抽查 3 筆資料。✓ 已複製
    → 看起來正確的數字

結果: 取得一個經過驗證、實際可用的量值,而非靠猜測的結果。

注意事項
  • 時間智慧需要正確標記的日期資料表 — 先確認日期資料表已被標記為日期資料表
  • DirectQuery 與 Import 模式的模型計算方式不同 — 留意你的儲存模式;DirectQuery 對 DAX 有額外限制

自動為現有 Power BI 模型產生文件

👤 接手 .pbix 檔案的分析師 ⏱ ~25 min beginner

何時使用: 原始作者已離職,而這個模型有 40 張神秘的資料表。

步驟
  1. 匯出結構
    匯出模型完整內容:每張資料表的用途、每個量值的 DAX 程式碼、每條關聯。✓ 已複製
    → 完整的結構清單
  2. 撰寫說明文件
    為新進分析師撰寫一頁說明:這個模型報告什麼、主要資料表有哪些、關鍵量值是什麼。✓ 已複製
    → 可供人閱讀的模型說明文件

結果: 不必自己閱讀每個量值,就能取得實用的說明文件。

搭配使用: filesystem

重構量值以符合命名與建模規範

👤 正在統一 Power BI 規範的團隊 ⏱ ~30 min intermediate

何時使用: 量值命名不一致(例如:'Total Sales' 與 'SumSales' 並存)。

步驟
  1. 找出違規項目
    列出不符合命名規範「'<動詞> <主詞> [<修飾語>]'」的量值。✓ 已複製
    → 違規清單
  2. 安全地重新命名
    提出重新命名方案,並列出參照每個舊名稱的視覺效果或計算資料表。✓ 已複製
    → 含相依性分析的重新命名計畫

結果: 取得一份命名一致的量值目錄,並在點選套用前就發現已損壞的參照。

組合

與其他 MCP 搭配,撬動十倍槓桿

engine-public + filesystem

將模型說明文件匯出為 Markdown 檔案,存放於 .pbix 旁邊

將模型說明文件儲存為 ~/Docs/PBI/sales-model.md,放在 sales.pbix 旁邊。✓ 已複製
engine-public + postgres

比對 PBI 量值與原始 Postgres 查詢結果是否一致

PBI 顯示 Q1 營收為 $4.2M。對來源 Postgres 資料庫執行相同查詢,告訴我是否有差異。✓ 已複製

工具

此 MCP 暴露的能力

工具輸入參數何時呼叫成本
get_model_structure (none) 工作階段開始時呼叫 free (local)
run_dax query: str 執行臨時 DAX 查詢時呼叫 free (local)
create_measure table, name, expression 新增量值時呼叫 free (write)
update_measure table, name, expression 修改現有量值時呼叫 free (write)
manage_relationship from_table, from_col, to_table, to_col, action: create|delete|update 變更結構描述時呼叫 free (write)

成本與限制

運行它的成本

API 配額
無——僅限本機
每次呼叫 Token 數
完整模型匯出可能很大;請針對特定內容進行查詢
費用
專有授權,允許個人與商業使用(詳見 mcpengine.dev/license)
提示
對複雜報告,請指定特定資料表查詢,而非一次匯出整個模型。

安全

權限、密鑰、影響範圍

憑證儲存: 不需要憑證——直接使用 PBI Desktop 的工作階段
資料出站: 官方聲稱零遙測;所有資料均在本機 PBI Desktop 內處理

故障排查

常見錯誤與修復

No Power BI instance found

確認 Power BI Desktop 正在執行且已開啟報告;MCP 會連接到它所暴露的本機埠。

驗證: Check Task Manager for msmdsrv process
DAX error: Column not found

資料表與欄位名稱的參照區分大小寫,必須完全符合。使用模型結構匯出功能取得正確名稱。

驗證: get_model_structure
Changes don't persist after closing PBI

PBI Desktop 不會自動儲存——每批次變更後請按 Ctrl+S。

驗證: Title bar shows no asterisk

替代方案

mcp-engine-public 對比其他方案

替代方案何時用它替代權衡
Tabular Editor 3 (scripting)你需要一個完整的 PBI/SSAS 模型腳本編輯環境付費軟體;不提供 MCP 介面
DAX Studio你只需要 DAX 查詢工具不支援寫入操作;無 AI 功能

更多

資源

📖 閱讀 GitHub 上的官方 README

🐙 查看未解決的 issue

🔍 瀏覽全部 400+ MCP 伺服器和 Skills