Fabric Core MCP Server: Scan and Configure OneLake Security with AI

With the appearance of AI tools, LLMs, MCP servers, and skills, everyone these days is interested in what tool can do what. I’ve already explained the Power BI Modeling MCP server and Fabric Skills in previous videos. In this one, I’ll talk about the Fabric Core MCP server, an MCP server that gives you the ability to use APIs related to Fabric, and you can do genuinely interesting things with it. In the demo below, I scan my workspaces to find which objects have OneLake security set up, then create and reassign roles for it, all using AI, specifically GitHub Copilot, with the help of the Fabric Core MCP server.


What Is Fabric Core MCP Server (Video: 1:07)

There are multiple MCP servers available for Fabric and Power BI, and different skills available too. Fabric Core MCP server is, at its core, a set of APIs, written in a standard that AI tools and AI assistants can consume. Instead of writing a program to call those APIs yourself, AI understands the MCP server standard and uses those APIs on your behalf, which is why we stop calling them APIs and start calling them MCP servers instead.

Fabric Core MCP server is actually a group of MCP servers bundled together, giving you capabilities across Fabric. There are MCP servers for the OneLake structure, MCP servers for Data Factory, and these are all combined under Fabric Core MCP server. To use it, you need an AI tool of your choice, in this video I use Visual Studio Code as my development environment and GitHub Copilot as my AI assistant, but you could use Claude Code, Codex, or anything else, it doesn’t matter which one you use, the same MCP server can be added to any of them.

Setting Up Fabric Core MCP Server in VS Code (Video: 2:36)

If you search “Fabric Core MCP server,” you’ll land on a Microsoft Learn page with full installation instructions, and once you follow it, the server gets added to your tool of choice, in my case VS Code and GitHub Copilot.

In VS Code, press Ctrl+Shift+P to bring up the Command Palette, and type something like “MCP: Add Server.” It will ask which server to add, Fabric Core MCP server is in HTTP format, so you add that link there. After that, it starts authenticating and gets added to your MCP server list. From there, click the settings icon and start the server, and it becomes available to use, as simple as that.

Listing Fabric Workspaces with a Simple Prompt (Video: 4:22)

With the server running, I tried a few prompts. First, a simple one: “list my Fabric workspaces.” This uses the Fabric MCP server to query that information directly, no manual API call needed. You can confirm it’s actually being used by clicking Configure Tool, where you’ll see multiple MCP servers listed, with this one enabled, showing every underlying tool, OneLake configuration tools, Data Factory tools, catalog search, and more. You don’t need to mention any of that explicitly, as long as your prompt implies it, the AI knows which tool to reach for.

Finding Which Lakehouse Has OneLake Security Configured (Video: 5:26)

Next, I asked: in a specific workspace, which of the lakehouses has a custom OneLake security role enabled in it? This follows directly from a previous video where I walked through setting up OneLake security roles, and this demo continues on that same setup.

The AI found the workspace, scanned all the lakehouses in it, and correctly identified which one had that configuration. You can watch it actually calling the MCP server in the process, first scanning every lakehouse, then narrowing down to the one with the matching role.

Checking the Role Definition Without Fabric Capacity Running (Video: 6:31)

I then asked what the actual criteria for that role was, and it returned the exact underlying query: the Geography table filtered on country name, showing precisely which countries that role’s members would have access to.

One notable detail: all of this worked while my Fabric capacity was paused. Since this information comes from the catalog rather than requiring live compute, none of it needs an active capacity to function. Checking this against the actual OneLake security configuration in the Fabric portal confirmed it matched exactly, same lakehouse, same role, same row level security condition on the Geography table. That alone is useful for documentation purposes.

Creating One Role Per Country Automatically (Video: 8:16)

The more interesting example goes further. In my Geography table I have a handful of countries, Australia, France, Germany, UK, and a few others. In the real world, you might want one role per country, and you might have hundreds of countries, not just six or seven. Creating and maintaining that manually would be tedious, and this is exactly where AI helps.

I asked it to create one custom role for each distinct value in the country field, so that members of that role could only see that specific country. From this point on I started up my Fabric capacity, since this step involves actual changes, not just reads. The AI first got a distinct list of country values, then created a role for each one, Canada, Australia, France, Germany, and the rest. Checking back in Manage OneLake Security in the Fabric portal, every single role was there, exactly as requested, and if there had been a thousand countries instead of six, it would have created a thousand roles just as easily. This is precisely the kind of mundane, repetitive process AI is genuinely good for.

Changing Role Membership for a Specific User (Video: 10:53)

Next, I tested changing role membership. Before any changes, a specific test user had access to United States and UK, showing roughly $12 million in total sales across those states. I then asked the AI to give that same user access only to Canada, Germany, and France instead, based on the role definitions already created.

In a real environment, best practice would be assigning security groups rather than individual users, but for this demo I used a single sample user directly. The AI added that user as a member of each of the three specified roles, and removed them from the role they’d previously belonged to. Checking Manage OneLake Security confirmed it: the user was now a member of the Canada, Germany, and France roles, correctly, and importantly, was not added to Australia, since I never asked for that. Refreshing the report from that user’s perspective showed exactly the expected result: France, Germany, and Canada only, roughly $7 million in total sales, with all the states within those three countries listed.

Why This Matters: Beyond Documentation

What I managed to do in this example was use Fabric Core MCP server and its underlying OneLake APIs not just to scan and understand an existing role level security configuration, but to actually change it. I could have created thousands of roles this way, even in a fully static row level security setup, and the AI creates them correctly, without manual errors.

This was just one example of what Fabric Core MCP server can do. You can use it for documentation, for creating and modifying Data Factory objects, for monitoring, for the entire OneLake structure, and there will be more MCP servers connecting under this umbrella going forward.

Summary

Fabric Core MCP server turns a set of Fabric APIs into something your AI assistant can actually operate, not just to read your configuration, but to change it, at a scale that would be genuinely tedious to do by hand. I’d highly recommend going and playing with it yourself. If you have any comments or questions, drop them below, I read every one.


About Reza Rad

Reza Rad is a Microsoft Regional Director and a 16-year consecutive Microsoft Data Platform MVP, recognized as one of the world’s leading voices on Power BI and Microsoft Fabric. He is co-founder of RADACAD, a Microsoft Gold Partner delivering Power BI and Fabric consulting and training to organizations across 80+ countries, and co-founder of the Difinity Conference and the Power BI & Fabric Summit. Reza has authored more than 10 books on Power BI and Microsoft BI technologies, published over 1,000 technical articles, and personally trained thousands of data professionals worldwide. Whether you need a full analytics architecture built from the ground up, a stuck DAX formula or performance issue solved, or a team trained from the basics to advanced Fabric implementation, Reza and the RADACAD team offer both hands-on consulting and structured training to get you there. Learn more at radacad.com.


Reza Rad on FacebookReza Rad on LinkedinReza Rad on TwitterReza Rad on Youtube
Reza Rad
Trainer, Consultant, Mentor
Reza Rad is a Microsoft Regional Director, an Author, Trainer, Speaker and Consultant. He has a BSc in Computer engineering; he has more than 20 years’ experience in data analysis, BI, databases, programming, and development mostly on Microsoft technologies. He is a Microsoft Data Platform MVP for 12 continuous years (from 2011 till now) for his dedication in Microsoft BI. Reza is an active blogger and co-founder of RADACAD. Reza is also co-founder and co-organizer of Difinity conference in New Zealand, Power BI Summit, and Data Insight Summit.
Reza is author of more than 14 books on Microsoft Business Intelligence, most of these books are published under Power BI category. Among these are books such as Power BI DAX Simplified, Pro Power BI Architecture, Power BI from Rookie to Rock Star, Power Query books series, Row-Level Security in Power BI and etc.
He is an International Speaker in Microsoft Ignite, Microsoft Business Applications Summit, Data Insight Summit, PASS Summit, SQL Saturday and SQL user groups. And He is a Microsoft Certified Trainer.
Reza’s passion is to help you find the best data solution, he is Data enthusiast.
His articles on different aspects of technologies, especially on MS BI, can be found on his blog: https://radacad.com/blog.

Leave a Reply

Your email address will not be published. Required fields are marked *