MCP Hub
Back to servers

Airflow ETL Pipeline Generator

An Airflow ETL Pipeline Generator that integrates with databases, S3, SMB, Kafka, and GitLab to automate the creation of Spark-based data pipelines. It facilitates data source validation, schema extraction, and DAG generation through a conversational interface.

Stars
1
Updated
Oct 18, 2025

MCP сервер для LLM агентов

MCP Сервер является сердцем нашего решения. Он предоставляет сервисам LLM Chat и Gitlab Agent возможность взаимодействовать с инфраструктурой, в которй MCP сервер запущен.

На стороне MCP сервера реализовано взаимодействие со следующими объектами:

  • Базы данных, все, для которых есть драйвера для sqlalchemy
  • Файловые хранилища (S3, SMB)
  • Kafka
  • Веб интерфейсы

Для файловых хранилищ поддерживаются следующие форматы данных:

  • CSV, TSV
  • JSON, XML
  • Parquet

Основные действия над базами данных:

  • проверить доступность
  • проверить наличие схемы.таблицы
  • получить DDL (структуру таблицы)
  • получить sample данных для проверки структуры таблицы

Основные действия над хранилищами

  • проверить доступность хранилища
  • проверить доступность каталога и проверить наличие файла
  • прочитать файл или его часть (для текстовых форматов)
  • получить схему для parquet файлов

Основные действия над интернет ресурсами

  • проверить доступность ресурса
  • получить первые 2000 символов ответа ресурса

Развертывание сервиса

Наш проект подготовлен для контейнеризации и содержит Dockerfile для сборки образа.

Для работы сервиса необходимо настроить следующие параметры переменных окружения:

  • HTTP_PROXY - адрес прокси сервера, если ваша среда не имеет прямого выхода в интернет

  • HTTPS_PROXY - адрес прокси сервера для https запросов, если ваша среда не имеет прямого выхода в интернет

  • GITLAB_URL - адрес сервера Gitlab для доступа к апи

  • GITLAB_TOKEN - действующий токен с уровнем доступа, чтение и запись через API

  • PROJECT_PATH - путь до проекта, в котором будут создаваться ветки

  • AIRFLOW_URL - адрес сервера Apache Airflow

  • AIRFLOW_USER - Пользователь, который имеет доступ к REST API сервера Airflow

  • AIRFLOW_PASSWORD - Паспорт пользователя

Для сборки образа указываем все необходимые переменные окружения и запускаем процесс сборки

$ git clone https://github.com/AnatoliyAksenov/chat-app-backend.git
$ cd chat-app-backend
$ docker build -t chat-app-backend:0.0.1 --build-arg HTTPS_PROXY=http://10.0.0.7:3128 \
--build-arg LDAP_SERVER=10.0.0.100 \
--build-arg LDAP_SERVER=1389 \
--build-arg POSTGRESQL_URL=postgres://10.0.0.7:5432/chat .

Также, для своего тестового контура мы настроили сборку и деплой приложения через cicd.

Архитектура решения

Продублировано из репозитория Gitlab Агента

Агент состоит из двух основных модулей:

  • LLM Чат (пользовательский интерфейс)
  • LLM Gitlab Агент (сервис)

Также, для работы сервисов необходим MCP сервер с набором инструметов для взаимодействия с базами данных и хранилищами.

scheme

Создание нового пайплайна для загрузки данных начинается в чате. Пользователь в процессе общения с агентом передает все необходимые данные для создания новой загрузки данных. Агент чата, после сбора необходимых данных, создает в приложении Gitlab issue, где собрана вся информация для создания пайплайна. После создания issue Gitlab вызывает webhook к LLM Gitlab Агенту и запускает обработку issue. Gitlab Агент обрабатывает issue и создает в репозитории Gitlab в выделенном проекте новую ветку и передает в нее весь созданный код и документацию, создает Merge Request и завершает свою работу.

При принятии Merge Request'a срабатывает cicd по доставке изменений в Airflow.

Связанные проекты:

Также, мы подготовили развернутый стенд

Kroki server

docker run -p 8008:8000 --name kroki -d yuzutech/kroki

Minio object storage

docker run -p 9001:9000 --name minio -d minio/minio

Reviews

No reviews yet

Sign in to write a review