Modernize Microsoft Fabric CI/CD using the Azure DevOps MCP Server

This post shows how you can modernize Microsoft Fabric CI/CD using the Azure DevOps MCP Server. By showing examples of how you can use natural language when working with GitHub Copilot in Visual Studio Code to perform a variety of tasks you tend to perform manually in Azure DevOps.

Currently there is a lot more focus on how you can modernize your way of working with AI and offerings such as MCP Servers. Especially when it comes to performing various tasks with prompts in various applications.

I must admit I enjoy the ability to work this way in Visual Studio Code. As you can probably tell from previous posts. Including my recent one about the ability to chat with Fabric Data Agents in Visual Studio Code. Plus, I am also keen on the ability to perform Microsoft Fabric CI/CD.

You can follow along with the contents of this post. However, you can also test the contents of this post with other applications. Such as Claude Desktop. You can find out more about how to do that in the getting started details page provided by Microsoft.

Setting up the Azure DevOps MCP server

First I went through the setup instructions. Including creating the “mcp.json” file and clicking start to authenticate. As shown below.

Populated organization name in mcp.json file to start modernizing Microsoft Fabric CI/CD using the Azure DevOps MCP Server
Populated organization name in mcp.json file

I then asked. I had to click the allow button, which then opened up my browser to authenticate with the Azure DevOps organization. to authenticate with Azure DevOps. Once done closed the tab in browser and returned to Visual Studio Code.

Modernize Microsoft Fabric CI/CD using the Azure DevOps MCP Server

First of all, I asked it to list all the projects in my Azure DevOps organization. Which returned a list of all of the projects for me.

MCP server returning list of Azure DevOps projects whilst showing how to modernize Microsoft fabric CI/CD
MCP server returning list of Azure DevOps projects

As you can see right under the question, it provides an overview of how it came to the results.

I then asked it to list all repos in my Fabric project. As you can see from the extract below, it returned a nice long list for me.

I’ll query Azure DevOps for all repositories in your Fabric project and summarize them.

Repositories in project “Fabric” (MyOrg)
Total: 40

6MSLearnDatawarehouse — 1d69e623-7369-4fdc-8738-aaaaaaaaaaa — https://dev.azure.com/MyOrg/Fabric/_git/6MSLearnDatawarehouse

I then asked it to list all the repositories in my Fabric project that started with fabric-cicd. Because I was prompted to click allow again, I selected the option to always allow for the session. To avoid being asked again. Afterwards, it returned the correct repositories as below.

I’ll pull the repository list for Fabric and filter to names starting with fabric-cicd.

Repos starting with “fabric-cicd” in Fabric
Total: 2

fabric-cicd-sample — 954f70dc-4a43-aaaaaaaaaaa — https://dev.azure.com/MyOrg/Fabric/_git/fabric-cicd-sample
fabric-cicd-with-automated-tests — 749e8663-9476-4699-ac48-aaaaaaaaaaa — https://dev.azure.com/MyOrg/Fabric/_git/fabric-cicd-with-automated-tests

Want me to grab extra details like default branch, last commit, or pipeline status for either of these?

I then asked it to list for me all YAML pipelines that have the fabric-cicd-sample repo as a source. Which it did nicely as you can see from the below extract.

I’ll query builds filtered by the fabric-cicd-sample repo and dedupe by pipeline definition to list the YAML pipelines associated with that repo.

YAML pipelines using repo “fabric-cicd-sample”
6 - fabric-cicd example with all variables — ID 30 — https://dev.azure.com/MyOrg/Fabric/_build?definitionId=30

Performing actual actions

To test performing actual actions instead of just returning results I took it one step further and asked it to run one of the pipelines for me.

Can you run the "6 - fabric-cicd example with all variables" pipeline please.

Which returned the below:

Pipeline "6 - fabric-cicd example with all variables" (ID 30) is now running!

Run details:

Run ID: 1171
Build name: 20260113.3
Status: Queued (state 1)
Created: 2026-01-13T18:52:57.584Z
Branch: main
View run: https://dev.azure.com/MyOrg/da7a194d-8269-4c03-8837-aaaaaaaaaaa/_build/results?buildId=1171

One very powerful thing that you can do with the Azure DevOps MCP server is create rich wiki pages. So I decided to test creating a wiki page with natural language.

First, I got a list of all wikis in my project. I then asked it the below:

Using the Azure DevOps MCP server create a new wiki page called "List of all pipelines" in my Fabric.wiki wiki in my fabric project and add three tables

One that contains a list of all the Classic Build Pipelines in my Fabric project, a link to each one and then list all of the repos used as the source?

One that contains a list of all the Release Pipelines in my Fabric project, a link to each one and then list all of the repos used as the source?

One that contains a list of all the YAML Pipelines in my Fabric project, a link to each one and then list all of the repos used as the source and then the yml file name please?

Can you ensure that each table has a clear header please.

That is when I discovered that the current version of the MP Server does not cater for release pipelines. So, I tried again asking for the details for Classic Build Pipelines and YAML Pipelines. Which returned a very nice wiki page for me.

Further testing led me to various discoveries. Including the fact that in the returned build definitions type 1 represents Classic Build Pipelines and type 2 are YAML Pipelines. Since I had mixed results during testing the creation of wiki pages, I tested creating a new wiki page by clearly stating the two types.

I must admit, I did challenge it when it stated that at one stage that I had no Classic Pipelines. However, I was very impressed by the fact that it corrected itself and updated the wiki page for me.

Azure Devops MCP Server correcting itself
Azure DevOps MCP Server correcting itself

When I checked in Azure Devops the wiki page had been updated for me.

Working with natural language to deliver high-quality Wiki documents is great. Because it opens the potential to create high-impact wiki documents for your Microsoft Fabric implementations with less effort. Just remember that at times you need to verify the results.

Final thoughts about modernizing Microsoft Fabric CI/CD using the Azure DevOps MCP Server

I think the ability to modernizing Microsoft Fabric CI/CD using the Azure DevOps MCP Server by asking with natural language is a nice alternative to working with the GUI in Azure DevOps.

Plus, it allows the potential for more possibilities when combined with other MCP Servers. Especially for those of you looking to create detailed wiki pages.

As you can see, you need to ensure that your prompt engineering skills are up to scratch. Plus, as shown in this post you can challenge the results to get them corrected.

Since the Azure DevOps MCP Server is relatively easy to install, I recommend experimenting for yourself.

1 thought on “Modernize Microsoft Fabric CI/CD using the Azure DevOps MCP Server”

Leave a Comment