ales-lepre/azure-mcp-server
If you are the rightful owner of azure-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The Azure MCP Server is designed to manage Microsoft Azure services such as Data Lake, Storage Account, and Fabric through a Model Context Protocol (MCP) server.
Azure MCP Server
Een Model Context Protocol (MCP) server voor Microsoft Azure services met uitgebreide ondersteuning voor cloud data platforms, analytics, en enterprise data warehouse oplossingen.
Features
Core Azure Services
- Azure Data Lake Storage Gen2: Beheer file systems, upload/download bestanden, maak directories
- Azure Blob Storage: Beheer containers, upload/download blobs, kopieer bestanden
- Microsoft Fabric / Power BI: Beheer workspaces, datasets, reports, dashboards, lakehouses en notebooks
- Azure Data Factory: ETL/ELT pipeline orchestratie en monitoring
- Azure SQL Database: Relationele database operaties en query uitvoering
- Azure Databricks: Big data processing, cluster en job management
- Azure Monitor: Operationele monitoring, alerts en diagnostics
- Azure Synapse Analytics: Uitgebreide analytics platform operaties
Enterprise Data Warehouse Capabilities
- Dimensional Modeling: Geautomatiseerde fact en dimension tabel generatie met SCD ondersteuning
- Star Schema Design: Complete star schema creatie met validatie en best practices
- Pipeline Orchestration: End-to-end ETL pipeline generatie en deployment
- Data Quality Framework: Geautomatiseerde data quality regels en monitoring
- Data Warehouse Architecture: Multi-layer enterprise DW design (Raw → Staging → Curated → Mart)
- Data Catalog Management: Metadata management en lineage tracking
Installatie
- Clone de repository en installeer dependencies:
git clone <repository-url>
cd azure-mcp-server
npm install
- Build het project:
npm run build
Configuratie
Stel de volgende environment variabelen in:
Authenticatie (kies een methode):
Optie 1: Service Principal (aanbevolen)
export AZURE_TENANT_ID="your-tenant-id"
export AZURE_CLIENT_ID="your-client-id"
export AZURE_CLIENT_SECRET="your-client-secret"
export AZURE_SUBSCRIPTION_ID="your-subscription-id"
Optie 2: Gebruik DefaultAzureCredential
De server gebruikt automatisch DefaultAzureCredential
als geen service principal is geconfigureerd.
Service configuratie:
# Data Lake Storage
export AZURE_DATALAKE_ACCOUNT_NAME="yourdatalakeaccount"
# Blob Storage
export AZURE_STORAGE_ACCOUNT_NAME="yourstorageaccount"
export AZURE_STORAGE_ACCOUNT_KEY="your-storage-key" # optioneel, gebruikt anders managed identity
# Fabric/Power BI
export AZURE_FABRIC_WORKSPACE_ID="your-workspace-id" # optioneel, kan ook per tool call worden opgegeven
export AZURE_FABRIC_TOKEN="your-fabric-token" # voor geavanceerde pipeline orchestratie
export AZURE_FABRIC_WORKSPACE_URL="https://your-workspace.fabric.microsoft.com" # optioneel
# Azure Databricks
export AZURE_DATABRICKS_TOKEN="your-databricks-token" # optioneel
export AZURE_DATABRICKS_WORKSPACE_URL="https://your-workspace.azuredatabricks.net" # optioneel
# Azure Synapse Analytics
export AZURE_SYNAPSE_TOKEN="your-synapse-token" # optioneel
export AZURE_SYNAPSE_WORKSPACE_URL="https://your-workspace.dev.azuresynapse.net" # optioneel
# Azure Monitor
export AZURE_LOG_ANALYTICS_WORKSPACE_ID="your-log-analytics-workspace-id" # optioneel
Claude Desktop Configuratie
Voeg de server toe aan je Claude Desktop configuratie:
Configuratie Bestand Locatie
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
- Linux:
~/.config/Claude/claude_desktop_config.json
Complete Configuratie (Alle Services)
{
"mcpServers": {
"azure-mcp-server": {
"command": "node",
"args": ["/path/to/azure-mcp-server/build/index.js"],
"env": {
// Vereist: Azure Authenticatie
"AZURE_TENANT_ID": "your-tenant-id",
"AZURE_CLIENT_ID": "your-client-id",
"AZURE_CLIENT_SECRET": "your-client-secret",
"AZURE_SUBSCRIPTION_ID": "your-subscription-id",
// Optioneel: Storage Services
"AZURE_DATALAKE_ACCOUNT_NAME": "your-datalake-account",
"AZURE_STORAGE_ACCOUNT_NAME": "your-storage-account",
"AZURE_STORAGE_ACCOUNT_KEY": "your-storage-key",
// Optioneel: Microsoft Fabric
"AZURE_FABRIC_WORKSPACE_ID": "your-fabric-workspace-id",
"AZURE_FABRIC_TOKEN": "your-fabric-token",
"AZURE_FABRIC_WORKSPACE_URL": "https://your-workspace.fabric.microsoft.com",
// Optioneel: Azure Databricks
"AZURE_DATABRICKS_TOKEN": "your-databricks-token",
"AZURE_DATABRICKS_WORKSPACE_URL": "https://your-workspace.azuredatabricks.net",
// Optioneel: Azure Synapse Analytics
"AZURE_SYNAPSE_TOKEN": "your-synapse-token",
"AZURE_SYNAPSE_WORKSPACE_URL": "https://your-workspace.dev.azuresynapse.net",
// Optioneel: Azure Monitor
"AZURE_LOG_ANALYTICS_WORKSPACE_ID": "your-log-analytics-workspace-id"
}
}
}
}
Minimale Configuratie (Alleen Core Services)
Voor basis Azure services (Data Factory, SQL Database, Monitor) is alleen dit nodig:
{
"mcpServers": {
"azure-mcp-server": {
"command": "node",
"args": ["/path/to/azure-mcp-server/build/index.js"],
"env": {
"AZURE_TENANT_ID": "your-tenant-id",
"AZURE_CLIENT_ID": "your-client-id",
"AZURE_CLIENT_SECRET": "your-client-secret",
"AZURE_SUBSCRIPTION_ID": "your-subscription-id"
}
}
}
}
Service-specifieke Notities
- Dimensional Modeling & Data Warehouse Tools: Altijd beschikbaar (geen extra configuratie nodig)
- Azure Storage & Data Lake: Vereisen storage account namen en optionele keys
- Microsoft Fabric Geavanceerde Pipelines: Vereisen workspace token en URL voor pipeline orchestratie
- Databricks & Synapse: Vereisen workspace-specifieke tokens voor cluster/pool management
- Monitor: Optionele workspace ID voor log analytics queries
Beschikbare Tools
Data Lake Storage
datalake_list_filesystems
- Toon alle file systemsdatalake_create_filesystem
- Maak een nieuw file systemdatalake_list_files
- Toon bestanden en mappen in een file systemdatalake_read_file
- Lees een bestanddatalake_upload_file
- Upload een bestanddatalake_delete_file
- Verwijder een bestanddatalake_create_directory
- Maak een directory
Blob Storage
storage_list_containers
- Toon alle containersstorage_create_container
- Maak een nieuwe containerstorage_delete_container
- Verwijder een containerstorage_list_blobs
- Toon blobs in een containerstorage_upload_blob
- Upload een blobstorage_download_blob
- Download een blobstorage_delete_blob
- Verwijder een blobstorage_get_blob_properties
- Toon blob eigenschappenstorage_copy_blob
- Kopieer een blob
Fabric / Power BI
fabric_list_workspaces
- Toon alle workspacesfabric_get_workspace
- Toon workspace detailsfabric_list_datasets
- Toon datasetsfabric_list_reports
- Toon reportsfabric_list_dashboards
- Toon dashboardsfabric_list_dataflows
- Toon dataflowsfabric_get_dataset
- Toon dataset detailsfabric_refresh_dataset
- Ververs een datasetfabric_get_dataset_refresh_history
- Toon refresh geschiedenisfabric_execute_dax
- Voer een DAX query uitfabric_list_lakehouses
- Toon lakehousesfabric_get_lakehouse
- Toon lakehouse detailsfabric_list_notebooks
- Toon notebooks
Azure Data Factory
datafactory_list_factories
- Toon alle data factoriesdatafactory_get_factory
- Toon factory detailsdatafactory_list_pipelines
- Toon pipelines in een factorydatafactory_get_pipeline
- Toon pipeline detailsdatafactory_trigger_pipeline
- Start een pipelinedatafactory_get_pipeline_runs
- Toon pipeline run geschiedenisdatafactory_get_activity_runs
- Toon activity runs voor een pipelinedatafactory_list_datasets
- Toon datasetsdatafactory_get_dataset
- Toon dataset detailsdatafactory_list_linked_services
- Toon linked servicesdatafactory_get_linked_service
- Toon linked service detailsdatafactory_list_triggers
- Toon triggersdatafactory_get_trigger
- Toon trigger details
Azure SQL Database
sql_list_servers
- Toon alle SQL serverssql_get_server
- Toon server detailssql_list_databases
- Toon databases op een serversql_get_database
- Toon database detailssql_execute_query
- Voer een SQL query uitsql_list_elastic_pools
- Toon elastic poolssql_get_elastic_pool
- Toon elastic pool detailssql_list_firewall_rules
- Toon firewall regelssql_create_firewall_rule
- Maak een firewall regelsql_delete_firewall_rule
- Verwijder een firewall regel
Azure Databricks
databricks_list_clusters
- Toon alle clustersdatabricks_get_cluster
- Toon cluster detailsdatabricks_start_cluster
- Start een clusterdatabricks_stop_cluster
- Stop een clusterdatabricks_create_cluster
- Maak een nieuw clusterdatabricks_delete_cluster
- Verwijder een clusterdatabricks_list_jobs
- Toon alle jobsdatabricks_get_job
- Toon job detailsdatabricks_run_job
- Start een jobdatabricks_list_workspaces
- Toon workspace objectendatabricks_upload_notebook
- Upload een notebookdatabricks_download_notebook
- Download een notebook
Azure Monitor
monitor_list_action_groups
- Toon alle action groupsmonitor_get_action_group
- Toon action group detailsmonitor_create_action_group
- Maak een action groupmonitor_delete_action_group
- Verwijder een action groupmonitor_list_metric_alerts
- Toon metric alertsmonitor_get_metric_alert
- Toon metric alert detailsmonitor_create_metric_alert
- Maak een metric alertmonitor_delete_metric_alert
- Verwijder een metric alertmonitor_list_diagnostic_settings
- Toon diagnostic settingsmonitor_create_diagnostic_setting
- Maak een diagnostic settingmonitor_query_logs
- Voer een KQL query uit op logs
Azure Synapse Analytics
synapse_list_workspaces
- Toon alle Synapse workspacessynapse_get_workspace
- Toon workspace detailssynapse_list_sql_pools
- Toon SQL poolssynapse_get_sql_pool
- Toon SQL pool detailssynapse_pause_sql_pool
- Pauzeer een SQL poolsynapse_resume_sql_pool
- Hervat een SQL poolsynapse_list_spark_pools
- Toon Spark poolssynapse_get_spark_pool
- Toon Spark pool detailssynapse_list_pipelines
- Toon Synapse pipelinessynapse_trigger_pipeline
- Start een Synapse pipelinesynapse_list_notebooks
- Toon notebookssynapse_list_data_flows
- Toon data flows
Dimensional Modeling Tools
dimensional_generate_dimension
- Genereer een dimension tabel met SCD ondersteuningdimensional_generate_fact
- Genereer een fact tabel met measures en foreign keysdimensional_generate_star_schema
- Genereer een complete star schemadimensional_validate_star_schema
- Valideer star schema designdimensional_generate_scd_procedures
- Genereer stored procedures voor SCD afhandelingdimensional_create_dimension_indexes
- Maak optimale indexes voor dimensionsdimensional_create_fact_indexes
- Maak optimale indexes voor facts
Fabric Pipeline Orchestration
fabric_create_dimension_pipeline
- Maak ETL pipeline voor dimension loading met SCDfabric_create_fact_pipeline
- Maak ETL pipeline voor fact loadingfabric_create_star_schema_pipeline
- Maak complete star schema ETL workflowfabric_schedule_pipeline
- Plan pipeline uitvoering met triggersfabric_create_data_quality_pipeline
- Maak data quality monitoring pipelinefabric_create_incremental_pipeline
- Maak incrementele data loading pipeline
Data Warehouse Management
dw_create_architecture
- Maak multi-layer DW architectuur (Raw → Staging → Curated → Mart)dw_generate_standard_dimensions
- Genereer standaard dimensies (Date, Time, Geography, Currency)dw_create_data_quality_framework
- Maak data quality framework met regelsdw_create_data_catalog
- Maak data catalog met metadata en lineagedw_generate_data_mart
- Genereer gespecialiseerde data martsdw_create_aggregation_tables
- Maak aggregatie tabellen voor performancedw_generate_olap_views
- Genereer OLAP views voor analyticsdw_create_monitoring_dashboard
- Maak monitoring dashboard voor DW health
Tool Categories
De server biedt elf categorieën van tools:
Core Azure Services (8 categorieën)
- Data Lake Tools (
datalake_*
): File system management, file CRUD operaties - Storage Tools (
storage_*
): Container management, blob CRUD operaties - Fabric Tools (
fabric_*
): Workspace, dataset, report, lakehouse management - Data Factory Tools (
datafactory_*
): Pipeline orchestratie, run monitoring - SQL Database Tools (
sql_*
): Server en database management, query uitvoering - Databricks Tools (
databricks_*
): Workspace management, cluster lifecycle - Monitor Tools (
monitor_*
): Action groups, metric alerts, diagnostics - Synapse Tools (
synapse_*
): Workspace management, SQL/Spark pools
Enterprise Data Warehouse Tools (3 categorieën)
- Dimensional Modeling Tools (
dimensional_*
): SCD dimensies, fact tabellen, star schemas - Fabric Pipeline Orchestration (
fabric_create_*
): Complexe ETL pipelines, SCD handling - Data Warehouse Management (
dw_*
): Multi-layer DW architectuur, data quality, catalogs
Development
# Development mode (compileert en start)
npm run dev
# Build alleen
npm run build
# Start na build
npm start
# Watch mode (automatisch hercompileren)
npm run watch
Troubleshooting
Authenticatie Issues
- Controleer of je Azure credentials correct zijn ingesteld
- Zorg ervoor dat je service principal de juiste permissions heeft op de resources
- Voor Fabric: zorg ervoor dat je account Power BI Pro/Premium licentie heeft
Connection Issues
- Controleer of je storage account names en workspace IDs correct zijn
- Test de verbinding met Azure CLI:
az login
enaz account show
Permission Issues
Zorg ervoor dat je service principal de volgende rollen heeft:
- Storage Blob Data Contributor voor Blob Storage
- Storage Blob Data Owner voor Data Lake Storage
- Power BI workspace member/admin voor Fabric
- Data Factory Contributor voor Azure Data Factory
- SQL DB Contributor voor Azure SQL Database
- Contributor voor Databricks en Synapse workspaces
- Monitoring Contributor voor Azure Monitor
Azure Credentials Verkrijgen
- Service Principal: Maak een App Registration in Azure AD
- Fabric Token: Genereer personal access token in Fabric workspace settings
- Databricks Token: Genereer personal access token in Databricks workspace
- Synapse Token: Gebruik Azure AD authenticatie of workspace-specifieke tokens
Beveiligingsaanbevelingen
- Gebruik environment variabelen of Azure Key Vault voor gevoelige credentials
- Roteer tokens regelmatig volgens je organisatie's beveiligingsbeleid
- Ken minimaal vereiste permissions toe aan service principals
- Overweeg het gebruik van managed identities bij gebruik in Azure omgevingen
License
MIT