/ 目录 / 演练场 / 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. 编写度量
    创建一个 DAX 度量 'YoY Revenue',返回本期收入减去上年同期收入,使用 Date[Date] 进行时间智能。✓ 已复制
    → DAX + 创建确认
  3. 验证
    在 2024 与 2025 上运行度量,并检查其中 3 行。✓ 已复制
    → 看起来正确的数字

结果: 一个经过验证的有效度量,不是猜测。

注意事项
  • 时间智能需要一个正确标记的日期表 — 首先验证 Date 表被标记为日期表
  • 模型计算在 DirectQuery 和 Import 之间有差异 — 注意你的存储模式;DirectQuery 对 DAX 有限制

自动记录现有 Power BI 模型

👤 继承 .pbix 的分析师 ⏱ ~25 min beginner

何时使用: 原作者已离职,模型有 40 个神秘的表。

步骤
  1. 导出结构
    导出模型:每个表的角色、每个度量的 DAX、每个关系。✓ 已复制
    → 完整的结构清单
  2. 编写文档说明
    为新分析师写一份单页的模型说明:它报告什么、主要表、关键度量。✓ 已复制
    → 人类可读的模型文档

结果: 有用的文档,无需自己阅读每个度量。

搭配使用: filesystem

重构度量以遵循命名和建模约定

👤 标准化 Power BI 实践的团队 ⏱ ~30 min intermediate

何时使用: 度量命名不一致(例如 'Total Sales' vs 'SumSales')。

步骤
  1. 找出违反规范的部分
    列出不遵循命名约定 '<Verb> <Subject> [<Modifier>]' 的度量。✓ 已复制
    → 违反规范的清单
  2. 安全重命名
    提议重命名;列出引用每个旧名称的任何视觉对象或计算表。✓ 已复制
    → 包含依赖的重命名计划

结果: 一个一致的度量目录,在点击应用前就捕获了破坏的引用。

组合

与其他 MCP 搭配,撬动十倍杠杆

engine-public + filesystem

将模型文档导出为 Markdown 文件,放在 .pbix 旁边

记录模型并保存为 ~/Docs/PBI/sales-model.md,在 sales.pbix 旁边。✓ 已复制
engine-public + postgres

用原始 Postgres 查询交叉检查 PBI 度量

PBI 说 Q1 收入是 $4.2M。在源 Postgres DB 上运行相同查询,告诉我是否有差异。✓ 已复制

工具

此 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

故障排查

常见错误与修复

找不到 Power BI 实例

确保 Power BI Desktop 正在运行并打开了报告;MCP 连接到它暴露的本地端口。

验证: Check Task Manager for msmdsrv process
DAX 错误:找不到列

表/列引用区分大小写,必须完全匹配。使用模型结构导出获得正确的名称。

验证: get_model_structure
关闭 PBI 后更改不持久

PBI Desktop 不自动保存——在每批更改后按 Ctrl+S。

验证: Title bar shows no asterisk

替代方案

mcp-engine-public 对比其他方案

替代方案何时用它替代权衡
Tabular Editor 3 (脚本)你想要一个完整的 PBI/SSAS 模型脚本环境付费;无 MCP 表面
DAX Studio你只需要一个 DAX 查询工具无写入操作;无 AI 层

更多

资源

📖 阅读 GitHub 上的官方 README

🐙 查看未解决的 issue

🔍 浏览全部 400+ MCP 服务器和 Skills