Back to MCP Catalog

Apache Airflow MCP Server

Developer ToolsPython
Interact with Apache Airflow workflows through a standardized Model Context Protocol interface
Available Tools

list_dags

List all DAGs in the Airflow instance

get_dag

Get details of a specific DAG

pause_dag

Pause a DAG

unpause_dag

Unpause a DAG

update_dag

Update a DAG's properties

delete_dag

Delete a DAG

list_dag_runs

List runs for a specific DAG

create_dag_run

Trigger a new DAG run

get_dag_run

Get details of a specific DAG run

list_tasks

List tasks for a specific DAG

get_task

Get details of a specific task

list_variables

List all Airflow variables

create_variable

Create a new Airflow variable

get_variable

Get an Airflow variable

update_variable

Update an Airflow variable

delete_variable

Delete an Airflow variable

list_connections

List all Airflow connections

create_connection

Create a new Airflow connection

get_connection

Get an Airflow connection

update_connection

Update an Airflow connection

delete_connection

Delete an Airflow connection

test_connection

Test an Airflow connection

get_health

Get the health status of the Airflow instance

get_version

Get the version of the Airflow instance

This MCP server provides a standardized way to interact with Apache Airflow through the Model Context Protocol. It wraps Apache Airflow's REST API, allowing MCP clients to manage DAGs, DAG runs, tasks, variables, connections, pools, and more in a consistent manner. The implementation uses the official Apache Airflow client library to ensure compatibility and maintainability.

Overview

The Apache Airflow MCP server enables seamless integration between MCP clients and Apache Airflow instances. This server implementation wraps the Apache Airflow REST API, providing a standardized interface for workflow management operations.

Installation

You can install the Apache Airflow MCP server using pip:

pip install mcp-server-apache-airflow

Alternatively, you can use the Docker image:

docker pull yangkyeongmo/mcp-server-apache-airflow

Configuration

The server requires the following environment variables to connect to your Apache Airflow instance:

  • AIRFLOW_HOST: The URL of your Apache Airflow instance (e.g., http://localhost:8080)
  • AIRFLOW_USERNAME: Your Airflow username
  • AIRFLOW_PASSWORD: Your Airflow password
  • AIRFLOW_API_VERSION (optional): The API version to use (defaults to v1)

Running the Server

Using Python

After installation, you can run the server directly:

python -m mcp_server_apache_airflow

Using Docker

docker run -p 3000:3000 \
  -e AIRFLOW_HOST=http://your-airflow-host:8080 \
  -e AIRFLOW_USERNAME=your_username \
  -e AIRFLOW_PASSWORD=your_password \
  yangkyeongmo/mcp-server-apache-airflow

Client Integration

To use this MCP server with your MCP client, add the server configuration to your client's settings. The server exposes a comprehensive set of Airflow functionality, including:

  • DAG management (list, get details, pause/unpause, update, delete)
  • DAG run operations (create, list, get details, update, delete)
  • Task management (list tasks, get details, update instances)
  • Variable management (create, read, update, delete)
  • Connection management (create, read, update, delete, test)
  • Pool management (create, read, update, delete)
  • XCom operations
  • Dataset management
  • System monitoring and configuration

Authentication

The server handles authentication with your Airflow instance using the provided credentials. No additional authentication setup is required beyond providing the environment variables.

Troubleshooting

If you encounter connection issues:

  1. Verify that your Airflow instance is accessible from the server
  2. Check that your credentials are correct
  3. Ensure the Airflow REST API is enabled on your instance
  4. Verify that the API version matches your Airflow installation

For more detailed logs, you can set the log level to DEBUG.

Related MCPs

Apple Shortcuts
Developer ToolsJavaScript

Control Apple Shortcuts automations from AI assistants

Clojars Dependency Lookup
Developer ToolsJavaScript

Fetch dependency information from Clojars, the Clojure community's artifact repository

Simple Timeserver
Developer ToolsPython

Provides Claude with current time and timezone information

About Model Context Protocol

Model Context Protocol (MCP) allows AI models to access external tools and services, extending their capabilities beyond their training data.

Generate Cursor Documentation

Save time on coding by generating custom documentation and prompts for Cursor IDE.