All integrations
image/svg+xml

Power BI

Full Power BI control via MCP: workspaces, reports, datasets, dashboards, dataflows, apps, gateways, capacities, and deployment pipelines. Run DAX, refresh, export, and deploy via Microsoft OAuth.

OAuth 86 tools

Overview

Connect Power BI workspaces, reports, datasets, dashboards, dataflows, apps, gateways, capacities, and deployment pipelines to AI clients via the Power BI REST API. Run DAX queries, refresh models, export reports, manage access, and deploy between pipeline stages.

Prerequisites

  • A Microsoft account with access to Power BI (app.powerbi.com)
  • Power BI Pro, Premium Per User (PPU), or access to workspaces on Premium capacity
  • A stackgate.ai account
  • For work/school tenants, IT admin consent may be required for Power BI delegated permissions

Getting credentials

  1. Open My Integrations → Power BI.
  2. Click Activate, then Sign in with Microsoft.
  3. Complete Microsoft OAuth with the account that has Power BI access.
  4. After connect, use Edit tool access to limit Read vs Write tools if needed.

Work accounts may need your IT administrator to grant admin consent for the stackgate.ai app in Microsoft Entra before connect succeeds. If tools return 401/403 after a hub upgrade that added scopes, reconnect Power BI so Microsoft re-issues a token with the new delegated permissions.

Power BI is a separate connect from Outlook Mail and Outlook Calendar — activate and connect each integration independently.

Using with AI clients

  • Dedicated endpoint: POST /mcp/power-bi
  • Private gateway: power-bi__* tools

See Documentation for HTTP authentication and private gateway setup.

Capabilities

The MCP server exposes workspace-scoped Power BI REST APIs (not tenant admin APIs):

  • Workspaces: list/get/create/update/delete, manage users
  • Reports: pages, datasources, clone, delete, rebind, export to file, update content
  • Datasets: DAX executeQueries, refresh/history/schedule, parameters, datasources, users, gateways, take over, push-dataset rows
  • Dashboards: tiles, create/delete, clone tiles
  • Dataflows: datasources, transactions, refresh, cancel, delete
  • Apps, gateways, capacities, deployment pipelines, imports, available features

Tenant Admin APIs and embed-token APIs are intentionally out of scope.

Troubleshooting

  • Admin approval required — ask your IT admin to grant tenant consent for stackgate.ai and add Power BI Service delegated permissions in Microsoft Entra.
  • Auth errors / missing new tools — reconnect Power BI from My Integrations to refresh scopes.
  • 403 on a workspace — the connected account may lack access to that workspace in Power BI.
  • execute_dataset_query fails — your Power BI admin may need to enable Dataset Execute Queries REST API under Integration settings in the Power BI admin portal.
  • DAX query rate limits — Power BI allows 120 executeQueries calls per minute per user.
  • Refresh limit on shared capacity — up to eight dataset refreshes per day including scheduled refreshes.
  • Export to file — poll get_report_export_status until Succeeded, then download from resourceLocation.

Available tools

  • list_workspaces

    List Power BI workspaces the connected account can access.

  • get_workspace

    Get metadata for a Power BI workspace by ID.

  • create_workspace

    Create a new Power BI workspace.

  • update_workspace

    Update a Power BI workspace name or default dataset storage format.

  • delete_workspace

    Delete a Power BI workspace. The workspace must be empty.

  • list_workspace_users

    List users, groups, and apps with access to a Power BI workspace.

  • add_workspace_user

    Grant a user, group, or app access to a Power BI workspace.

  • update_workspace_user

    Update a principal access right in a Power BI workspace.

  • remove_workspace_user

    Remove a user from a Power BI workspace by email address.

  • list_reports

    List reports in a Power BI workspace.

  • get_report

    Get a Power BI report by workspace and report ID.

  • list_report_pages

    List pages in a Power BI report.

  • get_report_page

    Get a single page from a Power BI report by page name.

  • list_report_datasources

    List datasources for a Power BI report (typically paginated/RDL reports).

  • clone_report

    Clone a Power BI report within or across workspaces.

  • delete_report

    Delete a Power BI report from a workspace.

  • rebind_report

    Rebind a Power BI report to a different dataset.

  • export_report_to_file

    Start an async export of a Power BI report to PDF, PPTX, or PNG. Poll get_report_export_status; when Succeeded the status includes resourceLocation for download.

  • get_report_export_status

    Get status of a report export-to-file job. When Succeeded, download from resourceLocation.

  • update_report_content

    Update report content from another existing report. Pass payload with sourceType ExistingReport and sourceReport {sourceReportId, sourceWorkspaceId}.

  • list_datasets

    List semantic model datasets in a Power BI workspace.

  • get_dataset

    Get a Power BI dataset by workspace and dataset ID.

  • list_dataset_datasources

    List datasources bound to a Power BI dataset.

  • list_dataset_parameters

    List parameters for a Power BI dataset.

  • get_dataset_refresh_history

    Get refresh history for a Power BI dataset.

  • get_dataset_refresh_execution_details

    Get execution details for a specific dataset refresh request.

  • get_dataset_refresh_schedule

    Get the scheduled refresh settings for a Power BI dataset.

  • get_dataset_direct_query_refresh_schedule

    Get the DirectQuery/LiveConnection refresh schedule for a Power BI dataset.

  • list_dataset_users

    List users with access to a Power BI dataset in a workspace.

  • discover_dataset_gateways

    Discover gateways that can be bound to a Power BI dataset.

  • execute_dataset_query

    Execute a DAX query against a Power BI dataset (one query per call; 120 requests/min per user).

  • refresh_dataset

    Trigger a refresh for a Power BI dataset. Shared capacity allows up to eight refreshes per day.

  • cancel_dataset_refresh

    Cancel an in-progress enhanced refresh for a Power BI dataset.

  • update_dataset

    Update dataset properties such as target storage mode.

  • delete_dataset

    Delete a Power BI dataset from a workspace.

  • update_dataset_parameters

    Update dataset parameter values.

  • update_dataset_datasources

    Update dataset datasource connection details.

  • update_dataset_refresh_schedule

    Update the scheduled refresh settings for a Power BI dataset.

  • take_over_dataset

    Transfer dataset ownership to the connected user in a workspace.

  • list_dashboards

    List dashboards in a Power BI workspace.

  • get_dashboard

    Get a Power BI dashboard by workspace and dashboard ID.

  • list_dashboard_tiles

    List tiles on a Power BI dashboard.

  • get_dashboard_tile

    Get a tile on a Power BI dashboard.

  • create_dashboard

    Create an empty dashboard in a Power BI workspace.

  • delete_dashboard

    Delete a Power BI dashboard from a workspace.

  • clone_dashboard_tile

    Clone a dashboard tile to the same or another dashboard/workspace/report/dataset.

  • list_dataflows

    List dataflows in a Power BI workspace.

  • get_dataflow

    Export/get a Power BI dataflow definition JSON from a workspace.

  • list_dataflow_datasources

    List datasources for a Power BI dataflow.

  • list_dataflow_transactions

    List transactions for a Power BI dataflow.

  • list_upstream_dataflows

    List upstream dataflows for a Power BI dataflow in a workspace.

  • refresh_dataflow

    Trigger a refresh for a Power BI dataflow.

  • delete_dataflow

    Delete a Power BI dataflow from a workspace.

  • cancel_dataflow_transaction

    Cancel a dataflow transaction in a workspace.

  • list_apps

    List Power BI apps installed for the connected user.

  • get_app

    Get a Power BI app by ID.

  • list_app_reports

    List reports in a Power BI app.

  • list_app_dashboards

    List dashboards in a Power BI app.

  • list_app_tiles

    List tiles from a dashboard inside a Power BI app.

  • list_gateways

    List on-premises data gateways the connected user can administer.

  • get_gateway

    Get an on-premises data gateway by ID.

  • list_gateway_datasources

    List datasources on an on-premises data gateway.

  • get_gateway_datasource

    Get a datasource on an on-premises data gateway.

  • get_gateway_datasource_status

    Get connectivity status for a gateway datasource.

  • list_gateway_datasource_users

    List users with access to a gateway datasource.

  • list_capacities

    List Power BI capacities accessible to the connected user.

  • assign_workspace_to_capacity

    Assign a Power BI workspace to a capacity, or pass empty capacity_id to unassign shared capacity.

  • get_workspace_capacity_assignment_status

    Get capacity assignment status for a Power BI workspace.

  • list_capacity_refreshables

    List refreshables across capacities the user can access.

  • list_pipelines

    List Power BI deployment pipelines the connected user can access.

  • get_pipeline

    Get a Power BI deployment pipeline by ID.

  • list_pipeline_stages

    List stages in a Power BI deployment pipeline.

  • list_pipeline_stage_artifacts

    List artifacts assigned to a deployment pipeline stage.

  • list_pipeline_operations

    List recent operations for a Power BI deployment pipeline.

  • get_pipeline_operation

    Get details for a Power BI deployment pipeline operation.

  • deploy_pipeline_all

    Deploy all supported artifacts from one pipeline stage to the next.

  • deploy_pipeline_selective

    Selectively deploy artifacts between Power BI pipeline stages. Pass the full SelectiveDeployRequest as payload.

  • assign_workspace_to_pipeline

    Assign a workspace to a deployment pipeline stage.

  • unassign_workspace_from_pipeline

    Unassign the workspace from a deployment pipeline stage.

  • list_imports

    List import jobs in a Power BI workspace.

  • get_import

    Get an import job in a Power BI workspace.

  • list_available_features

    List available Power BI features for the connected user.

  • refresh_user_permissions

    Refresh the Power BI permissions cache for the connected user after workspace access changes.

  • list_push_dataset_tables

    List tables in a push dataset within a workspace.

  • push_dataset_rows

    Push rows into a push-dataset table. Pass rows as an array of objects.

  • delete_push_dataset_rows

    Delete all rows from a push-dataset table.

MCP endpoint: https://stackgate.ai/mcp/power-bi (HTTP) or via the private gateway.