mcp-adf
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-adflist pipelines in the dev factory"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-adf — Azure Data Factory MCP server
One FastMCP server fronting one or more
Azure Data Factory instances. Every tool takes a factory argument naming a
target in connections.json; call list_factories first to see the configured
targets.
Built on azure-mgmt-datafactory + azure-identity. Read tools work on any
target; tools that create resources or trigger runs require the target to be
flagged "writable": true.
Tools
Discovery / read (any target):
list_factories— configured targetsdiscover_factories— every ADF in a target's subscription (to fill in config)list_pipelines/get_pipelinelist_datasets/get_datasetlist_linked_services/get_linked_servicelist_triggers/get_trigger
Run monitoring / error analysis (any target):
list_pipeline_runs— run history over the last N days; filter by pipeline/statusget_pipeline_runlist_activity_runs— per-activity status / timing / error for a runanalyze_run_errors— run message + every failed activity's error code & message
Write (only against a "writable": true target):
create_or_update_linked_servicecreate_or_update_datasetcreate_or_update_pipelinerun_pipeline— trigger a run, returns the run_idcancel_pipeline_runstart_trigger/stop_trigger
Resource definitions are the JSON you see in ADF Studio's code view — pass
either the full { "name": ..., "properties": {...} } object or just the inner
properties object.
Related MCP server: Azure AI Foundry MCP Server
Configure
Copy connections.example.json to connections.json and fill in your targets:
{
"dev": {
"subscription_id": "00000000-0000-0000-0000-000000000000",
"resource_group": "rg-data-dev",
"factory_name": "adf-dev",
"auth": "azure-cli",
"writable": true
},
"prod": {
"subscription_id": "00000000-0000-0000-0000-000000000000",
"resource_group": "rg-data-prod",
"factory_name": "adf-prod",
"auth": "azure-cli",
"writable": false
}
}connections.json and .env are gitignored — they never leave your machine.
Auth
Set "auth" per target:
value | how it signs in |
| reuses an |
| Windows WAM broker popup (no CLI needed; great in tenants that block device-code flow) |
| browser sign-in popup |
| app registration; secret read from |
|
|
The identity needs an ADF RBAC role on the factory — Data Factory Contributor for create/trigger, Reader for the read tools.
Setup
python -m venv .venv
.\.venv\Scripts\python.exe -m pip install -r requirements.txt
copy connections.example.json connections.json # then edit it
.\.venv\Scripts\python.exe server.py # smoke test (Ctrl+C to stop)Finding your factories
discover.py signs in once and lists every subscription and the data factories
in each, so you can fill in subscription_id / resource_group / factory_name:
.\.venv\Scripts\python.exe -m pip install azure-mgmt-subscription azure-mgmt-resource
.\.venv\Scripts\python.exe discover.pyRegister with an MCP client
See examples/mcp.json:
{
"mcpServers": {
"adf": {
"command": "C:\\path\\to\\mcp-adf\\.venv\\Scripts\\python.exe",
"args": ["C:\\path\\to\\mcp-adf\\server.py"],
"env": {}
}
}
}Use with Claude Desktop
Claude Desktop reads its MCP servers from
claude_desktop_config.json. Open it from Settings → Developer → Edit Config
(this creates the file if it doesn't exist), or edit it directly:
Windows:
%APPDATA%\Claude\claude_desktop_config.jsonmacOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Add this server under mcpServers, using absolute paths to the venv's
Python and server.py:
{
"mcpServers": {
"adf": {
"command": "C:\\path\\to\\mcp-adf\\.venv\\Scripts\\python.exe",
"args": ["C:\\path\\to\\mcp-adf\\server.py"],
"env": {}
}
}
}On macOS the paths are POSIX, e.g. "command": "/Users/you/mcp-adf/.venv/bin/python".
Save the file and fully quit and reopen Claude Desktop (use Quit from the
tray/menu-bar icon — closing the window isn't enough). The server's tools then
appear in the tools (🔌) menu of a new chat.
License
MIT — see LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
List datasets, schemas, run APL queries, and use prompts for exploration, anomalies, and monitoring.
Provides capabilities that let LLM agents perform a range of infrastructure management tasks.
- mcp-serverOAuthcom.make
Give your AI agents the tools to build, manage, and run automation workflows.
Interact with your Google Cloud Datastream resources using natural language commands.
Related MCP Servers
- AlicenseBqualityCmaintenanceEnables AI agents to interact with Microsoft Fabric by exposing tools for managing workspaces, notebooks, SQL queries, pipelines, and Livy Spark sessions. It provides a comprehensive set of operations for data engineering and analytics tasks using standard Azure authentication.374MIT
- AlicenseNot gradedqualityNot gradedmaintenanceEnables interaction with Azure AI Foundry services for model exploration, deployment, and performance evaluation. It provides tools for managing knowledge bases via AI Search Service, executing fine-tuning jobs, and orchestrating AI agents through natural language.MIT
- FlicenseNot gradedqualityNot gradedmaintenanceProvides full execution and management capabilities for Microsoft Fabric Data Engineering workloads, including notebooks, pipelines, Lakehouses, and Spark jobs. It enables users to trigger runs, monitor status, manage workspace items, and configure job schedules through natural language.-
- AlicenseNot gradedqualityDmaintenanceAn 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.MIT