MCP Connector: Integrating AI agent with Data Warehouse in Microsoft Fabric
LocalAbout MCP Connector: Integrating AI agent with Data Warehouse in Microsoft Fabric
This repository demonstrates an Azure OpenAI-powered AI agent connecting to a Microsoft Fabric data warehouse through GraphQL and MCP. It includes client and server apps and a Gradio UI for querying and mutating warehouse data.
Key features
- 01Connect an agent to Microsoft Fabric data
- 02Expose a GraphQL API through MCP
- 03Support GraphQL queries and mutations
- 04Launch and initialize from a Gradio UI
Use cases
- 01Demonstrate agent access to warehouse data
- 02Query or update data in a Fabric warehouse
- 03Explore GraphQL and MCP integration
MCP support
The MCP server exposes access to a Microsoft Fabric GraphQL endpoint, while the MCP client connects an Azure OpenAI-powered agent to it. The demo supports data access through GraphQL queries and mutations.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEMCP Connector: Integrating AI agent with Data Warehouse in Microsoft Fabric
This repo demonstrates the integration of an Azure OpenAI-powered AI agent with a Microsoft Fabric data warehouse using the Model Context Protocol (MCP), open integration standard for AI agents by Anthropic.
MCP enables dynamic discovery of tools, data resources and prompt templates (with more coming soon), unifying their integration with AI agents. GraphQL provides an abstraction layer for universal data connection. Below, you will find detailed steps on how to combine MCP and GraphQL to enable bidirectional access to enterprise data for your AI agent.
Note
In the MCP server's script, some query parameter values are hard-coded for the sake of this example. In a real-world scenario, these values would be dynamically generated or retrieved.
Table of contents:
- Part 1: Configuring Microsoft Fabric Backend
- Part 2: Configuring Local Client Environment
- Part 3: User Experience - Gradio UI
- Part 4: Demo video on YouTube
Part 1: Configuring Microsoft Fabric Backend
- In Microsoft Fabric, create a new data warehouse pre-populated by sample data by clicking New item -> Sample warehouse:

- Next, create a GraphQL API endpoint by clicking New item -> API for GraphQL:

- In the data configuration of GraphQL API, choose the Trip (dbo.Trip) table:

- Copy the endpoint URL of your GraphQL API:

Part 2: Configuring Local Client Environment
- Install the required Python packages, listed in the provided requirements.txt:
pip install -r requirements.txt
- Configure environment variables for the MCP client:
| Variable | Description |
|---|---|
AOAI_API_BASE | Base URL of the Azure OpenAI endpoint |
AOAI_API_VERSION | API version of the Azure OpenAI endpoint |
AOAI_DEPLOYMENT | Deployment name of the Azure OpenAI model |
- Set the value of the
AZURE_FABRIC_GRAPHQL_ENDPOINTvariable with the GraphQL endpoint URL from Step 1.4 above. It will be utilised by the MCP Server script to establish connectivity with Microsoft Fabric:
| Variable | Description |
|---|---|
AZURE_FABRIC_GRAPHQL_ENDPOINT | Microsoft Fabric's GraphQL API endpoint |
Part 3: User Experience - Gradio UI
- Launch the MCP client in your command prompt:
python MCP_Client_Gradio.py
- Click the Initialise System button to start the MCP server and connect your AI agent to the Microsoft Fabric's GraphQL API endpoint:

- You can now pull and push data to your data warehouse using GraphQL's queries and mutations enabled by this MCP connector:

Part 4: Demo video on YouTube
A practical demo of the provided MCP connector can be found on this YouTube video.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.