Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PBI_AUTH_MODEYesAuthentication 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

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
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 options.) options: Template-specific args (e.g. for safe_rename: {"old_path": "T[A]", "new_path": "T[B]", "scope": "report_bindings"}). May also contain PlanOptions fields which are extracted before passing template args to the builder.

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 plan_change. dry_run: If True, execute steps without side effects (dry_run executor is used regardless of registered engines). confirm_each_step: Reserved for per-step elicitation in v2; accepted but not enforced in MVP.

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. X YTD/QTD/MTD) and consolidate into a calculation group.

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 pages/*/page.json and detects anti-patterns that impact perceived load (visual density, pie/donut, custom visuals, conditional-formatting). Returns a 0-100 score, estimated load in ms, and a per-page list of hotspots with low/medium/high cost classification and fix suggestions.

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 tables_created, relationships_created, hierarchies_created and any lint_findings.

setup_rls_and_rolesB

Apply RLS roles + members + run a test matrix against a TMDL model.

Validates the role spec, writes role <Name> blocks into definition.tmdl (atomic), and runs each test_query through the (injected) test_engine callable. Failures can roll back edits when rollback_on_test_failure is True.

promote_in_pipelineC

Promote items between Fabric Deployment Pipeline stages.

Built-in gates (pre_deploy_check / audit_model_and_report / run_dax_regression) wrap the corresponding tools; plug custom gates via injected custom_gates. fabric_client is the injected REST adapter; absent it the tool runs in dry-run.

commit_workspace_to_gitA

Snapshot a Fabric workspace into a local Git repo.

Reads workspace state via fabric_client.snapshot_workspace and commits each item as <type>/<name>.pbip. Warns on local uncommitted changes or large files (>50MB by default). dry_run skips the commit.

sync_git_to_workspaceC

Deploy a local Git PBIP tree to a Fabric workspace.

For v3 inicial the only conflict-resolution mode is manual: conflicts are surfaced in items_skipped for human review. The optional pre_deploy_profile + pre_deploy_findings arguments can be passed via the input schema when you add them to the MCP wrapper.

set_sensitivity_labelsA

Apply a Microsoft Purview sensitivity label to one or more items.

Batched via POST /admin/items/labels/bulkSet. Gated by an explicit *.Admin.* (or InformationProtectionPolicy.Apply.All) scope; missing scope elicits remediation. Names are SHA-256 redacted in outputs (toggle via redact_names).

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources