MCP Server for Apache Airflow
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| AIRFLOW_HOST | Yes | Your Apache Airflow host URL | |
| AIRFLOW_PASSWORD | Yes | Your Apache Airflow password | |
| AIRFLOW_USERNAME | Yes | Your Apache Airflow username |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Server capabilities have not been inspected yet.
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_configD | Get current configuration |
| get_valueC | Get a specific option from configuration |
| list_connectionsC | List all connections |
| create_connectionD | Create a connection |
| get_connectionC | Get a connection by ID |
| update_connectionC | Update a connection by ID |
| delete_connectionC | Delete a connection by ID |
| test_connectionD | Test a connection |
| fetch_dagsC | Fetch all DAGs |
| get_dagC | Get a DAG by ID |
| get_dag_detailsC | Get a simplified representation of DAG |
| get_dag_sourceD | Get a source code |
| pause_dagC | Pause a DAG by ID |
| unpause_dagC | Unpause a DAG by ID |
| get_dag_tasksD | Get tasks for DAG |
| get_taskC | Get a task by ID |
| get_tasksD | Get tasks for DAG |
| patch_dagD | Update a DAG |
| patch_dagsC | Update multiple DAGs |
| delete_dagD | Delete a DAG |
| clear_task_instancesD | Clear a set of task instances |
| set_task_instances_stateD | Set a state of task instances |
| reparse_dag_fileC | Request re-parsing of a DAG file |
| post_dag_runC | Trigger a DAG by ID |
| get_dag_runsD | Get DAG runs by ID |
| get_dag_runs_batchD | List DAG runs (batch) |
| get_dag_runC | Get a DAG run by DAG ID and DAG run ID |
| update_dag_run_stateC | Update a DAG run state by DAG ID and DAG run ID |
| delete_dag_runC | Delete a DAG run by DAG ID and DAG run ID |
| clear_dag_runD | Clear a DAG run |
| set_dag_run_noteC | Update the DagRun note |
| get_upstream_dataset_eventsC | Get dataset events for a DAG run |
| get_dag_statsD | Get DAG stats |
| get_datasetsC | List datasets |
| get_datasetC | Get a dataset by URI |
| get_dataset_eventsD | Get dataset events |
| create_dataset_eventD | Create dataset event |
| get_dag_dataset_queued_eventC | Get a queued Dataset event for a DAG |
| get_dag_dataset_queued_eventsC | Get queued Dataset events for a DAG |
| delete_dag_dataset_queued_eventC | Delete a queued Dataset event for a DAG |
| delete_dag_dataset_queued_eventsC | Delete queued Dataset events for a DAG |
| get_dataset_queued_eventsC | Get queued Dataset events for a Dataset |
| delete_dataset_queued_eventsC | Delete queued Dataset events for a Dataset |
| get_event_logsC | List log entries from event log |
| get_event_logC | Get a specific log entry by ID |
| get_import_errorsC | List import errors |
| get_import_errorC | Get a specific import error by ID |
| get_healthC | Get instance status |
| get_versionC | Get version information |
| get_pluginsC | Get a list of loaded plugins |
| get_poolsD | List pools |
| get_poolC | Get a pool by name |
| delete_poolD | Delete a pool |
| post_poolC | Create a pool |
| patch_poolD | Update a pool |
| get_providersC | Get a list of loaded providers |
| get_task_instanceC | Get a task instance by DAG ID, task ID, and DAG run ID |
| list_task_instancesC | List task instances by DAG ID and DAG run ID |
| update_task_instanceC | Update a task instance by DAG ID, DAG run ID, and task ID |
| get_logC | Get the log from a task instance by DAG ID, task ID, DAG run ID and task try number |
| list_task_instance_triesC | List task instance tries by DAG ID, DAG run ID, and task ID |
| list_variablesD | List all variables |
| create_variableD | Create a variable |
| get_variableD | Get a variable by key |
| update_variableC | Update a variable by key |
| delete_variableC | Delete a variable by key |
| get_xcom_entriesC | Get all XCom entries |
| get_xcom_entryD | Get an XCom entry |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 68 tools
Most tools have distinct purposes targeting specific Airflow entities (DAGs, tasks, connections, variables, datasets), but there is some overlap between get_dag_details and get_dag, and between get_tasks and get_dag_tasks, which could cause minor confusion. The descriptions help differentiate, but the sheer number of tools increases cognitive load.
Tool names follow a highly consistent verb_noun pattern throughout (e.g., get_dag, create_connection, delete_variable, update_task_instance). There are no deviations in naming conventions, making the set predictable and easy to navigate.
With 68 tools, this server is overloaded for typical agent use. While Airflow is a complex system, this count far exceeds the 3-15 range for well-scoped servers, making it heavy and likely overwhelming for agents to handle efficiently.
The tool surface provides comprehensive CRUD/lifecycle coverage for all key Airflow domains (DAGs, tasks, connections, variables, datasets, pools, logs, XComs). There are no obvious gaps, and operations like create, get, update, delete, list, and state management are fully represented across entities.