PowerBI MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| POWERBI_CLIENT_ID | Yes | Azure AD Client ID | |
| POWERBI_TENANT_ID | Yes | Azure AD Tenant ID | |
| POWERBI_CLIENT_SECRET | Yes | Azure AD Client Secret |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_workspacesA | Get list of PowerBI workspaces (also called groups) accessible to the service principal. This tool retrieves all workspaces that the configured service principal has access to. Workspaces are containers for dashboards, reports, datasets, and dataflows in PowerBI. Use this when you need to:
Parameters:
Returns: List of workspaces with their IDs, names, and optionally detailed metadata. Example usage:
Error handling:
|
| get_reportsA | Get PowerBI reports from a workspace. Returns report information including:
Useful for discovering available reports and getting report URLs. Parameters:
Returns: List of reports with their IDs, names, and optionally URLs and dataset IDs. Example usage:
Error handling:
|
| get_datasetsA | Get list of datasets from a specific workspace or My workspace. Datasets in PowerBI contain the data model, including tables, columns, relationships, and measures. This tool retrieves all datasets accessible in the specified workspace. Use this when you need to:
Parameters:
Returns: List of datasets with their IDs, names, and optionally detailed metadata including refresh status, storage mode, and configuration details. Example usage:
Error handling:
|
| get_datasetA | Get detailed information about a specific dataset. Retrieves comprehensive metadata about a PowerBI dataset including configuration, refresh settings, and data source information. Use this when you need to:
Parameters:
Returns: Detailed dataset information including:
Example usage:
Error handling:
|
| get_refresh_historyA | Get refresh history for a PowerBI dataset. Shows recent refresh operations including:
Useful for monitoring data freshness and troubleshooting refresh failures. Parameters:
Returns: Formatted refresh history with status, timestamps, and error details for failed refreshes. Example usage:
Error handling:
|
| get_parametersA | Get parameters defined in a PowerBI dataset. Returns parameter definitions including:
Useful for discovering available parameters before querying parameterized datasets. Note: Not supported for datasets with SQL, Oracle, Teradata, SAP HANA DirectQuery connections or datasets modified via XMLA endpoint. Parameters:
Returns: Formatted parameter information with names, types, values, and suggested values. Example usage:
Error handling:
|
| query_datasetA | Execute DAX (Data Analysis Expressions) queries against a PowerBI dataset. This tool allows you to query dataset tables using DAX, PowerBI's formula language. DAX queries can retrieve data, perform calculations, and apply filters. Use this when you need to:
DAX Query Syntax:
Parameters:
Returns: Query results as a table with rows and columns. Markdown format presents results as formatted tables. Results are limited to 100 rows in markdown view. Example queries:
Error handling:
|
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 7 tools
Each tool has a clearly distinct purpose: singular vs list retrieval for datasets, separate tools for parameters, refresh history, reports, workspaces, and querying. No overlaps.
All tools follow a consistent verb_noun pattern, e.g., get_dataset, get_datasets, get_parameters. query_dataset uses 'query' instead of 'get' but still matches the pattern, maintaining overall consistency.
With 7 tools covering dataset, report, workspace, parameter, refresh history, and query operations, the count is well-scoped for a focused PowerBI data retrieval server.
The server covers read operations comprehensively (list, get, query) but lacks any write capabilities (e.g., create, update, delete, refresh). This is a notable gap for full lifecycle management, though it may be sufficient for a read-only analysis tool.