powerbi-health-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@powerbi-health-mcpRun a health check on my Power BI tenant and prioritize issues."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
powerbi-health-mcp
An AI-powered Power BI dataset health monitor, built with Claude + MCP.
This demo project connects Claude to a simulated Power BI tenant through the Model Context Protocol (MCP) and turns it into a dataset health analyst. Instead of clicking through refresh histories workspace by workspace, you ask:
"Run a health check on my Power BI tenant. What's broken, why, and what should I fix first?"
...and Claude calls the MCP tools, correlates refresh failures with gateway status, and answers with a prioritized action plan.
flowchart LR
A[Claude Desktop] -- MCP (stdio) --> B[powerbi-health-mcp\nFastMCP server]
B --> C[(Mock Power BI tenant\n3 workspaces, 7 datasets,\n2 gateways)]
B -. same tool surface as .-> D[Power BI REST API]Why mock data?
The point of the demo is the AI + MCP workflow, not tenant setup. The
server ships with a realistic mock tenant (refresh histories are generated
relative to now, so the demo always looks live) and requires zero
credentials — clone and run. The tool surface intentionally mirrors the
real Power BI REST API (groups, datasets, refreshes, gateways), so
swapping the mock layer for requests calls with a service principal token
is a contained change.
Related MCP server: PowerBI Analyst MCP
What's in the mock tenant
Dataset | Workspace | Seeded problem |
Sales Master | Sales Analytics | none — healthy |
Regional Pipeline | Sales Analytics | failing 3 days — expired SQL credentials |
P&L Consolidated | Finance Reporting | refresh timeout at 120 min (no incremental refresh) |
AP Aging | Finance Reporting | none — healthy |
Budget vs Actuals FY24 | Finance Reporting | stale 21 days — owner left the company |
Plant Telemetry | Operations | failing — its gateway has been offline 30h |
Logistics KPIs | Operations | intermittent failures — memory pressure on shared capacity |
A good health-check answer should find all five problems, notice that Plant Telemetry's failures are a gateway issue rather than a dataset issue, and flag the orphaned owner on the stale dataset.
MCP tools exposed
Tool | Purpose |
| One-shot overview: counts by health state, problem datasets, offline gateways |
| Workspaces with capacity type |
| Datasets with owner, schedule, health state (optional workspace filter) |
| Per-dataset run history with durations and error messages |
| Gateway status + which datasets depend on each |
| Simulated on-demand refresh — fails again until the root cause is "fixed" |
Health states: HEALTHY, DEGRADED (recent intermittent failures),
FAILING (latest run failed), STALE (no successful refresh in 7+ days).
Setup
Requires Python 3.10+.
git clone https://github.com/<you>/powerbi-health-mcp.git
cd powerbi-health-mcp
pip install -r requirements.txt
# quick smoke test without any MCP client:
python server.py --selftestConnect to Claude Desktop
Add to claude_desktop_config.json
(Settings → Developer → Edit Config), then restart Claude Desktop:
{
"mcpServers": {
"powerbi-health": {
"command": "python",
"args": ["/absolute/path/to/powerbi-health-mcp/server.py"]
}
}
}A ready-to-edit copy is in
claude_desktop_config.example.json.
Demo prompts to try
The health check — "Use the powerbi-health tools to run a full health check on the tenant. Group problems by root cause and give me a prioritized fix list."
Root-cause reasoning — "Plant Telemetry keeps failing. Is the problem the dataset or something upstream?" (Claude should correlate it with the offline gateway.)
The skeptic test — "Trigger a refresh of Regional Pipeline and tell me if that fixed it." (It won't — broken credentials — and Claude should say so instead of declaring victory.)
The report — "Write a Monday-morning status email to the BI team summarizing tenant health, with owners to contact for each issue."
Findings
My honest take on what worked and what didn't lives in FINDINGS.md — filled in after testing this with a real-world use case, as promised in the LinkedIn post that started this.
Roadmap
Real Power BI REST API mode behind the same tool surface (service principal auth)
execute_daxtool via theexecuteQueriesendpointScheduled health snapshots + trend comparison ("what got worse this week?")
License
MIT — see LICENSE.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- -license-quality-maintenanceEnables Claude AI to analyze Power BI Desktop models with comprehensive capabilities including DAX analysis, performance monitoring with Storage Engine/Formula Engine breakdown, VertiPaq statistics, and natural language querying of model structure and data.
- AlicenseAqualityDmaintenanceConnect Claude to your Power BI semantic models. Browse workspaces, tables, and measures, run DAX queries, and get results — with large datasets automatically saved to local CSV files to protect the LLM context window. Includes a query history log for cross-session reuse and auditability.1313MIT
- Alicense-qualityAmaintenanceMCP server for Microsoft Power BI and Fabric, enabling Claude to discover workspaces, semantic models, generate and execute DAX queries, and retrieve report metadata via device-code authentication.18MIT
- Flicense-qualityDmaintenanceEnables AI-driven incident response by connecting Claude to monitoring tools like Prometheus, Grafana, Loki, PagerDuty, and Slack for automated investigation and runbook generation.9
Related MCP Connectors
WHOOP recovery, strain, sleep and workouts in Claude via official WHOOP OAuth. Free, open source.
Uptime, SSL, DNS and domain monitoring you can talk to from Claude or any MCP client.
Garmin data in Claude: 135 tools — activities, sleep, HRV, training, workouts. Free, open source.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ramalakshmi0505/powerbi-health-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server