A Model Context Protocol (MCP) server for Microsoft Fabric resource discovery and information retrieval. This server provides tools for authentication and accessing Microsoft Fabric resources through a standardized MCP interface.
- Azure AD Authentication: Interactive and service principal authentication
- Gateway Management: List, retrieve, and create Microsoft Fabric gateways (including VNet gateways)
- Connection Management: List, retrieve, and create Microsoft Fabric connections (cloud SQL and VNet gateway SQL)
- Workspace Management: List and retrieve Microsoft Fabric workspaces
- Dataflow Management: List, create, and retrieve Microsoft Fabric dataflows
- Capacity Management: List and retrieve Microsoft Fabric capacities
- Microsoft Fabric Integration: Support for on-premises, personal, and virtual network gateways
- 📦 NuGet Distribution: Available as a NuGet package for easy integration
- 🔧 MCP Protocol: Built using the official MCP C# SDK
- Authentication:
authenticate_interactive,authenticate_service_principal,get_authentication_status,get_access_token,sign_out - Gateway Management:
list_gateways,get_gateway,create_v_net_gateway - Connection Management:
list_connections,get_connection,create_cloud_sql_basic,create_v_net_sql_basic - Workspace Management:
list_workspaces - Dataflow Management:
list_dataflows,create_dataflow - Dataflow Query Execution:
execute_query(Preview) - Capacity Management:
list_capacities
-
Configure your IDE: Create an MCP configuration file in your workspace:
VS Code: Create
.vscode/mcp.jsonVisual Studio: Create.mcp.jsonin solution directory{ "servers": { "DataFactory.MCP": { "type": "stdio", "command": "dnx", "args": [ "Microsoft.DataFactory.MCP", "--version", "#{VERSION}#", "--yes" ] } } } -
Start using: The server will be automatically downloaded and available in your IDE's MCP-enabled chat interface.
To run the server locally during development:
{
"servers": {
"DataFactory.MCP": {
"type": "stdio",
"command": "dotnet",
"args": [
"run",
"--project",
"path/to/DataFactory.MCP"
]
}
}
}- .NET 10.0 or later
- Azure AD tenant and application registration with appropriate permissions
- Environment variables for authentication (see Authentication Guide for setup details)
See the detailed guides for comprehensive usage instructions:
- Authentication: See Authentication Guide
- Gateway Management: See Gateway Management Guide
- Connection Management: See Connection Management Guide
- Workspace Management: See Workspace Management Guide
- Dataflow Management: See Dataflow Management Guide
- Capacity Management: See Capacity Management Guide
# Restore dependencies
dotnet restore
# Build the project
dotnet build
# Create NuGet package
dotnet pack -c Release- Configure your IDE with the development configuration shown above
- Run the project:
dotnet run - Test the tools through your MCP-enabled chat interface
For complete documentation, see our Documentation Index.
- Authentication Guide - Complete authentication setup and usage
- Gateway Management Guide - Gateway operations and examples
- Connection Management Guide - Connection operations and examples
- Workspace Management Guide - Workspace operations and examples
- Dataflow Management Guide - Dataflow operations and examples
- Capacity Management Guide - Capacity operations and examples
- Architecture Guide - Technical architecture and design details
We welcome contributions! To get started:
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
Please follow standard .NET coding conventions and ensure all tests pass before submitting.
The server is designed for extensibility. For detailed information on extending functionality, see the Extension Points section in our architecture documentation, which covers:
- Adding New Tools: Create custom MCP tools for additional operations
- Adding New Services: Implement new services following our patterns
- Service Registration: Proper dependency injection setup
This modular architecture makes it easy to add support for additional Azure services or custom business logic.
This project is licensed under the MIT License - see the LICENSE file for details.
For issues and questions:
- Create an issue in this repository
- Review the MCP documentation