Skip to main content
Glama
airflow-mcp-server

airflow-mcp-server

by us-all

@us-all/airflow-mcp

Airflow MCP-сервер — чтение DAG, запусков, экземпляров задач, последних строк логов; запуск и очистка (с защитой от записи). Построен на базе @us-all/mcp-toolkit.

Специализированный MCP для стабильного REST API Airflow. По умолчанию доступно только чтение; airflow-trigger-dag и airflow-clear-task доступны только при установке AIRFLOW_ALLOW_WRITE=true.

Для более глубокой интеграции с dbt (парсинг манифеста, история результатов выполнения, актуальность источников, покрытие тестами по столбцам, анализ lineage, пользовательские таблицы результатов DQ) установите дополнительно @us-all/dbt-mcp.

  • 7 инструментов в категориях airflow + meta

  • 2 MCP-промпта для рабочих процессов сортировки DAG

  • 1 инструмент агрегации, заменяющий комбинацию list-runs → get-task-instances

Установка

pnpm add -D @us-all/airflow-mcp

Related MCP server: Apache Airflow MCP Server

Запуск

AIRFLOW_API_URL=http://airflow.example.com:8080/api/v1 \
AIRFLOW_USERNAME=admin AIRFLOW_PASSWORD=... \
npx @us-all/airflow-mcp

Сервер использует протокол MCP stdio; подключите его к Claude Desktop / Cursor / любому MCP-клиенту. Установите MCP_TRANSPORT=http для использования потоковой передачи по HTTP (Bearer-авторизация, эндпоинт /health).

Инструменты

airflow (6 + 1 агрегация)

Инструмент

Описание

airflow-list-dags

Список активных DAG с фильтрами по тегам/поиску

airflow-list-runs

Недавние запуски одного DAG (фильтр по состоянию, сортировка от новых к старым)

airflow-get-task-instances

Экземпляры задач для конкретного запуска DAG

airflow-get-task-logs

Последние строки (N КБ) лога экземпляра задачи

airflow-trigger-dag

Запуск нового выполнения (с защитой от записи)

airflow-clear-task

Очистка конкретных экземпляров задач → повторный запуск (с защитой от записи)

dag-health-rollup

Агрегированное состояние DAG: процент успеха + средняя длительность + последний неудачный запуск + сбойные задачи

meta

search-tools — поиск инструментов на естественном языке.

Промпты

Промпт

Когда использовать

dag-failure-triage

"Почему упал DAG X?" — извлекает запуски, изолирует сбой, выводит логи, предлагает исправление

dag-schedule-audit

"Проверить все DAG на низкий процент успеха и зависшие запуски"

Переменные окружения

Переменная

Обязательно

Примечания

AIRFLOW_API_URL

да

Базовый URL REST API Airflow, например http://airflow.example.com:8080/api/v1

AIRFLOW_USERNAME

нет

Имя пользователя для Basic-auth

AIRFLOW_PASSWORD

нет

Пароль для Basic-auth (секрет)

AIRFLOW_ALLOW_WRITE

нет

true включает airflow-trigger-dag / airflow-clear-task

AIRFLOW_TOOLS / AIRFLOW_DISABLE

нет

Переключатели категорий

Протестированные схемы

  • Airflow Stable REST API (2.x). Airflow 3.x предоставляет тот же интерфейс через стабильные эндпоинты /api/v1/, поэтому этот сервер работает как с развертываниями 2.x, так и 3.x.

Дополнительный сервер

Для парсинга артефактов dbt, истории результатов выполнения и таблиц результатов DQ установите @us-all/dbt-mcp вместе с этим сервером.

Сборка

pnpm install
pnpm run build      # tsc → dist/
pnpm test           # vitest
pnpm run smoke      # spawns dist/index.js, calls initialize + tools/list (set env first)

Лицензия

MIT — см. LICENSE.

Available Tools

8 tools
airflow-clear-taskA

Clear specific task instances in an Airflow DAG run (re-run them); supports include_upstream / include_downstream. Write-gated by AIRFLOW_ALLOW_WRITE.

Inputs: dagId (required), dagRunId (required), taskIds (required), includeDownstream, +1 more.

airflow-get-task-instancesB

List task instances for a specific Airflow DAG run with state, try_number, duration

Inputs: dagId (required), dagRunId (required), extractFields.

airflow-get-task-logsB

Fetch the tail (last N kB) of an Airflow task instance log for a specific try_number

Inputs: dagId (required), dagRunId (required), taskId (required), tryNumber, +2 more.

airflow-list-dagsB

List Airflow DAGs (active by default) with optional tag filter and dag_id substring search

Inputs: onlyActive, tag, search, limit, +1 more.

airflow-list-runsA

List recent runs of one Airflow DAG, optionally filtered by state, ordered newest first

Inputs: dagId (required), state, limit, extractFields.

airflow-trigger-dagA

Trigger a new Airflow DAG run with optional conf payload and note. Write-gated by AIRFLOW_ALLOW_WRITE.

Inputs: dagId (required), dagRunId, conf, note, +1 more.

dag-health-rollupA

Aggregated DAG health: success-rate over the last N runs + count breakdown (succeeded/failed/queued) + average duration + last-failed-run id + (optional) failing task instances. Replaces the airflow-list-runs + airflow-get-task-instances combo for 'is this DAG healthy right now?'.

Inputs: dagId (required), recentRuns, includeFailingTasks, extractFields.

search-toolsA

Discover available Airflow MCP tools by natural language query.

Inputs: query (required), category, limit.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.6/5.0

    Scored across 8 tools

    Disambiguation4/5

    Each tool maps to a distinct resource/action: DAGs, runs, task instances, logs, aggregate health, and tool discovery. dag-health-rollup and airflow-list-runs could overlap for health questions, but the description explicitly positions the rollup as the higher-level replacement, so ambiguity remains low.

    Naming Consistency3/5

    Most tools follow the airflow-<verb>-<object> pattern (airflow-list-dags, airflow-trigger-dag, airflow-clear-task, airflow-list-runs, airflow-get-task-instances, airflow-get-task-logs), but dag-health-rollup and search-tools break both the airflow- prefix and the verb-noun convention. There is also minor inconsistency between 'list' and 'get' for similar retrieval operations.

    Tool Count5/5

    Eight tools is well-scoped for an Airflow operations server. Each tool covers a meaningful operation without redundancy or bloat.

    Completeness4/5

    The set covers the core operational workflow: discover DAGs, trigger runs, inspect runs/task instances/logs, clear tasks, and get an aggregated health rollup. Minor gaps like pause/unpause DAGs or fetching DAG details exist, but they do not break the primary monitoring and troubleshooting use case.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      C
      maintenance
      Enables inspection and management of Apache Airflow DAGs, runs, and logs across multiple instances. It provides tools for monitoring workflows and performing gated write operations like triggering DAGs or clearing task instances.
      16
      56 PyPI
      2
      Apache 2.0
    • A
      license
      Not graded
      quality
      Not graded
      maintenance
      An MCP server that wraps the Apache Airflow REST API, enabling clients to manage DAGs, monitor task instances, and handle workflows through a standardized interface. It provides comprehensive access to Airflow features including DAG runs, variables, connections, and XComs.
      MIT