Powerbi Mcp Designer MCP Server

powerbi-mcp-designer PyPI v0.2.1

Published by dbru540 — no publish provenance, so origin is unverified, but the source is public: the repository link below is self-declared yet readable, so you can inspect the code before adopting it.

Trust grade
A
93/100
Last scanned get badge →
Trust
A · 93/100
Adoption risk for you: the threat score, then adjusted down for blast radius, publisher verification and how much the scan could see. Deterministic; every point is auditable.
Capability
High
Blast radius if it went rogue — what the server’s tools could reach. Independent of trust.
Coverage
Source
How much the scan could actually inspect. Shallow coverage is stated, never hidden.
Share this Trust Score
𝕏 Share LinkedIn Reddit
A Why this grade threat 100 − adoption risk = 93/100

The grade answers one question — how safe is this server for you to adopt — so it is computed in two auditable stages. Nothing below is an opinion or an LLM's guess; every line is a real term the deterministic engine applied, and the same input always yields the same number.

1. Threat score — 100 − 0 = 100. What the published surface and source actually contain:

The deterministic scan raised no scored threat in the surface it inspected — the threat score stayed at 100. Capability observations and advisory notes are recorded but never lower it.

2. Client adoption risk — 100 − 7 = 93. Three small, subtract-only factors that reflect your risk in adopting it — a clean scan proves less on a powerful, unverified or barely-inspectable package, so the grade says so plainly:

PointsAdoption-risk factor
−6 capability blast radius (high) — client exposure if the model is manipulated
−1 publisher verification (public source) — no provenance, but the source is public and inspectable

Capability observations and info notes are shown under Findings but never scored. Open any row's finding below for the file, line and evidence behind a deduction.

Findings 1

high Shell/command execution in server code (powerbi_mcp/visual_ai/qa_loop.py)MTC-SRC-002

In the server's implementation (`powerbi_mcp/visual_ai/qa_loop.py:102`): Spawning a shell/process is command-execution capability; with unsanitized tool input it is command injection / RCE. This is read from the code itself — not from the tool description — so a poisoned server cannot hide it behind honest-looking metadata.

Evidence: try: process = subprocess.Popen( # noqa: S603 - user-supplied local executable path is intentional here.

Fix: Review this call path: confirm it never receives unsanitized tool input, constrain it, or remove it. Treat a server whose code reaches these sinks as high-capability regardless of what its tools claim.

Location: server powerbi_mcp/visual_ai/qa_loop.py

Tools 92

Each tool and what it can reach — statically extracted from the published source.

  • get_pageingests untrusted input
  • report_get_pageingests untrusted input
  • apply_visual_styleno sensitive capability
  • batch_update_visual_titles_by_typeno sensitive capability
  • clone_visual_styleno sensitive capability
  • copy_visualno sensitive capability
  • create_bar_chartno sensitive capability
  • create_cardno sensitive capability
  • create_deneb_visualno sensitive capability
  • create_line_chartno sensitive capability
Show 82 more tools ↓
  • create_pageno sensitive capability
  • create_pie_chartno sensitive capability
  • create_slicerno sensitive capability
  • create_tableno sensitive capability
  • create_visualno sensitive capability
  • custom_visual_eligibilityno sensitive capability
  • delete_pageno sensitive capability
  • delete_visualno sensitive capability
  • duplicate_pageno sensitive capability
  • extract_visual_configno sensitive capability
  • find_report_objects_by_model_referenceno sensitive capability
  • find_unused_measuresno sensitive capability
  • find_visuals_by_typeno sensitive capability
  • get_powerbi_modeling_mcp_interop_guidanceno sensitive capability
  • get_project_infono sensitive capability
  • get_table_contentno sensitive capability
  • get_visualno sensitive capability
  • get_visual_propertyno sensitive capability
  • get_visual_types_summaryno sensitive capability
  • impact_of_model_referenceno sensitive capability
  • list_pagesno sensitive capability
  • list_reportsno sensitive capability
  • list_tablesno sensitive capability
  • list_visual_propertiesno sensitive capability
  • list_visualsno sensitive capability
  • model_create_relationshipno sensitive capability
  • model_create_tableno sensitive capability
  • model_get_summaryno sensitive capability
  • model_list_measuresno sensitive capability
  • model_list_relationshipsno sensitive capability
  • model_list_tablesno sensitive capability
  • model_update_column_metadatano sensitive capability
  • model_update_table_descriptionno sensitive capability
  • model_upsert_measureno sensitive capability
  • model_upsert_roleno sensitive capability
  • model_validateno sensitive capability
  • page_design_action_planno sensitive capability
  • page_design_apply_quick_winsno sensitive capability
  • page_design_auditno sensitive capability
  • page_design_improve_planno sensitive capability
  • page_layout_action_planno sensitive capability
  • page_layout_analyzeno sensitive capability
  • page_layout_apply_quick_winsno sensitive capability
  • page_layout_apply_reflow_planno sensitive capability
  • page_layout_blueprint_generateno sensitive capability
  • page_layout_recommendno sensitive capability
  • page_layout_reflow_planno sensitive capability
  • project_get_summaryno sensitive capability
  • project_validateno sensitive capability
  • rename_pageno sensitive capability
  • report_create_from_datasource_specno sensitive capability
  • report_design_apply_quick_winsno sensitive capability
  • report_design_auditno sensitive capability
  • report_design_brief_generateno sensitive capability
  • report_design_desktop_evidence_summaryno sensitive capability
  • report_design_improve_planno sensitive capability
  • report_design_readiness_checkno sensitive capability
  • report_design_studio_planno sensitive capability
  • report_design_visual_qa_loopno sensitive capability
  • report_get_summaryno sensitive capability
  • report_get_visualno sensitive capability
  • report_get_visual_bindingsno sensitive capability
  • report_layout_apply_quick_winsno sensitive capability
  • report_list_pagesno sensitive capability
  • report_list_visualsno sensitive capability
  • report_validateno sensitive capability
  • set_visual_propertyno sensitive capability
  • update_page_sizeno sensitive capability
  • update_visual_jsonno sensitive capability
  • update_visual_positionno sensitive capability
  • update_visual_titleno sensitive capability
  • visual_catalog_listno sensitive capability
  • visual_design_auditno sensitive capability
  • visual_examples_listno sensitive capability
  • visual_plan_applyno sensitive capability
  • visual_plan_generateno sensitive capability
  • visual_plan_generate_and_applyno sensitive capability
  • visual_requirements_checkno sensitive capability
  • visual_role_examplesno sensitive capability
  • visual_template_libraryno sensitive capability
  • visual_template_recommendno sensitive capability
  • visual_vocabulary_classifyno sensitive capability

What this scan could not see

Versions 1

Scan history per published version. The engine is deterministic — the same version always yields the same score, so a changed score means the package itself changed.

VersionScoreFindingsEngineScanned
v0.2.1 latest A 93/100 1 1.9.0 2026-07-23

Embed this score

Show this server's live Trust Score in your README, docs or website. The badge is served straight from the registry and updates automatically after every rescan — no API key needed. It links back to this page, so anyone who sees the grade can also read the findings behind it instead of taking a number on faith.

MCP Trust Score: A · 93/100
Markdown (GitHub README)
[![MCP Trust Score](https://mcptrustchecker.com/registry/powerbi-mcp-designer/badge.svg)](https://mcptrustchecker.com/registry/powerbi-mcp-designer)
HTML
<a href="https://mcptrustchecker.com/registry/powerbi-mcp-designer"><img src="https://mcptrustchecker.com/registry/powerbi-mcp-designer/badge.svg" alt="MCP Trust Score" height="20"></a>
Prefer shields.io styling? Point it at https://mcptrustchecker.com/registry/powerbi-mcp-designer/badge.json via https://img.shields.io/endpoint?url=…

Verify this score yourself

The score above is reproducible: the same package version always yields the same result. Run it locally or over the free API — no account, no LLM, fully deterministic.

npx mcptrustchecker scan powerbi-mcp-designer --online --registry pypi

Use the free API → How scoring works

More in Developer Tools