AgentStack
MCP verified MIT Self-run

Mcp Server Apache Airflow

mcp-yangkyeongmo-mcp-server-apache-airflow · by yangkyeongmo

MCP server from yangkyeongmo/mcp-server-apache-airflow.

No reviews yet
0 installs
19 views
0.0% view→install

Install

$ agentstack add mcp-yangkyeongmo-mcp-server-apache-airflow

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access Used
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets Used
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README — it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/mcp-yangkyeongmo-mcp-server-apache-airflow)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
5mo ago

Declared compatibility

Claude CodeClaude DesktopCursorWindsurf

Compatibility is declared by the source manifest. End-to-end runtime verification is coming — see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps — measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Mcp Server Apache Airflow? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

[](https://mseep.ai/app/yangkyeongmo-mcp-server-apache-airflow)

mcp-server-apache-airflow

[](https://smithery.ai/server/@yangkyeongmo/mcp-server-apache-airflow)

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.

About

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.

Feature Implementation Status

| Feature | API Path | Status | | -------------------------------- | --------------------------------------------------------------------------------------------- | ------ | | DAG Management | | | | List DAGs | /api/v1/dags | ✅ | | Get DAG Details | /api/v1/dags/{dag_id} | ✅ | | Pause DAG | /api/v1/dags/{dag_id} | ✅ | | Unpause DAG | /api/v1/dags/{dag_id} | ✅ | | Update DAG | /api/v1/dags/{dag_id} | ✅ | | Delete DAG | /api/v1/dags/{dag_id} | ✅ | | Get DAG Source | /api/v1/dagSources/{file_token} | ✅ | | Patch Multiple DAGs | /api/v1/dags | ✅ | | Reparse DAG File | /api/v1/dagSources/{file_token}/reparse | ✅ | | DAG Runs | | | | List DAG Runs | /api/v1/dags/{dag_id}/dagRuns | ✅ | | Create DAG Run | /api/v1/dags/{dag_id}/dagRuns | ✅ | | Get DAG Run Details | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id} | ✅ | | Update DAG Run | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id} | ✅ | | Delete DAG Run | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id} | ✅ | | Get DAG Runs Batch | /api/v1/dags/~/dagRuns/list | ✅ | | Clear DAG Run | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/clear | ✅ | | Set DAG Run Note | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/setNote | ✅ | | Get Upstream Dataset Events | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/upstreamDatasetEvents | ✅ | | Tasks | | | | List DAG Tasks | /api/v1/dags/{dag_id}/tasks | ✅ | | Get Task Details | /api/v1/dags/{dag_id}/tasks/{task_id} | ✅ | | Get Task Instance | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id} | ✅ | | List Task Instances | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances | ✅ | | Update Task Instance | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id} | ✅ | | Get Task Instance Log | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/logs/{task_try_number} | ✅ | | Clear Task Instances | /api/v1/dags/{dag_id}/clearTaskInstances | ✅ | | Set Task Instances State | /api/v1/dags/{dag_id}/updateTaskInstancesState | ✅ | | List Task Instance Tries | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/tries | ✅ | | Variables | | | | List Variables | /api/v1/variables | ✅ | | Create Variable | /api/v1/variables | ✅ | | Get Variable | /api/v1/variables/{variable_key} | ✅ | | Update Variable | /api/v1/variables/{variable_key} | ✅ | | Delete Variable | /api/v1/variables/{variable_key} | ✅ | | Connections | | | | List Connections | /api/v1/connections | ✅ | | Create Connection | /api/v1/connections | ✅ | | Get Connection | /api/v1/connections/{connection_id} | ✅ | | Update Connection | /api/v1/connections/{connection_id} | ✅ | | Delete Connection | /api/v1/connections/{connection_id} | ✅ | | Test Connection | /api/v1/connections/test | ✅ | | Pools | | | | List Pools | /api/v1/pools | ✅ | | Create Pool | /api/v1/pools | ✅ | | Get Pool | /api/v1/pools/{pool_name} | ✅ | | Update Pool | /api/v1/pools/{pool_name} | ✅ | | Delete Pool | /api/v1/pools/{pool_name} | ✅ | | XComs | | | | List XComs | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/xcomEntries | ✅ | | Get XCom Entry | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/xcomEntries/{xcom_key} | ✅ | | Datasets | | | | List Datasets | /api/v1/datasets | ✅ | | Get Dataset | /api/v1/datasets/{uri} | ✅ | | Get Dataset Events | /api/v1/datasetEvents | ✅ | | Create Dataset Event | /api/v1/datasetEvents | ✅ | | Get DAG Dataset Queued Event | /api/v1/dags/{dag_id}/dagRuns/queued/datasetEvents/{uri} | ✅ | | Get DAG Dataset Queued Events | /api/v1/dags/{dag_id}/dagRuns/queued/datasetEvents | ✅ | | Delete DAG Dataset Queued Event | /api/v1/dags/{dag_id}/dagRuns/queued/datasetEvents/{uri} | ✅ | | Delete DAG Dataset Queued Events | /api/v1/dags/{dag_id}/dagRuns/queued/datasetEvents | ✅ | | Get Dataset Queued Events | /api/v1/datasets/{uri}/dagRuns/queued/datasetEvents | ✅ | | Delete Dataset Queued Events | /api/v1/datasets/{uri}/dagRuns/queued/datasetEvents | ✅ | | Monitoring | | | | Get Health | /api/v1/health | ✅ | | DAG Stats | | | | Get DAG Stats | /api/v1/dags/statistics | ✅ | | Config | | | | Get Config | /api/v1/config | ✅ | | Plugins | | | | Get Plugins | /api/v1/plugins | ✅ | | Providers | | | | List Providers | /api/v1/providers | ✅ | | Event Logs | | | | List Event Logs | /api/v1/eventLogs | ✅ | | Get Event Log | /api/v1/eventLogs/{event_log_id} | ✅ | | System | | | | Get Import Errors | /api/v1/importErrors | ✅ | | Get Import Error Details | /api/v1/importErrors/{import_error_id} | ✅ | | Get Health Status | /api/v1/health | ✅ | | Get Version | /api/v1/version | ✅ |

Setup

Dependencies

This project depends on the official Apache Airflow client library (apache-airflow-client). It will be automatically installed when you install this package.

Environment Variables

Set the following environment variables:

AIRFLOW_HOST=        # Optional, defaults to http://localhost:8080
AIRFLOW_API_VERSION=v1                  # Optional, defaults to v1
READ_ONLY=true                          # Optional, enables read-only mode (true/false, defaults to false)
Authentication

Choose one of the following authentication methods:

Basic Authentication (default):

AIRFLOW_USERNAME=
AIRFLOW_PASSWORD=

JWT Token Authentication:

AIRFLOW_JWT_TOKEN=

To obtain a JWT token, you can use Airflow's authentication endpoint:

ENDPOINT_URL="http://localhost:8080"  # Replace with your Airflow endpoint
curl -X 'POST' \
  "${ENDPOINT_URL}/auth/token" \
  -H 'Content-Type: application/json' \
  -d '{ "username": "", "password": "" }'

> Note: If both JWT token and basic authentication credentials are provided, JWT token takes precedence.

Usage with Claude Desktop

Add to your claude_desktop_config.json:

Basic Authentication:

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

JWT Token Authentication:

{
  "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"
      }
    }
  }
}

For read-only mode (recommended for safety):

Basic Authentication:

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

JWT Token Authentication:

{
  "mcpServers": {
    "mcp-server-apache-airflow": {
      "command": "uvx",
      "args": ["mcp-server-apache-airflow", "--read-only"],
      "env": {
        "AIRFLOW_HOST": "https://your-airflow-host",
        "AIRFLOW_JWT_TOKEN": "your-jwt-token"
      }
    }
  }
}

Alternative configuration using uv:

Basic Authentication:

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

JWT Token Authentication:

{
  "mcpServers": {
    "mcp-server-apache-airflow": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/mcp-server-apache-airflow",
        "run",
        "mcp-server-apache-airflow"
      ],
      "env": {
        "AIRFLOW_HOST": "https://your-airflow-host",
        "AIRFLOW_JWT_TOKEN": "your-jwt-token"
      }
    }
  }
}

Replace /path/to/mcp-server-apache-airflow with the actual path where you've cloned the repository.

Selecting the API groups

You can select the API groups you want to use by setting the --apis flag.

uv run mcp-server-apache-airflow --apis dag --apis dagrun

The default is to use

Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.