home / mcp / airflow mcp server

Airflow MCP Server

MCP Server for Apache Airflow

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "abhishekbhakat-airflow-mcp-server": {
      "url": "http://localhost:3000",
      "headers": {
        "AIRFLOW_MCP_RESOURCES_DIR": "/path/to/docs"
      }
    }
  }
}

This MCP server lets you control Airflow 3 via MCP clients. It exposes tools to interact with Airflow through its APIs, supports multiple transport methods, and includes options for safe (read-only) or full (read/write) operation. It’s designed to be simple to connect to from your MCP client and to scale with HTTP transport when needed.

How to use

Connect from your MCP client using either a local stdio setup or an HTTP transport for remote access. In stdio, you launch the MCP server process and connect via the host process I/O. In HTTP, you run a web-facing MCP server and connect through HTTP requests. You can switch between Safe mode for read-only access or Unsafe mode for full control.

Key usage patterns you’ll perform include listing Airflow entities, reading configurations, and triggering API actions exposed by the MCP server. When you connect, provide your JWT token for authentication and your Airflow base URL (without the /api path). The MCP server automatically fetches its OpenAPI spec from the base URL and exposes the tools through the MCP client interface.

How to install

Prerequisites you need before starting: you must have a runtime capable of hosting the MCP server (the examples use the uvx runtime). Ensure you have a valid JWT token ready for authentication and your Airflow instance reachable at its base URL (for example, http://localhost:8080). Then choose either stdio or HTTP transport and follow the appropriate steps.

Option A — Git-like stdio transport (default) Run the MCP server with stdio transport and provide the Airflow base URL and your auth token.

{
  "mcpServers": {
    "airflow_mcp": {
      "command": "uvx",
      "args": [
        "airflow-mcp-server",
        "--base-url",
        "http://localhost:8080",
        "--auth-token",
        "<jwt_token>"
      ]
    }
  }
}

Option B — HTTP transport

Run the MCP server with HTTP transport for scalable web deployment. You’ll provide the same base Airflow URL and JWT token.

{
  "mcpServers": {
    "airflow_mcp_http": {
      "command": "uvx",
      "args": [
        "airflow-mcp-server",
        "--http",
        "--port",
        "3000",
        "--base-url",
        "http://localhost:8080",
        "--auth-token",
        "<jwt_token>"
      ]
    }
  }
}