Astronomer agents — плагин
Плагин Astronomer для инженеров данных: MCP-сервер Airflow, CLI af и скиллы по DAG, линиджу и запросам к хранилищу
- 461 ★ репозитория
- Последний коммит
- Apache-2.0
Широкий доступ
Почему такой уровень
- Сервер запускает DAG, ставит их на паузу и навсегда удаляет прогоны, а параметры из `warehouse.yml` дают агенту доступ к хранилищу данных.
- Скилл анализа выполняет произвольный SQL в фоновом ядре Jupyter от имени сохраненных учетных данных.
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add plugins/astronomer-agentsОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемШирокий доступИнструмент может менять данные, выполнять команды или работать с секретами.
- Сервер запускает DAG, ставит их на паузу и навсегда удаляет прогоны, а параметры из `warehouse.yml` дают агенту доступ к хранилищу данных.
- Скилл анализа выполняет произвольный SQL в фоновом ядре Jupyter от имени сохраненных учетных данных.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Astronomer agents — репозиторий компании Astronomer с набором для работы агента с Apache Airflow и хранилищами данных. Плагин `astronomer-data` для Claude Code объединяет MCP-сервер `astro-airflow-mcp`, консольную утилиту `af` и более 30 скиллов. Сервер запускается через `uvx` и покрывает REST API Airflow 2 и 3: список и исходники DAG, запуск и ожидание прогонов, логи задач, паузы, состояние системы. Скиллы идут по сценариям. Для разработки это написание и проверка DAG, локальное тестирование, отладка падений, деплой, перенос с Airflow 2 на 3 и запуск dbt через Cosmos. Для данных — инициализация схемы хранилища в `.astro/warehouse.md`, SQL-анализ через фоновое ядро Jupyter, профилирование таблиц и проверка свежести. Отдельный блок посвящен линиджу: скиллы прослеживают, откуда данные пришли и что сломается при изменении, и строят экстракторы OpenLineage.
Для кого. Инженерам данных на Apache Airflow, которые поручают Claude Code или Cursor писать DAG, разбирать упавшие прогоны и отвечать на вопросы по хранилищу.
Подходит, если
- Ночной DAG упал, и агент по логам задач и исходнику находит причину, а затем описывает правку.
- Проект на Airflow 2 переезжает на Airflow 3, и скилл миграции проходит по DAG и отмечает несовместимые места.
- Проект dbt запускается как набор задач Airflow через Cosmos.
- Аналитик спрашивает, сколько клиентов пришло за неделю, и агент находит таблицы по кэшу схемы и выполняет SQL.
Не подходит, если
- Оркестрация построена на другом инструменте, например Dagster: у плагина есть только скилл переноса оттуда.
- Нельзя давать агенту доступ к рабочему Airflow: сервер умеет запускать, ставить на паузу и удалять прогоны.
- Нужен чистый запрос к хранилищу без Airflow: проще взять отдельный MCP для вашей СУБД.
Пример запроса к агенту
Посмотри последний упавший прогон DAG load_orders, найди причину в логах задач и покажи строку исходника, которую надо поправить.Ограничения
Для сервера нужны `uv` и Python 3.10 или новее. Удаленный Airflow задают через `AIRFLOW_API_URL` и логин с паролем либо токен `AIRFLOW_AUTH_TOKEN`. Подключения к Snowflake, Postgres, BigQuery и другим хранилищам описывают в `~/.astro/agents/warehouse.yml`, а секреты кладут в `~/.astro/agents/.env`. Скиллы `setting-up-astro-project` и `managing-astro-local-env` относятся к платформе Astro, а для открытого Airflow автор советует Docker Compose и Helm. Утилита `af` собирает анонимную статистику с названиями команд, отключается через `af telemetry disable`. Скиллов в репозитории больше, чем перечислено в README.
Как отключить. Выполните `claude plugin uninstall astronomer-data@astronomer`. Сервер из конфигурации Cursor и других клиентов удалите вручную. Файлы `.astro/warehouse.md` и `~/.astro/agents/` с настройками остаются на диске, их стирают отдельно.
Частые вопросы
Как поставить плагин в Claude Code?
Выполните `claude plugin marketplace add astronomer/agents`, затем `claude plugin install astronomer-data@astronomer`. Если ставили старый плагин `data@astronomer`, сначала удалите его командой `claude plugin uninstall data@astronomer`.
Как подключить сервер Airflow к Cursor или VS Code?
Добавьте в `~/.cursor/mcp.json` или `.vscode/mcp.json` сервер с командой `uvx` и аргументами `astro-airflow-mcp`, `--transport`, `stdio`. В Cursor есть и ссылка быстрой установки.
Работает ли сервер с самостоятельно развернутым Airflow?
Да, подходит любой Airflow 2.x или 3.x с REST API. Укажите адрес в `AIRFLOW_API_URL` и данные для входа в `AIRFLOW_USERNAME` и `AIRFLOW_PASSWORD` либо токен в `AIRFLOW_AUTH_TOKEN`.
Можно ли запретить агенту запись?
Да, `AF_READ_ONLY=true` блокирует все записывающие операции. Набор доступных инструментов сужается переменной `ASTRO_MCP_ALLOWED_TOOLS`, например до `list_dags` и `get_dag_run`.
С чего начать работу с хранилищем?
С `/astronomer-data:warehouse-init`: скилл обходит базы из `warehouse.yml` и пишет схему в `.astro/warehouse.md`. После этого `analyzing-data` отвечает на вопросы быстрее, потому что не ищет таблицы заново.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
ПлагиныОфициальный набор Dagster для агентов: справочник по ассетам и командам dg плюс доступ к запускам, логам и алертам в облаке.
Airbyte MCP подключает агента к организации Airbyte: конвейеры, синхронизации, журналы заданий и чтение данных.
Плагин подключает агента к хранилищу данных и находит в схеме AGENTS метаданные таблиц, моделей dbt и семантических объектов.
Открытый агент для дата-инженеров: SQL-клиент в терминале с контекстом хранилища, семантическим слоем, REST API и MCP-сервером.
Каталог плагинов Google Cloud для баз и аналитики: AlloyDB, Spanner, Bigtable, Firestore, Cloud SQL и Looker.
Плагины Claude Code от команды Oracle AI Data Platform: Ask AIDP управляет рабочей средой через 43 MCP-инструмента и aidp-cli.
Сравнение с похожими
Карточки с тем же главным запросом: чем они отличаются.
| Инструмент | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| Astronomer agents (эта карточка) | да | 461 | ||
| dbt Agent Skills | да | 762 | официальные скиллы dbt Labs о проектах dbt; здесь Airflow: сервер, утилита `af` и скиллы по DAG, а dbt закрывает скилл Cosmos | |
| dbt MCP | да | API-ключ | 621 | официальный MCP-сервер dbt Labs с Semantic Layer и запуском команд dbt; здесь MCP-сервер Airflow и работа с DAG |
Коротко о README
Документация описывает два пути для инженера данных: анализ данных от инициализации хранилища до проверки свежести и разработку DAG от создания проекта до отладки. Сервер можно запускать отдельно или как плагин внутри Airflow 2.
Бейдж для README
Исходный SKILL.md
---
name: analyzing-data
description: Queries the data warehouse with SQL and answers business questions about data. Use when answering anything that needs warehouse data - counts, metrics, trends, aggregations, joins across tables, data lookups, or ad-hoc SQL analysis (for example "who uses X", "how many Y", "show me Z", "find customers", "what is the count").
---
# Data Analysis
Answer business questions by querying the data warehouse. The kernel auto-starts on first `exec` call.
**All CLI commands below are relative to this skill's directory.** Before running any `scripts/cli.py` command, `cd` to the directory containing this file.
## Workflow
1. **Pattern lookup** — Check for a cached query strategy:
```bash
uv run scripts/cli.py pattern lookup "<user's question>"
```
If a pattern exists, follow its strategy. Record the outcome after executing:
```bash
uv run scripts/cli.py pattern record <name> --success # or --failure
```
2. **Concept lookup** — Find known table mappings:
```bash
uv run scripts/cli.py concept lookup <concept>
```
3. **Table discovery** — If cache misses, search the codebase (`Grep pattern="<concept>" glob="**/*.sql"`) or query `INFORMATION_SCHEMA`. See [reference/discovery-warehouse.md](reference/discovery-warehouse.md).
4. **Execute query**:
```bash
uv run scripts/cli.py exec "df = run_sql('SELECT ...')"
uv run scripts/cli.py exec "print(df)"
```
5. **Cache learnings** — Always cache before presenting results:
```bash
# Cache concept → table mapping
uv run scripts/cli.py concept learn <concept> <TABLE> -k <KEY_COL>
# Cache query strategy (if discovery was needed)
uv run scripts/cli.py pattern learn <name> -q "question" -s "step" -t "TABLE" -g "gotcha"
```
6. **Present findings** to user.