powerbi-orchestrator-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PBI_AUTH_MODE | Yes | Authentication mode for Power BI. In the example configuration it is set to 'interactive'. |
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 |
|---|---|
| connect_targetA | Connect to a Power BI target and detect available engines. Args: target_type: One of "pbi_desktop", "fabric_workspace", "pbip_folder", "pbix_file". target_ref: Reference to the target (path, workspace_id, etc.). auth_mode: "interactive" or "service_principal". tenant_id: Azure tenant ID (only used with service_principal). Returns: ConnectResult with session_id, engines_available, and warnings. |
| plan_changeA | Create a versionable plan from a template name + structured args. Args:
intent: One of the 4 MVP templates: safe_rename, audit, deploy,
dax_regression. (Each template's required args go in Returns: PlanResult with plan_id, plan_yaml, steps, risk_score, estimated_changes. |
| apply_planA | Execute a plan with automatic rollback on failure. Args:
plan_id: ID of the plan previously created by Returns: ApplyResult with execution status, executed steps, rollback info. |
| audit_model_and_reportB | Composite audit (BPA + DAX lint + WCAG) on a PBIP folder. |
| deploy_to_workspaceA | Pre-deploy gate + publish PBIP + configure refresh + initial refresh. |
| run_refreshC | Trigger and optionally wait for a dataset refresh. |
| run_dax_regressionC | Run DAX queries vs a baseline JSON and diff results. |
| diff_modelsB | Diff two semantic models (PBIP folders or snapshots). |
| pre_deploy_checkC | Evaluate findings against a pre-deploy gate profile. |
| generate_data_dictionaryC | Generate a Markdown data dictionary (with Mermaid ER diagram) for a PBIP. |
| apply_theme_and_accessibility_rulesC | Apply a colorblind-safe theme + backfill alt text + re-audit WCAG. |
| add_measure_with_validationB | Add a DAX measure with mandatory lint validation. Lint gate blocks writes if any finding has severity ≥ fail_on_severity (default: warning). dry_run=True returns findings without writing. |
| create_report_from_datasetA | Scaffold a PBIR folder from an existing dataset. Creates .Report/, theme.json, report.json, and a sample page. Never overwrites existing files (returns warnings instead). |
| edit_report_visualA | Deterministic edit on a single visualContainer in a PBIR page. Field-level merge: only the fields in the input change; unspecified fields are preserved. Atomic write via temp-then-rename. |
| refactor_to_calculation_groupsC | Detect measures that share structure (e.g. Returns the plan + (optionally) writes the calc group if auto_apply=True. |
| select_visuals_for_kpisC | For each KPI in the JSON list, return a primary visual + alternatives. Uses the viz/visual_suggester for recommendation logic. |
| design_report_page_from_requirementsC | Synthesize a PBIR page from an NL brief. Composes viz/visual_suggester + python_report for actual file I/O. |
| optimize_report_performanceA | Heuristic performance analyzer for PBIR pages. Reads |
| audit_report_ux_and_storytellingA | Heuristic qualitative auditor (hierarchy/density/narrative/mobile/cohesion). Reads PBIR pages and scores 0-100 with category breakdown + per-finding suggestions. Strictness adjustable (lenient|standard|strict). |
| screenshot_report_pagesA | Best-effort screenshot capture of PBIR pages. Without Power BI Desktop Bridge this emits SVG wireframes + JSON manifests (deterministic for regression diff). Real PNG/PDF needs superbi-mcp on Windows; absence is reported via rendering_warnings. |
| create_semantic_model_from_schemaA | Generate a TMDL semantic model from a declarative spec. Validates the spec (Pydantic + dangling-reference check + basic DAX
lint) and either returns the validation result (dry_run=True) or
atomically writes the PBIP layout (dry_run=False). Output contains
|
| setup_rls_and_rolesB | Apply RLS roles + members + run a test matrix against a TMDL model. Validates the role spec, writes |
| promote_in_pipelineC | Promote items between Fabric Deployment Pipeline stages. Built-in gates ( |
| commit_workspace_to_gitA | Snapshot a Fabric workspace into a local Git repo. Reads workspace state via |
| sync_git_to_workspaceC | Deploy a local Git PBIP tree to a Fabric workspace. For v3 inicial the only conflict-resolution mode is |
| set_sensitivity_labelsA | Apply a Microsoft Purview sensitivity label to one or more items. Batched via |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |