MCP Directory

How to add Apache Airflow MCP Server to Cursor

Interact with Apache Airflow's REST API through MCP — manage DAGs, runs, tasks, variables, connections, and more. Paste the config into ~/.cursor/mcp.json and restart Cursor.

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

Cursor 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 Cursor → Settings → MCP → Add new MCP server (or edit ~/.cursor/mcp.json directly).
  2. 2Paste the Apache Airflow MCP Server config below into the "mcpServers" object.
  3. 3Fill in placeholder secrets, then save.
  4. 4Cursor reloads MCP servers automatically — check Settings → MCP for a green status dot.
  5. 5Ask Cursor to use one of Apache Airflow MCP Server's tools to confirm it's connected.

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 Cursor

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 + Cursor FAQ

Where is the Cursor config file?

Cursor reads MCP servers from ~/.cursor/mcp.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 Cursor?

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