Airflow MCP tools reference

Airflow MCP has 33 tools that AI clients can call to view, run, troubleshoot and create Airflow DAGs. This topic lists each tool, what it does, and whether it can change or delete data.

Tool types

Each tool tells the AI client what kind of action it takes, using the MCP readOnlyHint and destructiveHint labels. Clients can use these labels to decide when to ask you for approval.

Type Labels What it means Number of tools
Read-only readOnlyHint=true, destructiveHint=false Only reads information. Changes nothing. 24
Changes data readOnlyHint=false, destructiveHint=false Changes state, but only by adding something or in a way you can undo 5
Destructive destructiveHint=true Can delete, overwrite or reset existing data 4
NOTE
These labels are hints to the AI client. Whether the client asks for your approval depends on how it is built and how it is set up. Your Airflow permissions still apply to every tool regardless of the label.

Environment tools

Tool Description Type
getAirflowVersion Gets the version of the Airflow instance. Read-only
listConnections Lists the connections Airflow uses for external systems. Read-only
getVariable Gets one Airflow variable by its key. Read-only
listVariables Lists all Airflow variables (key-value settings). Read-only
getPool Gets details about one resource pool: its name, slot count, occupied, queued and running slots, and description. Read-only
listPools Lists the resource pools that control how many tasks can run at once. Read-only
listProviders Lists the Airflow provider packages that are installed. Read-only

Asset tools

Tool Description Type
listAssets Lists the data assets and datasets Airflow tracks for data lineage. Read-only
listAssetEvents Lists asset and dataset events. You can filter the results. Read-only
getUpstreamAssetEvents Gets the asset events that started a particular DAG run. Read-only

Airflow DAG tools

Tool Description Type
listDags Lists all Airflow DAGs. Read-only
getDag Gets details about one DAG: its schedule, owner, tags, file location and whether it's paused. Read-only
getDagSource Gets the source code of a DAG. Read-only
getDagStats Gets DAG run statistics, such as success and failure counts by state. Read-only
pauseDag Pauses a DAG so no new scheduled runs start. Changes data
unpauseDag Unpauses a DAG so its scheduled runs start again. Changes data

pauseDag and unpauseDag are idempotent: calling one of them again on a DAG that's already in that state doesn't change anything.

Airflow DAG run tools

Tool Description Type
listDagRuns Lists past DAG runs and their status. Read-only
getDagRun Gets details about one DAG run: its state, start and end times, configuration and notes. Read-only
triggerDag Starts a new DAG run manually. Changes data
triggerDagAndWait Starts a new DAG run and waits for it to finish before returning. Changes data
clearDagRun Clears a DAG run so all its tasks run again. Destructive
deleteDagRun Deletes a DAG run permanently. Destructive
IMPORTANT
  • Before starting a DAG run, Airflow MCP checks that the run_as_user set on the DAG and its tasks matches your identity. If it does not match, the request is rejected.
  • You cannot undo deleteDagRun. Before you approve it, check which DAG and run the AI client wants to delete.

Task tools

Tool Description Type
listTasks Lists all the tasks in a DAG. Read-only
getTask Gets details about one task in a DAG: its operator type, dependencies and settings. Read-only
getTaskInstance Gets details about one run of a task: its state, start and end times, try number and other details. Read-only
getTaskLogs Gets the logs for one run of a task. Read-only
clearTaskInstances Clears task runs so they are tried again. Destructive

Diagnostic tools

These tools find problems, and some of them combine several lookups into one call.

Tool Description Type
diagnoseDagRun Looks into one DAG run. Returns the run details, every task run, and a summary of tasks in the failed or upstream_failed state. Read-only
exploreDag Gathers everything about a DAG in one call: its details (schedule, owners, tags, whether it's paused), all its tasks with their operators and dependencies, and its source code. Read-only
listDagWarnings Lists warnings and problems found in DAG definitions. Read-only
listImportErrors Lists errors from DAG files that couldn't be read or loaded. Read-only
TIP
For troubleshooting, start with diagnoseDagRun or exploreDag. They return in one call what would otherwise take several calls.

Airflow DAG creation tools

Tool Description Type
reviewDagForUpload Saves the proposed DAG Python code to a temporary staging file and returns a short-lived reviewToken. You then need to approve the code and the file name it will be saved as. Nothing is sent to Airflow at this step. Changes data
uploadDag Uses the reviewToken to upload the approved DAG to Airflow's /dags/upload REST endpoint. Destructive

uploadDag is labeled destructive because it can overwrite an existing DAG file that has the same name. Check the file name before you approve the upload.

Example prompts

Prompt Tools the client is likely to call
"What version of Airflow is running?" getAirflowVersion
"Show me all paused DAGs." listDags
"Why did last night's run of sales_etl fail?" listDagRuns, diagnoseDagRun, getTaskLogs
"Explain what the customer_ingest DAG does." exploreDag
"Run sales_etl and tell me when it's done." triggerDagAndWait
"Retry the failed tasks in the latest sales_etl run." diagnoseDagRun, clearTaskInstances
"Which DAGs have import errors?" listImportErrors
"Write a DAG that runs a daily Spark job, and upload it." reviewDagForUpload, then uploadDag after you approve

The tools that actually get called depend on the AI client and the model.