MCP Server for Apache Airflow

by yangkyeongmo

Integrations

  • Allows interaction with Apache Airflow through a Model Context Protocol server that wraps Airflow's REST API. Supports DAG management (listing, viewing details, pausing/unpausing), DAG runs (listing, creating), task management (listing tasks and task instances), and system information (health status, version, import errors).

mcp-сервер-apache-airflow

Реализация сервера Model Context Protocol (MCP) для Apache Airflow, обеспечивающая бесшовную интеграцию с клиентами MCP. Этот проект предоставляет стандартизированный способ взаимодействия с Apache Airflow через Model Context Protocol.

О

Этот проект реализует сервер Model Context Protocol , который оборачивает REST API Apache Airflow, позволяя клиентам MCP взаимодействовать с Airflow стандартизированным образом. Он использует официальную клиентскую библиотеку Apache Airflow для обеспечения совместимости и удобства обслуживания.

Статус реализации функции

ОсобенностьAPI-путьСтатус
Управление DAG
Список DAG/api/v1/dags
Получить сведения о DAG/api/v1/dags/{dag_id}
Пауза DAG/api/v1/dags/{dag_id}
Возобновить DAG/api/v1/dags/{dag_id}
Обновление DAG/api/v1/dags/{dag_id}
Удалить DAG/api/v1/dags/{dag_id}
Получить исходный код DAG/api/v1/dagSources/{file_token}
Патч нескольких DAG/api/v1/dags
Повторная обработка файла DAG/api/v1/dagSources/{file_token}/reparse
DAG работает
Список запусков DAG/api/v1/dags/{dag_id}/dagRuns
Создать DAG-запуск/api/v1/dags/{dag_id}/dagRuns
Получить сведения о запуске DAG/api/v1/dags/{dag_id}/dagRuns/{dag_run_id}
Обновление DAG Run/api/v1/dags/{dag_id}/dagRuns/{dag_run_id}
Удалить DAG Run/api/v1/dags/{dag_id}/dagRuns/{dag_run_id}
Получить пакет DAG Runs/api/v1/dags/~/dagRuns/list
Очистить DAG Run/api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/clear
Установить DAG Run Note/api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/setNote
Получить события набора данных Upstream/api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/upstreamDatasetEvents
Задачи
Список задач DAG/api/v1/dags/{dag_id}/tasks
Получить детали задачи/api/v1/dags/{dag_id}/tasks/{task_id}
Получить экземпляр задачи/api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}
Список экземпляров задач/api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances
Экземпляр задачи обновления/api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}
Очистить экземпляры задач/api/v1/dags/{dag_id}/clearTaskInstances
Установить состояние экземпляров задач/api/v1/dags/{dag_id}/updateTaskInstancesState
Переменные
Список переменных/api/v1/variables
Создать переменную/api/v1/variables
Получить переменную/api/v1/variables/{variable_key}
Обновить переменную/api/v1/variables/{variable_key}
Удалить переменную/api/v1/variables/{variable_key}
Связи
Список подключений/api/v1/connections
Создать соединение/api/v1/connections
Получить соединение/api/v1/connections/{connection_id}
Обновить соединение/api/v1/connections/{connection_id}
Удалить соединение/api/v1/connections/{connection_id}
Тестовое соединение/api/v1/connections/test
Бассейны
Список пулов/api/v1/pools
Создать пул/api/v1/pools
Получить бассейн/api/v1/pools/{pool_name}
Обновление пула/api/v1/pools/{pool_name}
Удалить пул/api/v1/pools/{pool_name}
XComs
Список XComs/api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/xcomEntries
Получить XCom Entry/api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/xcomEntries/{xcom_key}
Наборы данных
Список наборов данных/api/v1/datasets
Получить набор данных/api/v1/datasets/{uri}
Получить события набора данных/api/v1/datasetEvents
Создать событие набора данных/api/v1/datasetEvents
Получить событие очереди набора данных DAG/api/v1/dags/{dag_id}/dagRuns/queued/datasetEvents/{uri}
Получить события очереди набора данных DAG/api/v1/dags/{dag_id}/dagRuns/queued/datasetEvents
Удаление события DAG Dataset Queued/api/v1/dags/{dag_id}/dagRuns/queued/datasetEvents/{uri}
Удалить события очереди набора данных DAG/api/v1/dags/{dag_id}/dagRuns/queued/datasetEvents
Получить набор данных событий, поставленных в очередь/api/v1/datasets/{uri}/dagRuns/queued/datasetEvents
Удалить набор данных, поставленный в очередь событий/api/v1/datasets/{uri}/dagRuns/queued/datasetEvents
Мониторинг
Получите Здоровье/api/v1/health
Статистика DAG
Получить статистику DAG/api/v1/dags/statistics
Конфигурация
Получить конфигурацию/api/v1/config
Плагины
Получить плагины/api/v1/plugins
Поставщики
Список поставщиков/api/v1/providers
Журналы событий
Список журналов событий/api/v1/eventLogs
Получить журнал событий/api/v1/eventLogs/{event_log_id}
Система
Получить ошибки импорта/api/v1/importErrors
Получить сведения об ошибке импорта/api/v1/importErrors/{import_error_id}
Получить статус здоровья/api/v1/health
Получить версию/api/v1/version

Настраивать

Зависимости

Этот проект зависит от официальной клиентской библиотеки Apache Airflow ( apache-airflow-client ). Она будет автоматически установлена при установке этого пакета.

Переменные среды

Установите следующие переменные среды:

AIRFLOW_HOST=<your-airflow-host> AIRFLOW_USERNAME=<your-airflow-username> AIRFLOW_PASSWORD=<your-airflow-password> AIRFLOW_API_VERSION=v1 # Optional, defaults to v1

Использование с Claude Desktop

Добавьте в ваш claude_desktop_config.json :

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

Альтернативная конфигурация с использованием uv :

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

Замените /path/to/mcp-server-apache-airflow на фактический путь, по которому вы клонировали репозиторий.

Выбор групп API

Вы можете выбрать группы API, которые хотите использовать, установив флаг --apis .

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

По умолчанию используются все API.

Допустимые значения:

  • конфигурация
  • соединения
  • даг
  • дагрун
  • dagstats
  • набор данных
  • журнал событий
  • importerror
  • мониторинг
  • плагин
  • бассейн
  • поставщик
  • taskinstance
  • переменная
  • xcom

Ручное исполнение

Вы также можете запустить сервер вручную:

make run

make run принимает следующие параметры:

Параметры:

  • --port : Порт для прослушивания SSE (по умолчанию: 8000)
  • --transport : Тип транспорта (stdio/sse, по умолчанию: stdio)

Или вы можете запустить сервер sse напрямую, который принимает те же параметры:

make run-sse

Установка через Smithery

Чтобы автоматически установить Apache Airflow MCP Server для Claude Desktop через Smithery :

npx -y @smithery/cli install @yangkyeongmo/mcp-server-apache-airflow --client claude

Внося вклад

Вклады приветствуются! Пожалуйста, не стесняйтесь отправлять запрос на включение.

Лицензия

Лицензия Массачусетского технологического института

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Предоставляет стандартизированный способ взаимодействия клиентов MCP с API REST Apache Airflow, поддерживая такие операции, как управление DAG и мониторинг работоспособности системы Airflow.

  1. О
    1. Статус реализации функции
      1. Настраивать
        1. Зависимости
        2. Переменные среды
        3. Использование с Claude Desktop
        4. Выбор групп API
        5. Ручное исполнение
        6. Установка через Smithery
      2. Внося вклад
        1. Лицензия

          Related MCP Servers

          • -
            security
            A
            license
            -
            quality
            MCP Server simplifies the implementation of the Model Context Protocol by providing a user-friendly API to create custom tools and manage server workflows efficiently.
            Last updated -
            4
            3
            TypeScript
            MIT License
          • -
            security
            A
            license
            -
            quality
            MCP Server provides a simpler API to interact with the Model Context Protocol by allowing users to define custom tools and services to streamline workflows and processes.
            Last updated -
            13
            2
            TypeScript
            MIT License
          • -
            security
            A
            license
            -
            quality
            A Python-based MCP server that integrates OpenAPI-described REST APIs into MCP workflows, enabling dynamic exposure of API endpoints as MCP tools.
            Last updated -
            2
            39
            Python
            MIT License
            • Linux
            • Apple

          View all related MCP servers

          ID: e99b6vx9lw