Skip to main content
Glama
Power BI MCP Server

Power BI MCP Server

by gokulchukka

Power BI MCP Server

Overview

Power BI MCP Server is a Python-based Model Context Protocol (MCP) server designed to integrate the Power BI REST API with GenAI applications.

The project provides an interface through which an AI application can interact with Power BI capabilities using MCP-based tools.

Related MCP server: powerbi-mcp-server

Objective

Business intelligence platforms traditionally require users to navigate dashboards and reports manually.

An MCP integration can provide a conversational interface where an AI application can access approved business intelligence capabilities and help users work with analytics using natural-language requests.

High-Level Architecture

User
  |
  v
GenAI Application
  |
  v
Model Context Protocol
  |
  v
Power BI MCP Server
  |
  v
Power BI REST API
  |
  v
Power BI / Business Data

Key Capabilities

  • MCP server implementation

  • Power BI REST API integration

  • Python-based backend

  • Tool-based AI integration

  • Business intelligence access through MCP

  • Integration with compatible GenAI applications

Example Interaction

User:
"Show me the latest sales performance."

        |
        v

GenAI Application
        |
        v
MCP Tool Selection
        |
        v
Power BI MCP Server
        |
        v
Power BI REST API
        |
        v
Business Intelligence Data
        |
        v
AI-generated response

Technology

  • Python

  • Model Context Protocol (MCP)

  • Power BI REST API

  • GenAI application integration

  • API authentication

  • pytest / Python testing tools

Business Use Cases

Potential enterprise use cases include:

  • Natural-language business analytics

  • KPI retrieval

  • Power BI report interaction

  • AI-assisted business intelligence

  • Automated analytics workflows

  • Conversational access to approved BI capabilities

Security Considerations

Power BI and MCP integrations should carefully protect:

  • Access tokens

  • API credentials

  • Business data

  • User permissions

  • Tool execution permissions

Credentials should be stored securely and never committed to source control.

Future Enhancements

  • Additional Power BI tools

  • Role-based access control

  • Azure-hosted deployment

  • Azure OpenAI integration

  • Audit logging

  • More business analytics functions

  • Automated KPI monitoring

  • Enterprise authentication

Disclaimer

This README documents the Power BI MCP Server repository. If the repository is not your original work, do not claim the entire project as your own. Retain the original author's license, copyright, attribution, and repository notices, and clearly document any modifications you personally make.

Available Tools

8 tools
execute_dax_queryB

Execute a DAX query against a dataset and return tabular results.

Inputs: query (required), dataset_id (required), workspace_id. Returns: object

export_reportB

Start an export job for a report. format is one of PDF, PPTX, PNG, etc.

Inputs: format (required), report_id (required), workspace_id. Returns: object

get_dataset_refresh_historyB

Return the refresh history entries for a dataset (most recent first).

Inputs: dataset_id (required), top, workspace_id. Returns: result

list_dashboardsA

List dashboards, optionally scoped to a workspace (group) ID.

Inputs: workspace_id. Returns: result

list_datasetsA

List datasets, optionally scoped to a workspace (group) ID.

Inputs: workspace_id. Returns: result

list_reportsB

List reports, optionally scoped to a workspace (group) ID.

Inputs: workspace_id. Returns: result

list_workspacesA

List all Power BI workspaces (groups) accessible to the caller.

Inputs: no named parameters. Returns: result

refresh_datasetB

Trigger a dataset refresh. notify_option may be 'MailOnCompletion', 'MailOnFailure', or 'NoNotification'.

Inputs: dataset_id (required), workspace_id, notify_option. Returns: object

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.7/5.0

    Scored across 8 tools

    Disambiguation5/5

    Each tool targets a distinct resource or action: workspaces, datasets, reports, dashboards, dataset refresh, refresh history, DAX query, and report export. There is no overlap or ambiguity.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern (e.g., list_workspaces, refresh_dataset, execute_dax_query). The style is uniform and predictable.

    Tool Count5/5

    Eight tools is a well-scoped set for a Power BI server focused on listing resources and performing common actions like refresh, query, and export. No redundant tools.

    Completeness3/5

    The surface covers listing and key actions (refresh, query, export), but lacks get-by-id operations and any create/update/delete tools. This is a notable gap for full lifecycle management, though the server appears oriented toward read and operational tasks.

    Related MCP Connectors

    Related MCP Servers