Power BI Authoring MCP Server (Local)

com.microsoft由 microsoft.com 发布v1.0.1更新于 Nov 7, 2026

The Power BI Authoring MCP server lets an AI agent create and change Power BI semantic models.

发布方自己的服务:Microsoft Learn MCP

已验证STDIO仅桌面数据库数据与分析

概览

AI 生成的概览

微软提供的本地 MCP 服务器,让 AI 助手创建、修改和查询 Power BI 语义模型,支持 Desktop、Fabric 工作区和 PBIP 项目。

可以做什么
  • 连接 Power BI Desktop、Fabric 工作区或 PBIP/TMDL 文件夹,管理模型与数据库,包括导入导出和部署。
  • 创建、更新、删除和重命名表、列、度量值、关系、分区、层次结构、计算组、透视、区域性和翻译。
  • 执行并验证 DAX 查询、进行基准测试,并捕获 Analysis Services 跟踪事件。
  • 配置安全角色和行级安全性,并用开始/提交/回滚事务包裹修改。
  • 提供内置提示词,用于生成 DAX 查询、分析性能以及连接 Desktop、Fabric 或 PBIP。
适用场景
适合用自然语言让智能体完成 Power BI 建模工作,例如批量重命名、编写文档、翻译、把度量值重构为计算组或测试 DAX。面向在 Power BI Desktop、Fabric 工作区或 Power BI 项目文件中工作、需要修改模型而非报表的开发者。
运行要求
以 stdio 本地运行;可通过 VS Code 扩展配合 GitHub Copilot 安装,或用 Node.js 通过 npx 从 npm 包安装,也可手动下载可执行文件。需要对语义模型具有写入权限,并通过 XMLA 端点连接。必须先接受 EULA,可通过 accept_eula 工具、--accepteula 参数或 PBI_MODELING_MCP_ACCEPT_EULA 完成。使用服务主体认证时需要 AZURE_CLIENT_ID、AZURE_TENANT_ID,以及 AZURE_CLIENT_SECRET 或证书路径和密码。
安装前请注意
服务器可写入和删除模型对象;README 建议先备份模型,并提供 --readonly 安全模式。LLM 输出可能不准确,模型元数据或查询结果会发送给 MCP 客户端,并可能转发给所配置的 LLM 提供商。服务主体凭据如 AZURE_CLIENT_SECRET 或证书密码从环境变量读取。访问令牌会发送到 PBI_MODELING_MCP_ALLOWED_CONNECTION_HOSTS 中列出的主机,因此只应添加可信端点。该软件可能收集使用数据并发送给微软。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Power BI Authoring MCP Server (Local),将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

✨ Power BI Authoring MCP Server

[!IMPORTANT] When authoring semantic models in a Fabric workspace, use the remote (hosted) Power BI Authoring MCP server. It requires no local installation, and Microsoft manages updates. See Power BI Authoring MCP server to compare the remote and local options.

The Power BI Authoring MCP Server implements the MCP specification to create a seamless connection between AI agents and Power BI semantic models.

The Power BI Authoring MCP Server brings Power BI semantic modeling capabilities to your AI agents through a local MCP server. This allows developers and AI applications to interact with Power BI models in entirely new ways, from using natural language to execute modeling changes to autonomous AI agentic development workflows.

[powerbi-modeling-mcp-diagram]

💡 What can you do?

  • 🔄 Build and Modify Semantic Models with Natural Language - Tell your AI assistant what you need, and it uses this MCP server to create, update, and manage tables, columns, measures, relationships, and more... across Power BI Desktop and Fabric semantic models.

  • ⚡ Bulk Operations at Scale - AI applications can execute batch modeling operations on hundreds of objects simultaneously — bulk renaming, bulk refactoring, model translations, or model security rules - with transaction support and error handling, turning hours of repetitive work into seconds.

  • ✅ Apply modeling best practices - Easily evaluate and implement modeling best practices against your model.

  • 🤖 Agentic Development Workflows - Supports working with TMDL and Power BI Project files, enabling AI agents to autonomously plan, create, and execute complex modeling tasks across your semantic model codebase.

  • 🔍 Query and Validate DAX - AI assistants can execute and validate DAX queries against your model, helping you test measures, troubleshoot calculations, and explore your data

📹 Watch the video for an end-to-end demo.

[!WARNING]

  • Use caution when connecting an AI Agent to a semantic model. The underlying LLM may produce unexpected or inaccurate results, which could lead to unintended changes. Always create a backup of your model before performing any operations.
  • LLMs might unintentionally expose sensitive information from the semantic model, including data or metadata, in logs or responses. Exercise caution when sharing chat sessions. See Data Privacy and LLM Providers.
  • The Power BI Authoring MCP server can only execute modeling operations. It cannot modify other types of Power BI metadata, such as report pages or semantic model elements like diagram layouts.
  • The AI model you select directly influences the quality and relevance of the responses you receive. For the best results, choose a deep-reasoning model such as GPT-5 or Claude Sonnet 4.5. You can find more details about available models in the GitHub Copilot AI model comparison.

📦 Installation

The easiest way to install this MCP Server is by using the Visual Studio Code extension extension together with GitHub Copilot. However, you can also manually install it in any other MCP client.

Visual Studio Code (Recommended)

  1. Install Visual Studio Code.

  2. Install the GitHub Copilot Chat extension.

  3. Install the Power BI Authoring MCP Visual Studio Code extension.

    [vs code install]

  4. Open GitHub Copilot chat and confirm the powerbi-modeling-mcp is available and selected.

    [vscode-mcp-tools]

[!NOTE] If you do not see powerbi-modeling-mcp in the available tool list, verify that the MCP servers in Copilot option is enabled in Copilot settings on GitHub.com. For enterprise accounts, this option is disabled by default and must be enabled by an administrator.

[mcp-servers-in-copilot-enable]

Manual

This MCP Server can also be configured across other IDEs, CLIs, and MCP clients.

Node Package Executor (NPX) (requires Node.js)

Add the JSON configuration to your MCP client. Node will automatically download the MCP server from the @microsoft/powerbi-modeling-mcp npm package.

json
{	"powerbi-authoring-local": {			"type": "stdio",			"command": "npx",			"args": [				"-y",				"@microsoft/powerbi-modeling-mcp@latest",				"--start"							]		}	}
Accept the EULA

Before you can use the npm package, you must review and accept the Power BI Authoring MCP Server EULA. The MCP server blocks all other tool calls until you accept it.

In an interactive session, your agent can call the accept_eula tool on your behalf after you explicitly authorize it. The server saves the acceptance in a local configuration on your machine, so you are not prompted again.

For unattended execution, accept the EULA through either the command-line argument or environment variable:

  • Add --accepteula to the server's args array.
  • Set PBI_MODELING_MCP_ACCEPT_EULA to true in the server's environment.

Only use these options after you have reviewed and agreed to the EULA.

Manual download

  1. Download the VSIX package for the version you want using the URL below:
    • Template: https://marketplace.visualstudio.com/_apis/public/gallery/publishers/analysis-services/vsextensions/powerbi-modeling-mcp/[version]/vspackage?targetPlatform=[platform]
    • Example (version 0.1.9, platform win32-x64): https://marketplace.visualstudio.com/_apis/public/gallery/publishers/analysis-services/vsextensions/powerbi-modeling-mcp/0.1.9/vspackage?targetPlatform=win32-x64
  2. Rename the downloaded .visx file to .zip
  3. Unzip the contents to a folder of your choice, for example: C:\MCPServers\PowerBIAuthoringMCP
  4. Run \extension\server\powerbi-modeling-mcp.exe
  5. Copy the MCP JSON registration from the console and register it in your preferred MCP client tool.

Example of config that should work in most MCP clients:

json
{	"powerbi-authoring-local": {		"type": "stdio",		"command": "C:\\MCPServers\\PowerBIAuthoringMCP\\extension\\server\\powerbi-modeling-mcp.exe",		"args": [			"--start"                		],		"env": {}				}	}

🚀 Get started

First, you must connect to a Power BI semantic model, which can reside in Power BI Desktop, Fabric workspace or in Power BI Project (PBIP) files.

  • For Power BI Desktop:

    Connect to '[File Name]' in Power BI Desktop
  • For Semantic Model in Fabric Workspace:

    Connect to semantic model '[Semantic Model Name]' in Fabric Workspace '[Workspace Name]'
  • For Power BI Project files:

    Open semantic model from PBIP folder '[Path to the definition/ TMDL folder in the PBIP]'

Once the connection is established, you can use natural language to ask the AI agent to make any modeling changes. To get started, try one of the following scenarios.

Example scenarios

ScenarioPrompt examples
Analyze naming convention and bulk rename.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.
Set descriptions across your model for documentation.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.
Translate your semantic model.Generate a French translation for my model including tables, columns and measures.
Refactor measures into Calculation Groups or UDF.Refactor measures 'Sales Amount 12M Avg' and 'Sales Amount 6M Avg' into a calculation group and include new variants: 24M and 3M.
Refactor your queries to use semantic model parameters.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.
Benchmark DAX queries against multiple models.Connect to semantic model 'V1' and 'V2. And benchmark the following DAX query against both models. [DAX Query]
Document your semantic modelGenerate 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.

[!TIP] The scenarios above are just examples. This MCP server equips your agents with modeling tools for any type of model change, and with the right prompt and context, you can automate virtually any modeling task.

🛠️ Available tools

Tool NameWhat It Does
connection_operationsConnect to Power BI Desktop or Fabric workspaces
database_operationsManage semantic models - connect, create, update, list databases, import/export TMDL folders, deploy to Fabric
transaction_operationsControl database transactions (begin, commit, rollback, get status)
model_operationsWork with the overall model (get, create, update, refresh, get stats, rename)
table_operationsManage tables (create, update, delete, get, list, refresh, rename)
column_operationsManage individual table columns (create, update, delete, get, list, rename)
measure_operationsManage individual DAX measures (create, update, delete, get, list, rename, move between tables)
relationship_operationsHandle relationships between tables (create, update, delete, activate/deactivate, find)
dax_query_operationsExecute and validate DAX queries against the model
trace_operationsPerform trace operations on semantic model to capture and analyze Analysis Services events.
partition_operationsManage table partitions (create, update, delete, refresh specific partitions)
user_hierarchy_operationsWork with user-defined hierarchies (create, update, delete levels, reorder)
calculation_group_operationsManage calculation groups and calculation items for time intelligence and other calculations
security_role_operationsConfigure security roles and row-level security (RLS) table permissions
perspective_operationsManage perspectives and their members (filtered views of the model for different audiences)
named_expression_operationsWork with named expressions and Power Query parameters (create, update, delete, get, list, rename)
function_operationsManage individual DAX user-defined functions
culture_operationsManage cultures for multi-language support (create, update, delete, get valid culture names)
object_translation_operationsHandle translations for model objects across different cultures/languages
calendar_operationsManage calendar objects and time intelligence column groups
query_group_operationsOrganize and manage query groups for Power Query expressions

[!NOTE]

  • You can ask AI to explain what tools are available and show examples of how to use them. For example: Tell me with some examples what I can do with the Power BI Authoring MCP server

▶️ Available prompts

This MCP server includes built-in prompts to help you get started. In Visual Studio Code, access the available MCP prompts by typing the / command in the chat.

[vscode-mcp-prompts]

Prompt NameWhat It Does
CreateDAXQueryCreates a DAX query from your semantic model and natural language question. Attaches the dax_query_instructions_and_examples resource to provide the LLM with DAX language context.
RunDAXQueryWithMetricsExecutes the DAX query with option to clear the cache and return only the execution metrics.
AnalyzeDAXQueryAnalyzes DAX query performance by running it with a cleared cache and reviewing execution metrics for potential issues.
ConnectToPowerBIDesktopSearches for the Power BI Desktop Analysis Services instance that matches the file name and connects to it.
ConnectToFabricConnects to a semantic model in a Fabric Workspace.
ConnectToPBIPLoads the TMDL definition from the semantic model in the Power BI Project files. Attaches the powerbi_project_instructions resource to provide the LLM with Power BI Project (PBIP) context.

[!NOTE] Some prompts also attach resources that provide important context for the LLM.

⚙️ Settings

The MCP server supports several command line options and environment variables:

Command line optionDefaultDescription
--startStarts the MCP server; necessary for server registration with MCP client.
--readwriteYesEnabled by default, enables write operations with confirmation prompt before applying an edit to your semantic model (once per database).
--readonlySafe mode, prevents any write operations to your semantic model
--compatibilityPowerBIBy default, it is optimized for Power BI semantic models. Change the setting to Full if you want to run this MCP server against Analysis Services databases.
--authmodeinteractiveSet authentication mode: serviceprincipal or interactive.
--accepteulaAccepts the EULA for unattended execution.
Environment variable nameDefaultDescription
AZURE_CLIENT_IDThe application (client) ID of the Microsoft Entra service principal. Required when --authmode=serviceprincipal.
AZURE_TENANT_IDThe Microsoft Entra tenant (directory) ID. Required when --authmode=serviceprincipal or force a specific tenant with interactive authentication.
AZURE_CLIENT_SECRETThe client secret for the service principal. Required when --authmode=serviceprincipal and using secret-based authentication.
AZURE_CLIENT_CERTIFICATE_PATHPath to a PFX/PEM certificate file for the service principal. Required when --authmode=serviceprincipal and using certificate-based authentication instead of a client secret.
AZURE_CLIENT_CERTIFICATE_PASSWORDPassword for the certificate file, if the certificate is password-protected. Only used when --authmode=serviceprincipal with certificate-based authentication.
PBI_MODELING_MCP_ACCEPT_EULAfalseSet to true to accept the EULA for unattended execution.
PBI_MODELING_MCP_ALLOWED_CONNECTION_HOSTSComma-separated list of trusted custom hostnames that the MCP server can use for Analysis Services or Power BI XMLA connections.

For Visual Studio Code, you can set the command line options and environment variables in the User Settings:

Open Visual Studio Code user settings and search for @ext:Microsoft.powerbi-modeling-mcp.

[VS Code settings]

For manual installations, you can configure command-line options using the args property and set environment variables using the env property in the MCP Server registration JSON:

json
{"servers": {		"powerbi-authoring-local": {			"command": "[Path To MCP Server folder]\\powerbi-modeling-mcp.exe",			"args": [				"--start"                				, "--authmode=interactive"				   							],			"type": "stdio"		}	}}

Connection host allowlist

To connect to a non-Power BI endpoint, such as Azure Analysis Services or SQL Server Analysis Services, add its hostname to the PBI_MODELING_MCP_ALLOWED_CONNECTION_HOSTS environment variable. Separate multiple hostnames with commas:

json
{  "env": {    "PBI_MODELING_MCP_ALLOWED_CONNECTION_HOSTS": "xmla.contoso.example,another-xmla.contoso.example,sqlserver_01:8373"  }}

Restart the MCP server after changing the configuration.

[!IMPORTANT] Only add hosts that your organization trusts and intends to use as Analysis Services or Power BI XMLA endpoints. Access tokens are sent to these hosts when the MCP server connects, so controlling the allowlist protects your credentials. Do not add a hostname solely to bypass the validation error without confirming who operates the endpoint.

💬 Feedback and Support

  • Check the Troubleshooting guide to diagnose and resolve common issues.
  • We're building this in the open. Your feedback is much appreciated, and will help us shape the future of the Power BI Authoring MCP server.
    • 👉 Open an issue in the public GitHub repository - we’d love to hear from you!

Considerations and limitations

  • You must have Write permission on the semantic model. For more information, see Semantic model permissions.
  • This MCP server follows the same rules and behaviors as modeling operations performed by External Tools. Refer to the documentation for more information.
  • There is no tenant admin setting that specifically blocks the use of this MCP server. The server connects to semantic models through the XMLA endpoint. To prevent access through the MCP server, you must disable the XMLA endpoint. This also blocks other tools and applications that rely on XMLA connectivity. For more information, see Semantic model connectivity with the XMLA endpoint.

License

Use of this software is subject to the Power BI Authoring MCP Server EULA. NPX installations require explicit acceptance before the MCP tools can be used. See Accept the EULA for the available acceptance methods.

Data Privacy and LLM Providers

The MCP server runs locally and connects to your semantic model using your existing credentials and permissions — it does not bypass any Power BI security controls. However, data retrieved by the MCP server (metadata, schemas, or query results) is sent to the MCP client (e.g., VS Code) and may then be forwarded to the configured LLM provider as part of the conversation context.

In short: AI assistance does not expand data access, but it may transmit accessed data to the LLM provider. Governance efforts should focus on your organization's AI data-handling policies and the LLM provider's terms of service, rather than on Power BI security controls alone.

If you use GitHub Copilot, refer to the GitHub Copilot model hosting documentation for details on how data is shared with external AI model providers.

Security

Your credentials are always handled securely through the official Azure Identity SDK - we never store or manage tokens directly.

MCP as a phenomenon is very novel and cutting-edge. As with all new technology standards, consider doing a security review to ensure any systems that integrate with MCP servers follow all regulations and standards your system is expected to adhere to. This includes not only the Power BI Authoring MCP Server, but any MCP client/agent that you choose to implement down to the model provider.

You should follow Microsoft security guidance for MCP servers, including enabling Entra ID authentication, secure token management, and network isolation. Refer to Microsoft Security Documentation for details.

Permissions and Risk

MCP clients can invoke operations based on the user’s Fabric RBAC permissions. Autonomous or misconfigured clients may perform destructive actions. You should review and apply least-privilege RBAC roles and implement safeguards before deployment. Certain safeguards, such as flags to prevent destructive operations, are not standardized in the MCP specification and may not be supported by all clients.

Data Collection

The software may collect information about you and your use of the software and send it to Microsoft. Microsoft may use this information to provide services and improve our products and services. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with a copy of Microsoft's privacy statement. You can learn more about data collection and use in the help documentation and our privacy statement. Your use of the software operates as your consent to these practices.

Compliance Responsibility

This MCP server may be installed, used and share data with third party clients and services, such as third party LLMs that operate outside Microsoft compliance boundaries. You are responsible for ensuring that any integration complies with applicable organizational, regulatory, and contractual requirements.

Third Party Components

This MCP server may use or depend on third party components.  You are responsible for reviewing and complying with the licenses and security posture of any third-party components.

Export Control

Use of this software must comply with all applicable export laws and regulations, including U.S. Export Administration Regulations and local jurisdiction requirements.

No Warranty / Limitation of Liability

This software is provided “as is” without warranties or conditions of any kind, either express or implied. Microsoft shall not be liable for any damages arising from use, misuse, or misconfiguration of this software.

Code of Conduct

This project has adopted the Microsoft Open Source Code of Conduct. For more information, see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

来源:README.md,提交 2b25def

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

6
  1. v1.0.1最新Nov 7, 2026
  2. v1.0.0Sep 26, 2026
  3. v0.5.0-beta.16Sep 25, 2026
  4. v0.5.0-beta.15Sep 24, 2026
  5. v0.5.0-beta.14Sep 23, 2026
  6. v0.5.0-beta.13Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

其他 Microsoft 集成