✨ Power BI建模MCP服务器
这 Power BI建模MCP服务器 实现 MCP规范 在AI代理和Power BI语义模型之间创建无缝连接。此项目处于公开预览阶段,在我们正式发布之前,实施可能会发生重大变化。
这 Power BI建模MCP服务器 通过以下方式为您的AI代理带来Power BI语义建模功能 本地MCP服务器这允许开发人员和AI应用程序以全新的方式与Power BI模型进行交互,从使用自然语言执行建模更改到自主的AI代理开发工作流程。
💡 你能做什么?
- 🔄 用自然语言构建和修改语义模型 -告诉你的AI助手你需要什么,它就会使用这个MCP服务器来创建、更新和管理表、列、度量值、关系等。..跨Power BI桌面和结构语义模型。
- ⚡ 大规模批量运营 -人工智能应用程序可以同时对数百个对象执行批量建模操作——批量重命名、批量重构、模型翻译或模型安全规则——并提供事务支持和错误处理,将数小时的重复工作变成几秒钟。
- ✅ 应用建模最佳实践 -根据您的模型轻松评估和实施建模最佳实践。
- 🤖 代理开发工作流程 -支持与 TMDL和Power BI项目文件,使AI代理能够在语义模型代码库中自主规划、创建和执行复杂的建模任务。
- 🔍 查询并验证DAX -AI助手可以根据您的模型执行和验证DAX查询,帮助您测试度量、排除计算故障和探索数据
📹 观看视频 端到端演示.
\[!警告\] - 将AI Agent连接到语义模型时请小心。基础LLM可能会产生意外或不准确的结果,这可能会导致意外的变化。 在执行任何操作之前,始终创建模型的备份。 - LLM可能会无意中在日志或响应中暴露语义模型中的敏感信息,包括数据或元数据。 分享聊天会话时要小心。 看 数据隐私和LLM提供商. - 这 Power BI建模MCP服务器 只能执行建模操作。它不能修改其他类型的Power BI元数据,如报告页面或语义模型元素,如图表布局。 - 您选择的AI模型直接影响您收到的回复的质量和相关性。为了获得最佳结果,请选择深度推理模型,例如GPT-5或Claude Sonnet 4.5。有关可用型号的更多详细信息,请参阅 .
📦 安装
安装此MCP服务器的最简单方法是使用 Visual Studio代码扩展 扩展与 GitHub Copilot。但是,您也可以在任何其他MCP客户端中手动安装它。
Visual Studio代码(推荐)
- 安装 和 扩展。
- 打开 并确认 powerbi建模mcp 可用并已选择。
手动安装
此MCP服务器还可以跨其他IDE、CLI和MCP客户端进行配置:
- 使用以下URL下载所需版本的VSIX包:
- 模板: https://marketplace.visualstudio.com/_apis/public/gallery/publishers/analysis-services/vsextensions/powerbi-modeling-mcp/[version]/vspackage?targetPlatform=[platform] - 示例(版本 0.1.9,平台 win32-x64): https://marketplace.visualstudio.com/_apis/public/gallery/publishers/analysis-services/vsextensions/powerbi-modeling-mcp/0.1.9/vspackage?targetPlatform=win32-x64
- 重命名下载的
.visx文件到.zip - 将内容解压缩到您选择的文件夹中,例如:
C:\MCPServers\PowerBIModelingMCP - 跑
\extension\server\powerbi-modeling-mcp.exe - 从控制台复制MCP JSON注册,并将其注册到首选的MCP客户端工具中。
应该在大多数MCP客户端中工作的配置示例:
{
"servers": {
"powerbi-modeling-mcp": {
"type": "stdio",
"command": "C:\\MCPServers\\PowerBIModelingMCP\\extension\\server\\powerbi-modeling-mcp.exe",
"args": [
"--start"
],
"env": {}
}
}
}🚀 开始
首先,您必须连接到Power BI语义模型,它可以驻留在Power BI桌面、结构工作区或Power BI项目(PBIP)文件中。
- 对于Power BI桌面:
Connect to '[File Name]' in Power BI Desktop- 对于结构工作区中的语义模型:
Connect to semantic model '[Semantic Model Name]' in Fabric Workspace '[Workspace Name]'- 对于Power BI项目文件:
Open semantic model from PBIP folder '[Path to the definition/ TMDL folder in the PBIP]'一旦建立了连接,您就可以使用自然语言要求AI代理进行任何建模更改。要开始,请尝试以下场景之一。
示例场景
| 场景 | 提示示例 |
|---|---|
| 分析命名约定和批量重命名。 | Analyze my model’s naming conventions and suggest renames to ensure consistency. |
Analyze the naming convention of the ‘Sales’ table and apply the same pattern across the entire model. | |
| 为文档设置模型中的描述。 | Add descriptions to all measures, columns, and tables to clearly explain their purpose and explain the logic behind the DAX code in simple, understandable terms. |
| 翻译你的语义模型。 | Generate a French translation for my model including tables, columns and measures. |
| 将度量值重构为计算组或UDF。 | Refactor measures 'Sales Amount 12M Avg' and 'Sales Amount 6M Avg' into a calculation group and include new variants: 24M and 3M. |
| 重构查询以使用语义模型参数。 | Analyze the Power Query code for all tables, identify the data source configuration, and create semantic model parameters to enable easy switching of the data source location. |
| 针对多个模型的DAX基准查询。 | Connect to semantic model 'V1' and 'V2. And benchmark the following DAX query against both models. [DAX Query] |
| 记录你的语义模型 | Generate a Markdown document (.md) that provides complete, professional documentation for a Power BI Semantic Model. Use a simple mermaid diagram to ilustrate the table relationships; Document each measure including the DAX code and a description of the business logic using business friendly names; Document row level filters; Document the data sources by analyzing the Power Query code. |
\[!提示\] 上述场景仅为示例。此MCP服务器为您的代理配备了用于任何类型模型更改的建模工具,并且通过正确的提示和上下文,您几乎可以自动化任何建模任务。
确认提示
此MCP服务器支持 激发MCP方案,以下操作需要用户批准:
- 在对语义模型进行第一次修改之前。
- 在对语义模型执行第一个查询之前。
\[!提示\] 您可以使用以下命令配置MCP跳过这些确认 --skipconfirmation 选项。🛠️ 可用工具
| 工具名称 | 它的作用 |
|---|---|
| 连接操作 | 连接到Power BI桌面或结构工作区 |
| 数据库操作 | 管理语义模型-连接、创建、更新、列出数据库、导入/导出TMDL文件夹、部署到结构 |
| 交易操作 | 控制数据库事务(开始、提交、回滚、获取状态) |
| 模型操作 | 处理整个模型(获取、创建、更新、刷新、获取统计数据、重命名) |
| 表操作 | 管理表(创建、更新、删除、获取、列出、刷新、重命名) |
| 列操作 | 管理单个表列(创建、更新、删除、获取、列出、重命名) |
| 测量操作 | 管理单个DAX指标(创建、更新、删除、获取、列出、重命名、在表之间移动) |
| 关系_操作 | 处理表之间的关系(创建、更新、删除、激活/停用、查找) |
| dax_query_操作 | 对模型执行、验证和生成DAX查询 |
| 跟踪操作 | 对语义模型执行跟踪操作,以捕获和分析Analysis Services事件。 |
| 分区操作 | 管理表分区(创建、更新、删除、刷新特定分区) |
| 用户层次结构操作 | 使用用户定义的层次结构(创建、更新、删除级别、重新排序) |
| 计算_分组操作 | 管理时间智能和其他计算的计算组和计算项 |
| security_role_operations | 配置安全角色和行级安全(RLS)表权限 |
| 透视操作 | 管理视角及其成员(针对不同受众的模型过滤视图) |
| named_expression_operations | 使用命名表达式和Power Query参数(创建、更新、删除、获取、列出、重命名) |
| 功能操作 | 管理单个DAX用户定义函数 |
| 文化运营 | 管理多语言支持的区域性(创建、更新、删除、获取有效的区域性名称) |
| 对象翻译操作 | 处理跨不同文化/语言的模型对象的翻译 |
| 日历操作 | 管理日历对象和时间智能列组 |
| query_group_operations | 组织和管理Power query表达式的查询组 |
\[!注意\] - 此项目处于公开预览阶段,在我们正式发布之前,工具可能会发生重大变化。 - 你可以要求人工智能解释可用的工具,并展示如何使用它们的示例。例如: Tell me with some examples what I can do with powerbi-modeling-mcp▶️ 可用提示
此MCP服务器包含内置提示,可帮助您入门。在 Visual Studio Code,通过键入以下命令访问可用的MCP提示 / 聊天中的命令。
| 提示名称 | 它的作用 |
|---|---|
| CreateDAXQuery | 根据语义模型和自然语言问题创建DAX查询。附上 dax_query_instructions_and_examples 资源,为LLM提供DAX语言上下文。 |
| RunDAXQueryWithMetrics | 执行带有清除缓存选项的DAX查询,并仅返回执行指标。 |
| 分析AXQuery | 通过在清除缓存的情况下运行DAX查询并检查潜在问题的执行指标来分析DAX查询性能。 |
| ConnectToPowerBIDesktop | 搜索与文件名匹配的Power BI Desktop Analysis Services实例并连接到该实例 |
| ConnectToFabric | 连接到结构工作区中的语义模型。 |
| 连接到PBIP | 从Power BI项目文件中的语义模型加载TMDL定义。附上 powerbi_project_instructions 资源,为LLM提供Power BI项目(PBIP)上下文。 |
\[!注意\] 一些提示还附加了为LLM提供重要背景的资源。
⚙️ 设置
MCP服务器支持多种命令行选项和环境变量:
| 命令行选项 | 默认值 | 说明 |
|---|---|---|
--start | 启动MCP服务器;这是向MCP客户端注册服务器所必需的。 | |
--readwrite | 是 | 默认情况下启用,在对语义模型应用编辑之前,启用带有确认提示的写入操作(每个数据库一次)。 |
--readonly | 安全模式,防止对语义模型进行任何写入操作 | |
--skipconfirmation | 自动批准所有写入操作,无需确认提示。只有当您对正在执行的操作有信心并且对语义模型有适当的备份时,才使用跳过确认模式。 | |
--compatibility | PowerBI | 默认情况下,它针对Power BI语义模型进行了优化。将设置更改为 Full 如果要针对Analysis Services数据库运行此MCP服务器。 |
| 环境变量名称 | 默认值 | 描述 |
|---|---|---|
PBI_MODELING_MCP_ACCESS_TOKEN | 配置后,MCP服务器在连接到结构工作区中的语义模型时使用指定的访问令牌,而不是提示进行身份验证。这在应用程序自己处理身份验证的场景中很有用。 | |
对于Visual Studio代码,您可以在中设置命令行选项和环境变量 用户设置:
打开 Visual Studio Code 用户设置 并搜索 @ext:Microsoft.powerbi-modeling-mcp.
用于手动安装,您可以使用配置命令行选项 args 使用属性和设置环境变量 env MCP服务器注册JSON中的属性:
{
"servers": {
"powerbi-modeling-mcp": {
"command": "[Path To MCP Server folder]\\powerbi-modeling-mcp.exe",
"args": [
"--start"
, "--skipconfirmation"
],
"env": {
"PBI_MODELING_MCP_ACCESS_TOKEN": "[ACCESS_TOKEN]"
},
"type": "stdio"
}
}
}💬 反馈和支持
- 检查 故障排除指南 诊断和解决常见问题。
- 我们正在公开建造这个。非常感谢您的反馈,这将有助于我们塑造Power BI建模MCP服务器的未来。
- 👉 打开一个问题 在公共GitHub存储库中-我们很乐意收到您的来信!
注意事项和限制
- 此MCP服务器遵循与外部工具执行的建模操作相同的规则和行为。请参阅 文档 了解更多信息。
数据隐私和LLM提供商
MCP服务器运行 本地 并使用您现有的凭据和权限连接到您的语义模型——它不会绕过任何Power BI安全控制。然而,MCP服务器检索到的数据(元数据、模式或查询结果)被发送到MCP客户端(例如,VS代码),然后可以作为对话上下文的一部分转发给配置的LLM提供者。
简言之: 人工智能辅助不会扩展数据访问,但它可能会将访问的数据传输给LLM提供商。 治理工作应侧重于您组织的AI数据处理政策和LLM提供商的服务条款,而不仅仅是Power BI安全控制。
如果您使用GitHub Copilot,请参阅 有关如何与外部AI模型提供商共享数据的详细信息。
安全
您的凭据始终通过官方安全处理 Azure身份SDK - 我们从不直接存储或管理代币.
MCP作为一种现象是非常新颖和前沿的。与所有新技术标准一样,考虑进行安全审查,以确保与MCP服务器集成的任何系统都符合您的系统应遵守的所有法规和标准。这不仅包括Power BI建模MCP服务器,还包括您选择实施到模型提供商的任何MCP客户端/代理。
您应该遵循Microsoft针对MCP服务器的安全指南,包括启用Entra ID身份验证、安全令牌管理和网络隔离。参见 Microsoft安全文档了解详情。
权限和风险
MCP客户端可以根据用户的结构RBAC权限调用操作。自主或配置错误的客户端可能会执行破坏性操作。在部署之前,您应该审查和应用最低权限RBAC角色并实施保护措施。某些保护措施,如防止破坏性操作的标志,在MCP规范中没有标准化,可能不会得到所有客户端的支持。
数据收集
该软件可能会收集有关您和您使用该软件的信息,并将其发送给Microsoft。Microsoft可能会使用此信息提供服务并改进我们的产品和服务。软件中还有一些功能,可以让您和Microsoft从应用程序的用户那里收集数据。如果您使用这些功能,您必须遵守适用的法律,包括向您的应用程序用户提供适当的通知以及Microsoft的 隐私声明。您可以在帮助文档和我们的隐私声明中了解有关数据收集和使用的更多信息。您使用该软件即表示您同意这些做法。
合规责任
此MCP服务器可以安装、使用并与第三方客户端和服务共享数据,例如在Microsoft合规边界之外运行的第三方LLM。您有责任确保任何集成都符合适用的组织、监管和合同要求。
第三方组件
此MCP服务器可能使用或依赖于第三方组件。您有责任审查并遵守任何第三方组件的许可证和安全状况。
出口管制
使用此软件必须遵守所有适用的出口法律法规,包括美国出口管理条例和当地司法管辖区的要求。
无担保/责任限制
本软件按“原样”提供,不附带任何明示或暗示的保证或条件。Microsoft不对因使用、误用或错误配置此软件而造成的任何损害负责。
行为准则
该项目采用了 微软开源行为准则。有关更多信息,请参阅 行为准则常见问题 或联系 open@microsoft.com 如有任何其他问题或意见。
