Apache Airflow MCP Server

A Model Context Protocol (MCP) server implementation for Apache Airflow, enabling seamless integration with MCP clients. This project provides a

Local serverstdioPython

What is the Apache Airflow MCP server?

A Model Context Protocol (MCP) server implementation for Apache Airflow, enabling seamless integration with MCP clients. This project provides a standardized way to interact with Apache Airflow through the Model Context Protocol. The apache airflow mcp server wraps that behind the Model Context Protocol, so an assistant can use it through 9 defined tools rather than through you.

What it actually does

This project implements a Model Context Protocol server that wraps Apache Airflow's REST API, allowing MCP clients to interact with Airflow in a standardized way. It uses the official Apache Airflow client library to ensure compatibility and maintainability.

Adding it to your client

@smithery/cli on npm is all you need. Most clients run it directly, so configuration is a few lines and a restart.

Its toolset

Everything the assistant can do here goes through one of these:

  • config — connections
  • dag — dagrun
  • dagstats — dataset
  • eventlog — importerror
  • monitoring — plugin
  • pool — provider
  • taskinstance — variable
  • Dependencies — This project depends on the official Apache Airflow client library (apache-airflow-client). It will be automatically installed when you install this
  • Authentication — To obtain a JWT token, you can use Airflow's authentication endpoint:

Configuration

You will need 6 environment variables: AIRFLOW_HOST, AIRFLOW_USERNAME, AIRFLOW_PASSWORD, AIRFLOW_JWT_TOKEN, READ_ONLY, ENDPOINT_URL. The server will not start without them, which is usually why the tools fail to appear on a first run. Keep credentials in your client's env block or a secrets manager rather than in a file you might commit.

Caveats

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • With 9 tools registered it takes up a noticeable share of the context window; turn it off in projects that never touch Apache Airflow.
  • Missing credentials fail quietly in some clients — if no tools show up, check the environment block first.
  • MCP clients confirm each tool call by default. Leave that on until you have watched what the apache airflow mcp server does with a few real requests.

When to reach for it

This sits in the monitoring and observability group, where several servers overlap in what they claim to do but differ sharply once you actually set them up. Apache Airflow's toolset — config, dag, dagstats and 6 more — is a fair guide to whether it matches your workflow. It is maintained by yangkyeongmo; worth a glance at recent repository activity before you build anything load-bearing on it.

We check each listing at SyncDev against the project's documentation before it goes live — if something here drifts out of date, it is a bug worth reporting.

Available tools

ToolWhat it does
configconnections
dagdagrun
dagstatsdataset
eventlogimporterror
monitoringplugin
poolprovider
taskinstancevariable
DependenciesThis project depends on the official Apache Airflow client library (apache-airflow-client). It will be automatically installed when you install this package.
AuthenticationTo obtain a JWT token, you can use Airflow's authentication endpoint:

How to install the Apache Airflow MCP server

**JWT Token Authentication:**
```json
{
  "mcpServers": {
    "mcp-server-apache-airflow": {
      "command": "uvx",
      "args": ["mcp-server-apache-airflow"],
      "env": {
        "AIRFLOW_HOST": "https://your-airflow-host",
        "AIRFLOW_JWT_TOKEN": "your-jwt-token"
      }
    }
  }
}

Configuration as documented by the project. Restart the client after saving.

Configuration

VariableDescriptionRequired
AIRFLOW_HOSTEndpoint or connection string the server talks to.Optional
AIRFLOW_USERNAMEConfiguration value read at startup.Optional
AIRFLOW_PASSWORDConfiguration value read at startup.Optional
AIRFLOW_JWT_TOKENCredential the server authenticates with.Yes
READ_ONLYConfiguration value read at startup.Optional
ENDPOINT_URLEndpoint or connection string the server talks to.Yes

Example prompts to try

  • Use Apache Airflow to config.
  • Use Apache Airflow to dag.
  • Use Apache Airflow to dagstats.

Frequently asked questions

It connects Apache Airflow to MCP-compatible AI assistants such as Claude and Cursor, exposing 9 tools (config, dag, dagstats, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with Apache Airflow directly.