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
). Она будет автоматически установлена при установке этого пакета.
Переменные среды
Установите следующие переменные среды:
Использование с Claude Desktop
Добавьте в ваш claude_desktop_config.json
:
Альтернативная конфигурация с использованием uv
:
Замените /path/to/mcp-server-apache-airflow
на фактический путь, по которому вы клонировали репозиторий.
Выбор групп API
Вы можете выбрать группы API, которые хотите использовать, установив флаг --apis
.
По умолчанию используются все API.
Допустимые значения:
- конфигурация
- соединения
- даг
- дагрун
- dagstats
- набор данных
- журнал событий
- importerror
- мониторинг
- плагин
- бассейн
- поставщик
- taskinstance
- переменная
- xcom
Ручное исполнение
Вы также можете запустить сервер вручную:
make run
принимает следующие параметры:
Параметры:
--port
: Порт для прослушивания SSE (по умолчанию: 8000)--transport
: Тип транспорта (stdio/sse, по умолчанию: stdio)
Или вы можете запустить сервер sse напрямую, который принимает те же параметры:
Установка через Smithery
Чтобы автоматически установить Apache Airflow MCP Server для Claude Desktop через Smithery :
Внося вклад
Вклады приветствуются! Пожалуйста, не стесняйтесь отправлять запрос на включение.
Лицензия
You must be authenticated.
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.
Tools
Предоставляет стандартизированный способ взаимодействия клиентов MCP с API REST Apache Airflow, поддерживая такие операции, как управление DAG и мониторинг работоспособности системы Airflow.
Related Resources
Related MCP Servers
- -securityAlicense-qualityMCP 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 -43TypeScriptMIT License
- -securityAlicense-qualityMCP 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 -132TypeScriptMIT License
- -securityAlicense-qualityA Python-based MCP server that integrates OpenAPI-described REST APIs into MCP workflows, enabling dynamic exposure of API endpoints as MCP tools.Last updated -239PythonMIT License
- AsecurityAlicenseAqualityhttps://github.com/abhishekbhakat/airflow-mcp-serverLast updated -8912PythonMIT License