mcpField
A
airflow-mcp-server: An MCP Server for controlling Airflow

airflow-mcp-server: An MCP Server for controlling Airflow

Local
pypi.orgData & Analytics33Updated 54w ago

About airflow-mcp-server: An MCP Server for controlling Airflow

airflow-mcp-server is an MCP server for controlling Apache Airflow 3 through its APIs. It is intended for users who want an AI assistant to inspect or manage an Airflow instance, with an optional read-only mode.

Key features

  1. 01Controls Airflow 3 through its APIs
  2. 02Safe mode restricts operations to read-only
  3. 03Supports stdio and HTTP transports
  4. 04Exposes local Markdown files as read-only resources

Use cases

  1. 01Letting an assistant inspect DAG and task status read-only
  2. 02Checking an Airflow instance in a restricted mode
  3. 03Providing local Airflow reference guides to an agent

MCP support

The project is an MCP server that exposes Airflow tools to MCP clients and can publish local Markdown files as read-only MCP resources.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"airflow": {
"command": "uvx",
"args": [
"airflow-mcp-server"
],
"env": {
"AIRFLOW_BASE_URL": "<AIRFLOW_BASE_URL>",
"AUTH_TOKEN": "<AUTH_TOKEN>"
}
}
}
}
Run commanduvx airflow-mcp-server
Environment variables to set
AIRFLOW_BASE_URLThe base URL for the Airflow API (e.g., http://localhost:8080)
AUTH_TOKENSecretThe JWT authentication token for Airflow API access

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
pypiairflow-mcp-server0.9.0
pypiairflow-mcp-server0.8.2

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

airflow-mcp-server: An MCP Server for controlling Airflow 3

mcp-name: io.github.abhishekbhakat/airflow-mcp-server

MCPHub Certification

This MCP server is certified by MCPHub. This certification ensures that airflow-mcp-server follows best practices for Model Context Protocol implementation.

Find on Glama
README image

Overview

A Model Context Protocol server for controlling Airflow via Airflow APIs.

Demo Video

https://github.com/user-attachments/assets/f3e60fff-8680-4dd9-b08e-fa7db655a705

Setup

Usage with Claude Desktop
Stdio Transport (Default)
{
    "mcpServers": {
        "airflow-mcp-server": {
            "command": "uvx",
            "args": [
                "airflow-mcp-server",
                "--base-url",
                "http://localhost:8080",
                "--auth-token",
                "<jwt_token>"
            ]
        }
    }
}

See CONFIG.md for IDE-specific configuration examples across popular MCP clients.

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

Note:

  • Set base_url to the root Airflow URL (e.g., http://localhost:8080).
  • Do not include /api/v2 in the base URL. The server will automatically fetch the OpenAPI spec from ${base_url}/openapi.json.
  • Only JWT token is required for authentication. Cookie and basic auth are no longer supported in Airflow 3.0.
Transport Options

The server supports multiple transport protocols:

Stdio Transport (Default)

Standard input/output transport for direct process communication:

airflow-mcp-server --safe --base-url http://localhost:8080 --auth-token <jwt>
HTTP Transport

Uses Streamable HTTP for better scalability and web compatibility:

airflow-mcp-server --safe --http --port 3000 --base-url http://localhost:8080 --auth-token <jwt>

Note: SSE transport is deprecated. Use --http for new deployments as it provides better bidirectional communication and is the recommended approach by FastMCP.

Operation Modes

The server supports two operation modes:

  • Safe Mode (--safe): Only allows read-only operations (GET requests). This is useful when you want to prevent any modifications to your Airflow instance.
  • Unsafe Mode (--unsafe): Allows all operations including modifications. This is the default mode.

To start in safe mode:

airflow-mcp-server --safe

To explicitly start in unsafe mode (though this is default):

airflow-mcp-server --unsafe
Tool Discovery Modes

The server supports two tool discovery approaches:

  • Hierarchical Discovery (default): Tools are organized by categories (DAGs, Tasks, Connections, etc.). Browse categories first, then select specific tools. More manageable for large APIs.
  • Static Tools (--static-tools): All tools available immediately. Better for programmatic access but can be overwhelming.

To use static tools:

airflow-mcp-server --static-tools
Command Line Options
Usage: airflow-mcp-server [OPTIONS]

  MCP server for Airflow

Options:
  -v, --verbose      Increase verbosity
  -s, --safe         Use only read-only tools
  -u, --unsafe       Use all tools (default)
  --static-tools     Use static tools instead of hierarchical discovery
  --base-url TEXT    Airflow API base URL
  --auth-token TEXT  Authentication token (JWT)
  --http             Use HTTP (Streamable HTTP) transport instead of stdio
  --sse              Use Server-Sent Events transport (deprecated, use --http
                     instead)
  --port INTEGER     Port to run HTTP/SSE server on (default: 3000)
  --host TEXT        Host to bind HTTP/SSE server to (default: localhost)
  --help             Show this message and exit.
Using Resources

Point the server at a folder of Markdown guides whenever you want agents to reference local documentation:

airflow-mcp-server --base-url http://localhost:8080 --auth-token <jwt> --resources-dir ~/airflow-resources
  • Every top-level .md/.markdown file becomes a read-only resource (file:///<slug>) visible in your MCP client.
  • The first # Heading in each file (if present) is used as the resource title; otherwise the filename stem is used.
  • Set AIRFLOW_MCP_RESOURCES_DIR=/path/to/docs if you prefer environment-based configuration.
  • Update the files on disk and restart the server to refresh the resources list.
Considerations

Authentication

  • Only JWT authentication is supported in Airflow 3.0. You must provide a valid AUTH_TOKEN.

Page Limit

The default is 100 items, but you can change it using maximum_page_limit option in [api] section in the airflow.cfg file.

Transport Selection

  • Use stdio transport for direct process communication (default)
  • Use HTTP transport for web deployments, multiple clients, or when you need better scalability
  • Avoid SSE transport as it's deprecated in favor of HTTP transport

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.