Fabric Admin MCP Server

Fabric Admin MCP Server

Provides MCP tools to manage Microsoft Fabric capacities, including listing, creating, updating, and deleting them, using Azure authentication.

Category
Visit Server

README

Fabric Admin MCP Server

An open-source MCP server to perform operations on Microsoft Fabric, like administration and management of Fabric capacities. At this moment, this repo has an initial set of tools to manage Capacities, but it will be expanded to further support additional tools and Fabric administration workloads.

✨ Features

  • Exposes Fabric admin operations as MCP tools;
  • Uses secure, yet flexible, authentication mechanisms for Azure and Fabric, like Service Principal and Managed Identities;
  • FastAPI + FastMCP for a modern, async, extensible backend;

🤖 Interacting with the MCP Server

You can use any MCP Client to interact with this MCP server. Below, is a sample showing how to interact with it using GitHub Copilot on VSCode as a MCP Client:

Sample interaction with the MCP Server

This example demonstrates how the MCP tools are exposed and can be accessed for managing Microsoft Fabric resources.

🗂️ Project Structure

  • server.py — Main entry point to start the MCP server
  • common.py — Shared utilities and logging
  • src/capacity/ — Logic to interact with Fabric and expose then as MCP tools
  • requirements.txt — Python dependencies

⚡ Quickstart

  1. Install dependencies:

    pip install -r requirements.txt
    
  2. Set up authentication:

    • The server uses DefaultAzureCredential for secure Azure API access.
    • You can authenticate using:
      • Azure CLI: Run az login in your terminal.
      • Managed Identity: If running in Azure, ensure the managed identity has the required permissions.
      • Service Principal: Create a .env file in the project root with applicable variables (see "Using a Service Principal for Authentication" section below for details).
  3. Run the MCP server locally:

    python server.py
    

    The server will start at http://127.0.0.1:8000/mcp/.

  4. Test with VS Code as a Client:

    • Open the Command Palette (Ctrl+Shift+P), search for "MCP: Connect to Server", and enter http://127.0.0.1:8000/mcp/.
    • You can now use MCP tools exposed by this server directly from VS Code using Agent Mode.

📦 Requirements

  • Python 3.8+;
  • Azure credentials with proper access to the backend (Azure/Fabric admin)/

🔐 Using a Service Principal for Authentication

  1. Create a Service Principal (if you don't have one):

    az ad sp create-for-rbac --name <your-app-name> --role Contributor --scopes /subscriptions/<your-subscription-id>
    

    Note the appId (Client ID), tenant, and password (Client Secret) from the output.

  2. Create a .env file in the project root: Copy .env.example to .env and fill in your values:

    AZURE_CLIENT_ID=your-service-principal-client-id
    AZURE_TENANT_ID=your-tenant-id
    AZURE_CLIENT_SECRET=your-service-principal-client-secret
    
  3. Authorize the Service Principal: Ensure the Service Principal has appropriate permissions. For example, at least Contributor at subscription or Resource Group level to manage Fabric Capacities. Additional Admin API access will be required for additional tools yet to be developed.

  4. Run the server: The server will automatically use these credentials for authentication via DefaultAzureCredential.

🚀 Future Improvements

  • Add option to deploy as a Docker image.
  • Add option to deploy as an Azure Function.
  • Add tools for additional Fabric management operations, such as Workspace management and reviewing capacity settings.
  • Improve documentation and provide more usage examples.
  • Add automated tests and CI/CD pipeline for deployments.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured