MCP Directory

How to add Apache Airflow MCP Server to Claude Desktop

Interact with Apache Airflow's REST API through MCP — manage DAGs, runs, tasks, variables, connections, and more. Paste the config into ~/Library/Application Support/Claude/claude_desktop_config.json and restart Claude Desktop.

Last updated June 14, 2026 · 166 · stdio · apikey

Claude Desktop config for Apache Airflow MCP Server

uvx mcp-server-apache-airflow
{
  "mcpServers": {
    "apache-airflow-mcp-server": {
      "command": "uvx",
      "args": [
        "mcp-server-apache-airflow"
      ],
      "env": {
        "AIRFLOW_HOST": "https://your-airflow-host",
        "AIRFLOW_USERNAME": "your-username",
        "AIRFLOW_PASSWORD": "your-password"
      }
    }
  }
}

Requires `uv` (the Python package runner). Install it from https://docs.astral.sh/uv/ if `uvx` is not found.

Setup steps

  1. 1Open Claude Desktop → Settings → Developer → Edit Config (this opens ~/Library/Application Support/Claude/claude_desktop_config.json).
  2. 2Paste the Apache Airflow MCP Server config below under the top-level "mcpServers" key.
  3. 3Fill in any placeholder secrets (API keys, paths) in the snippet.
  4. 4Save the file, then fully quit and reopen Claude Desktop.
  5. 5Open a chat and confirm Apache Airflow MCP Server's tools appear under the 🔌 tools menu.

Before you start

  • A running Apache Airflow instance with its REST API accessible
  • Airflow credentials: Basic Auth (username/password) or a JWT token
  • uv / uvx to run the server (or install via Smithery)

What Apache Airflow MCP Server can do in Claude Desktop

DAG Management

List DAGs, get DAG details, pause/unpause, update, delete, get DAG source, patch multiple DAGs, and reparse a DAG file.

DAG Runs

List, create, get details, update, delete, and batch-list DAG runs; clear a run, set a run note, and get upstream dataset events.

Tasks

List DAG tasks, get task details, get/list task instances, update task instances, get task instance logs, clear task instances, set task instance state, and list task instance tries.

Variables

List, create, get, update, and delete Airflow variables.

Connections

List, create, get, update, delete, and test Airflow connections.

Pools

List, create, get, update, and delete pools.

XComs

List XCom entries and get a specific XCom entry for a task instance.

Datasets

List/get datasets, get and create dataset events, and manage DAG/dataset queued events.

Security

Requires credentials for your Airflow instance via environment variables (AIRFLOW_USERNAME/AIRFLOW_PASSWORD for Basic Auth, or AIRFLOW_JWT_TOKEN for JWT). If both JWT token and basic auth credentials are provided, the JWT token takes precedence. For safety, run with READ_ONLY=true (or the --read-only flag) to expose only read operations and exclude any tools that create, update, or delete resources.

Apache Airflow MCP Server + Claude Desktop FAQ

Where is the Claude Desktop config file?

Claude Desktop reads MCP servers from ~/Library/Application Support/Claude/claude_desktop_config.json. Paste the Apache Airflow MCP Server config there under the "mcpServers" key and restart the client.

Is Apache Airflow MCP Server safe to use with Claude Desktop?

Requires credentials for your Airflow instance via environment variables (AIRFLOW_USERNAME/AIRFLOW_PASSWORD for Basic Auth, or AIRFLOW_JWT_TOKEN for JWT). If both JWT token and basic auth credentials are provided, the JWT token takes precedence. For safety, run with READ_ONLY=true (or the --read-only flag) to expose only read operations and exclude any tools that create, update, or delete resources.

How do I authenticate against Airflow?

Choose Basic Authentication (set AIRFLOW_USERNAME and AIRFLOW_PASSWORD) or JWT Token Authentication (set AIRFLOW_JWT_TOKEN). If both are provided, the JWT token takes precedence. A JWT token can be obtained from Airflow's /auth/token endpoint.

How do I run the server in read-only mode?

Use the --read-only flag or set READ_ONLY=true. This exposes only read operations (GET requests) like listing and getting details, and excludes any tools that create, update, or delete resources. You can combine it with API group selection.

Can I limit which API groups are exposed?

Yes. Use the --apis flag (repeatable), e.g. --apis dag --apis dagrun. Allowed values include config, connections, dag, dagrun, dagstats, dataset, eventlog, importerror, monitoring, plugin, pool, provider, taskinstance, variable, and xcom. The default exposes all APIs.

View repo Full Apache Airflow MCP Server page