A side-by-side look at the Powerbi Analyst MCP and Power BI Modeling MCP Server MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Powerbi Analyst MCP for data visualization work as a local process; choose Power BI Modeling MCP Server for data visualization as a local process. You can also run both side by side in one mcpServers block.
POWERBI_ANALYST_MCP_CLIENT_ID, POWERBI_ANALYST_MCP_TENANT_ID.authenticate, logout, list_apps.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Data Visualization | Data Visualization |
| Quality signal | 53/100 · Good | 48/100 · Fair |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | OAuth 2.0 | Not declared |
| Pricing | Free | Not declared |
| Required env vars | POWERBI_ANALYST_MCP_CLIENT_IDPOWERBI_ANALYST_MCP_TENANT_ID | None listed |
| Verified owner | Community listing | Community listing |
| GitHub stars | 14 | 1,215 |
| Directory activity | 2 views 0 installs 0 upvotes | 1 views 0 installs 0 upvotes |
| Tools | 12 | Not listed |
| Full listing | View Powerbi Analyst MCP | View Power BI Modeling MCP Server |
authenticateSign in via OAuth device code — returns a URL + one-time code; call again to completelogoutClear the cached token (forces re-authentication)list_appsList all Power BI apps you have access to — **start here**; returns `workspaceId` for each applist_datasetsList datasets / semantic models in a workspace (use `workspaceId` from `list_apps`)get_dataset_infoMetadata and last 5 refresh history entries for a datasetlist_tablesAll visible tables in a datasetlist_measuresMeasures with name, table, description, and format stringlist_columnsColumns with data type and key flagexecute_daxRun a DAX query — inline for small results, local CSV for large ones. Pass `query_summary` to log the query for future reference.read_query_resultPage through a large CSV result without loading it all into contextsearch_query_historySearch the local query log by keyword, dataset, or time range — find prior DAX and results across sessionsdelete_query_log_entryRemove a query log entry (e.g. when the approach turned out to be wrong)No tool names declared yet. Check the project README from the listing page.
Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"mbrummerstedt-powerbi-analyst-mcp": {
"command": "uvx",
"args": [
"powerbi-analyst-mcp"
],
"env": {
"POWERBI_ANALYST_MCP_CLIENT_ID": "YOUR_POWERBI_ANALYST_MCP_CLIENT_ID_HERE",
"POWERBI_ANALYST_MCP_TENANT_ID": "YOUR_POWERBI_ANALYST_MCP_TENANT_ID_HERE"
}
}
}
}
{
"mcpServers": {
"power-bi-modeling-mcp-server": {
"command": "npx",
"args": [
"-y",
"@microsoft/powerbi-modeling-mcp@latest"
]
}
}
}