Integration · Company data
Connect Claude & ChatGPT to Microsoft Power BI
Ask your AI which reports sit in a workspace, whether last night's refresh worked, or what a number in a dataset is. It can list workspaces, datasets, reports, report pages, dashboards and tiles, run read-only DAX queries against a dataset, start a data refresh and add rows to a push dataset.
Free plan, no credit card. Takes about a minute.
Try asking
“Which workspaces do I have access to, and what reports are in Sales?”
The AI lists your workspaces, finds Sales and lists the reports in it with their web links.
“Did the Finance dataset refresh succeed last night?”
It reads the dataset's refresh history and tells you the status and time of the latest refreshes.
“Refresh the Finance dataset and email me if it fails.”
It starts a data refresh of the dataset with the MailOnFailure notification option.
What your AI can do
Workspaces and reports
List workspaces and your My workspace, read reports with their web URL and dataset, and list report pages, dashboards and tiles.
Datasets and DAX queries
List and read datasets (semantic models), and run read-only DAX queries to get the numbers behind your reports.
Refreshes and push data
Start a data refresh, check the refresh history, list the tables of a push dataset and add rows to them.
“What was total revenue per region last month in the Sales dataset?”
It runs a read-only DAX query against the dataset and returns the rows it gets back.
“Which pages does the Management report have?”
It finds the report in the workspace and lists its pages.
“Add today's three new orders to the push dataset's Orders table.”
It adds the rows to the table in the push dataset, keyed by column name.
21 tools for Microsoft Power BI
These tools are switched on when you connect. You can switch any of them off, or require your approval before it runs.
add_dataset_rowsChanges dataAdd rows to a table in a push dataset by group_id, dataset_id and table_name. Pass rows as a list of objects keyed by column name.get_my_datasetGet one dataset from your My workspace by dataset_id, including refresh settings and owner.get_my_reportGet one report from your My workspace by report_id, including its web URL and dataset.get_workspace_datasetGet one dataset in a workspace by group_id and dataset_id, including refresh settings and owner.get_workspace_reportGet one report in a workspace by group_id and report_id, including its web URL and dataset.list_dashboard_tilesList the tiles on a dashboard in a workspace by group_id and dashboard_id.list_dataset_tablesList the tables of a push dataset in a workspace by group_id and dataset_id.list_my_dashboardsList the dashboards in your personal My workspace.list_my_dataset_refreshesList the refresh history of a dataset in your My workspace by dataset_id, with an optional limit. Use to check whether a refresh succeeded.list_my_datasetsList the datasets (semantic models) in your personal My workspace.list_my_reportsList the reports in your personal My workspace.list_report_pagesList the pages of a report in a workspace by group_id and report_id.list_workspace_dashboardsList the dashboards in a workspace by group_id.list_workspace_dataset_refreshesList the refresh history of a dataset in a workspace by group_id and dataset_id, with an optional limit. Use to check whether a refresh succeeded.list_workspace_datasetsList the datasets (semantic models) in a workspace by group_id.list_workspace_reportsList the reports in a workspace by group_id.list_workspacesList the Power BI workspaces you can access, with optional OData filter, limit and offset. Use to find a workspace's group_id.refresh_my_datasetChanges dataStart a data refresh of a dataset in your My workspace by dataset_id. notify_option is required: NoNotification, MailOnFailure or MailOnCompletion.refresh_workspace_datasetChanges dataStart a data refresh of a dataset in a workspace by group_id and dataset_id. notify_option is required: NoNotification, MailOnFailure or MailOnCompletion.run_query_my_datasetChanges dataRun a DAX query against a dataset in your My workspace. Pass dataset_id and queries as a list with one item like {"query": "EVALUATE ..."}. Read-only.run_query_workspace_datasetChanges dataRun a DAX query against a dataset in a workspace. Pass group_id, dataset_id and queries as a list with one item like {"query": "EVALUATE ..."}. Read-only.
Set up in three steps
- 1
Pick the app
Create a free PipMCP account and choose Microsoft Power BI from the app list.
- 2
Paste your key
Create your own Microsoft Entra app, paste its Application (client) ID and client secret value, then sign in with Microsoft once. In the Azure portal open Microsoft Entra ID > App registrations > New registration, choose 'Accounts in any organizational directory' and add the Web redirect URI https://pipmcp.com/oauth/callback. Create a client secret under Certificates & secrets, and under API permissions add the Power BI Service delegated permissions Workspace.Read.All, Dataset.ReadWrite.All, Report.Read.All and Dashboard.Read.All.
- 3
Add the link to your AI
You get a personal MCP link. Add it to Claude, ChatGPT or Cursor:
- Click your name, then Settings › Connectors › Add custom connector.
- Paste your link as the Remote MCP server URL.
- Switch it on from the + menu in a chat.
Questions
What can the AI do in Power BI?
It can list workspaces, datasets, reports, report pages, dashboards and dashboard tiles, both in shared workspaces and in your My workspace. It can read datasets and reports, run read-only DAX queries, read refresh history, start a data refresh and add rows to a push dataset.
Does the AI see my Power BI credentials?
No. Your client ID, client secret and sign-in tokens are encrypted at rest and never shown to the AI. After you save them, they are not shown again, not even to you. The AI only sees the results of the tools it calls.
Can I control what the AI is allowed to do?
Yes. You choose which tools are switched on, so you can start with lookups and DAX queries only. Starting a refresh and adding rows to a push dataset change data in Power BI, and both can require your approval before they run. Every tool call is logged.
Does it work with ChatGPT?
Yes. In ChatGPT, open Settings › Apps & Connectors › Advanced, turn on Developer mode and add your PipMCP link. Developer mode needs a paid ChatGPT plan: Plus, Pro, Business or Enterprise. The same link also works in Claude (Settings › Connectors › Add custom connector), Cursor and other MCP clients.
What does it cost?
Power BI connects with OAuth, and OAuth connections need the PipMCP Pro plan or above. PipMCP also has a free plan with no credit card, but it does not include this connection. Paid plans bill per completed task. You also need your own Power BI account.
Can the AI read the numbers in my datasets?
Yes. It writes a DAX query and runs it against the dataset, in a shared workspace or in your My workspace. The query only reads data and changes nothing. You can ask in plain words, for example revenue per month, and the AI builds the query for you.
Related integrations
Let your AI work in Microsoft Power BI today.
Start free. Your key stays encrypted, and you decide what the AI may do.
Connect Microsoft Power BI freePipMCP is not affiliated with Microsoft Power BI. Product names are trademarks of their owners.






