Conversational BI
Using MCP Servers
Stewart Hunter · SQLBits 2026 · ICC Wales
About Me
- BI Lead At Arnold Clark — UK's Largest Automotive Dealership
- 10 years there building the BI Platform
- Data / Analytics / BI Professional
Today's Presentation
- MCP Servers — what are they?
- Why use them?
- How can they integrate with Fabric / Power BI / your estate?
- Getting started
The Evolution of BI / Self Serve Tools
Excel1985
OLAP (SSAS)1998
Reporting Services2004
Power BI2015
AI / LLMs2023
- New BI tools appear periodically
- These have all helped us develop, as well as self serve
- We have a new tool: AI (you may have heard)
Self Serve
- Bridging the gap between questions and answers
- Giving users new options for exploration
The
Self-Service Idea
Self-Service Idea
- The business has lots of questions
- Self-service lets them answer questions themselves
The
Reality
Reality
- Complex models are difficult for non-technical users
- Unable to ask a direct question and get an answer
- Requests to the Data / BI / Analytics team
- Report sprawl
Conversational BI For Self Serve
- New possibilities with AI
- Users can ask natural language questions to their data
- They can ask for data, reports, how reports work, etc.
- What are our options for getting there?
Current Options
- Microsoft have already given us some great options for "speaking to our data"
Copilot
- Can talk to your data
- Can ask questions about Reports, Datasets, Workspaces
- Set up Q&As, create synonyms, etc.
Data Agents
- Customisable — define what the agent does
- Still not as customisable as MCPs
Microsoft's Options
It just works.
Pros
- Microsoft have set up the infrastructure
- Things are easily plugged in
- Security works (Dataset Security, RLS)
- Data is secure
- IT kept happy
- Quick to get started
Cons
- Extendable to the point MS allows you to configure
- Safety guardrails installed
- Designed for predictability over flexibility
- Responses can feel structured and predictable rather than conversational
Demos
Example Model — Star Autos
Fictional Car Sales Company
15
dealers across the UK
75
Product Consultants
Synthetically generated data: Sales, Complaints, Stock
Demo 1
- Copilot with Data Agents
- Asking some standard questions and exploring capabilities

Other Options?
- Can we build this functionality using other tools?
MCP:
Model
Context
Protocol
Context
Protocol
MCP Servers — Another Option
- What do MCP Servers give us?
- More options for extending
Conceptually
- AI / LLMs has its own "world"
- Can't know about your data, your report catalogue, etc.
- Can't talk to you about those things
- We need a bridge: MCP
- Connects AI to tools
Background
- Originally Created by Anthropic
- Open Source
- Community Driven
- LLM Agnostic
- Adopted by Microsoft, OpenAI, Google,…
AI / LLM "Knowledge"
⟷
MCP
⟷
Extra Context
Demo 2
- Using Claude as our AI via an MCP
What Happened Here?
Question (Claude Desktop)
↓
Can I answer this with my existing knowledge?
↓
Do I have an MCP that can help answer this?
↕
Power BI MCP
Answer (Claude Desktop)
↕
Power BI (Service / Online)
MCP Tools For This Scenario
- list_workspaces—what workspaces tell me about Star Autos?
- list_datasets—what datasets can I use to answer this?
- get_model_definition—what is in this dataset?
- execute_dax_query—run the query that gives me the answer
What Made This Possible
- Fabric CLI changes
Demo 3 — What else can we do?
- Electric Vehicles Conversation

The End Of Reports and Dashboards?
- Of course not
- It's enrichment, not replacement
Users Still Need
Dashboards & Reports
Dashboards & Reports
- Familiar curated views
- Data in 3 seconds
- Defined scorecards, targets, etc.
- Deep dive analysis — e.g. individual orders
When to Use AI
- Quick "random" questions
- Exploratory analysis for non-technical users
- If we want to use data outside of our model
- Navigation and discoverability
Potential Business User Flow
How might users actually use this?
01User Question
→
02Conversational Answer
→
03More Conversation
→
04Link To Report / Details etc
Potential Business User Flow
How might users actually use this?
01Report Request via AI
→
02Report & Conversational Answer
→
03More Conversation
→
04Link To Report / Details etc
Other Scenarios / Uses
Creating Reports — Self Serve In Action
Demo 4 — Vibe Report Creation
- Task: Create a Balanced Scorecard containing specific metrics and make it changeable

Demo
Demo 5 — Saving Reports
- What if we want to come back to reports or analytics we've done?
MCP Setup
Setup
- Fabric Connection Exists
- Lakehouse Is Available
- Save "Analytics Store" entries to Fabric
AI / LLM
→
MCP
→
Semantic Model
→
Lakehouse
The Analytics Store
Saving Reports
- Options to save different types of things: high-level DAX, rendering spec, description
- Full Report in HTML format
- DAX queries for filters, etc. saved
- Uses MSAL Authentication — queries quickly
- Investigation: higher level combination of text and visuals
Some Report Examples..
Orders Against Weather
- Task: Does a change in weather make a difference to orders created?
- Get weather data (external)
- Ask for a comparison of Weather Data vs Sales Data


Map — Dark Mode
- Make a report — ambitious snazzy dark map
- On branch filter: zooms in on the location
- PC list animates in with "spy movie" character-by-character text effect
- Table overlaid on map, branch dot positions left of map



Artifacts In Claude
More Vibing
New Claude Cowork Capabilities
- As of this week
- Create a report as an artifact in Cowork in Claude
- HTML styled report
- Live connection to the Power BI Semantic Model
- Use profiler to see the queries running live


What about Power BI?
Back To Reality Vibing
Demo 6 — Power BI AI Generated Reports
- Taking the HTML reports as designs for Power BI
- Creating Power BI versions with a Power BI Report Creation MCP



Report Creation — New Ways Of Working
- New method for creating reports: text prompts
- Chity-Chatty Typey-Talky Data Analysis
- Part of the evolution of the OS
How do we build MCPs?
What We Need
- VS Code as a development environment
- The server is made up of Python files — various packages used
- We set up the MCP in natural language in a JSON file
- Similar to Data Agents — you don't need to be a developer
VS Code Demo
We need:
- A Server File — Python file defining the server (server.py)
- A JSON file — tells VS Code what the server is (mcp.json)
Files Required
- server.py — defines the server tools and logic
- mcp.json — registers the server with VS Code


MCP Other Scenarios / Uses
Options for other extensions using MCPs
Development Tools
- Create / edit notebooks
- Edit Semantic Models (see Microsoft's MCP tool)
- Change measure used in reports (.pbir files)
- SQL related tasks
Business Uses
- Report documentation — conversational documentation
- Defining priorities
- Jira / ticketing updates
- Creating reports
Our Context
What does this mean for us?
User Expectations
- AI is here
- Conversational experiences becoming the norm
- Data and Analytics is no different
- How does it fit in? Dashboards & reports remain; Conversational BI a new tool
Changes for us
- AI is not coming for our jobs
- Our jobs are changing
- Centrally defined measures and semantic models are essential for this to work well
- Documentation, clean well labelled semantic models are more important than ever
- A new mindset
Where are we
- Still early(ish) days
- Enterprise adoption needs a lot of plumbing / security
- Microsoft will most likely have a lot of these options available… sometime
For our roles / work
- Will this become part of the job?
- A new role altogether?
- A specialism in data?
If you haven't already.. Get Started
- Try out the Microsoft Power BI MCP — query a model (beware where your data is going)
- You can do this in VS Code
- Build a simple MCP that's useful for you
- Change a measure in a .pbir file
- Set up an MCP that analyses CSV files
- Great YouTube series from Kurt Buhler to get started
- Using the MS Docs MCP helped a lot here as well
- Have fun with it!