azure-adf-mcp
An MCP server that exposes Azure Data Factory operations as tools any LLM can call — trigger pipelines, monitor runs, inspect datasets, and get factory health summaries through natural language.
README
azure-adf-mcp
An MCP (Model Context Protocol) server that exposes Azure Data Factory operations as tools any LLM can call — trigger pipelines, monitor runs, inspect datasets, and get factory health summaries through natural language.
Demo
"Trigger the CopyRawToStaging pipeline and tell me when it's done."
Claude calls trigger_pipeline, gets back a run ID, polls get_run_status, and reports back — all without leaving the chat.

"can you give me list of all pipline runs in last 24 hours."
Tools Exposed
Pipelines
| Tool | Description |
|---|---|
list_pipelines |
All pipelines with activity breakdown |
get_pipeline_definition |
Full definition of a pipeline — activities, parameters, variables, and dependency chain |
create_pipeline |
Create a new empty pipeline (add activities in ADF Studio afterwards) |
trigger_pipeline |
Start a named pipeline run |
get_run_status |
Poll a run by ID |
list_recent_runs |
Recent runs with status summary (filterable by pipeline and time window) |
list_activity_runs |
Individual activity results within a run — pinpoint which activity failed and why |
cancel_run |
Cancel an in-progress run |
Triggers / Schedules
| Tool | Description |
|---|---|
list_triggers |
All triggers with runtime state and linked pipelines |
get_trigger_status |
Current state and configuration of a specific trigger |
create_schedule_trigger |
Create a recurring schedule trigger (Minute / Hour / Day / Week / Month) |
start_trigger |
Activate a trigger so it starts firing on its schedule |
stop_trigger |
Deactivate a trigger |
Datasets & Linked Services
| Tool | Description |
|---|---|
list_datasets |
All datasets and their linked services |
list_linked_services |
All storage/DB/API connections |
Factory
| Tool | Description |
|---|---|
get_factory_summary |
High-level factory health overview |
Requirements
- Python 3.9+
- An Azure subscription with a Data Factory instance
- Azure CLI installed and authenticated
- Claude Desktop (or any MCP-compatible client)
Setup
1. Clone and install
git clone https://github.com/nachiketap11/azure-adf-mcp
cd azure-adf-mcp
python3 -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txt
2. Configure environment
cp .env.example .env
Edit .env with your values:
AZURE_SUBSCRIPTION_ID=your-subscription-id
AZURE_RESOURCE_GROUP=your-resource-group
AZURE_FACTORY_NAME=your-factory-name
3. Authenticate
az login
The server uses DefaultAzureCredential — Azure CLI login is all you need locally.
4. Test the server
python3 src/server.py
You should see: Starting Azure ADF MCP Server...
Connect to Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"azure-adf": {
"command": "/absolute/path/to/.venv/bin/python3",
"args": ["/absolute/path/to/azure-adf-mcp/src/server.py"],
"env": {
"AZURE_SUBSCRIPTION_ID": "your-subscription-id",
"AZURE_RESOURCE_GROUP": "your-resource-group",
"AZURE_FACTORY_NAME": "your-factory-name"
}
}
}
}
Restart Claude Desktop. You should see the 🔨 icon in the chat input bar with azure-adf tools listed.
Project Structure
azure-adf-mcp/
├── src/
│ ├── server.py # MCP server — tool definitions + routing
│ └── azure_client.py # Azure SDK wrapper with clean JSON outputs
├── .env.example
├── requirements.txt
└── README.md
Extending This Project
- Wrap with FastAPI to expose as an HTTP MCP server for remote deployment
- Add Pytest fixtures with mocked Azure SDK responses for CI
- Deploy to Azure Container Apps for persistent hosting
Auth Reference
DefaultAzureCredential tries credentials in this order:
- Environment variables (
AZURE_CLIENT_ID/AZURE_TENANT_ID/AZURE_CLIENT_SECRET) - Workload identity (AKS)
- Managed identity
- Azure CLI (
az login) ← recommended for local development - VS Code credentials
License
MIT
Recommended Servers
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.
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.
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.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
