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-server-apache-airflow
Eine Model Context Protocol (MCP)-Serverimplementierung für Apache Airflow ermöglicht die nahtlose Integration mit MCP-Clients. Dieses Projekt bietet eine standardisierte Möglichkeit zur Interaktion mit Apache Airflow über das Model Context Protocol.
Um
Dieses Projekt implementiert einen Model Context Protocol -Server, der die REST-API von Apache Airflow umschließt und MCP-Clients eine standardisierte Interaktion mit Airflow ermöglicht. Es verwendet die offizielle Apache Airflow-Clientbibliothek, um Kompatibilität und Wartbarkeit zu gewährleisten.
Status der Funktionsimplementierung
Besonderheit | API-Pfad | Status |
---|---|---|
DAG-Verwaltung | ||
DAGs auflisten | /api/v1/dags | ✅ |
DAG-Details abrufen | /api/v1/dags/{dag_id} | ✅ |
DAG anhalten | /api/v1/dags/{dag_id} | ✅ |
DAG fortsetzen | /api/v1/dags/{dag_id} | ✅ |
DAG aktualisieren | /api/v1/dags/{dag_id} | ✅ |
DAG löschen | /api/v1/dags/{dag_id} | ✅ |
DAG-Quelle abrufen | /api/v1/dagSources/{file_token} | ✅ |
Mehrere DAGs patchen | /api/v1/dags | ✅ |
DAG-Datei erneut analysieren | /api/v1/dagSources/{file_token}/reparse | ✅ |
DAG-Läufe | ||
DAG-Läufe auflisten | /api/v1/dags/{dag_id}/dagRuns | ✅ |
DAG-Ausführung erstellen | /api/v1/dags/{dag_id}/dagRuns | ✅ |
DAG-Ausführungsdetails abrufen | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id} | ✅ |
DAG-Ausführung aktualisieren | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id} | ✅ |
DAG-Ausführung löschen | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id} | ✅ |
DAG-Runs-Batch abrufen | /api/v1/dags/~/dagRuns/list | ✅ |
DAG-Lauf löschen | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/clear | ✅ |
DAG-Ausführungsnotiz festlegen | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/setNote | ✅ |
Upstream-Dataset-Ereignisse abrufen | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/upstreamDatasetEvents | ✅ |
Aufgaben | ||
DAG-Aufgaben auflisten | /api/v1/dags/{dag_id}/tasks | ✅ |
Aufgabendetails abrufen | /api/v1/dags/{dag_id}/tasks/{task_id} | ✅ |
Taskinstanz abrufen | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id} | ✅ |
Aufgabeninstanzen auflisten | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances | ✅ |
Taskinstanz aktualisieren | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id} | ✅ |
Aufgabeninstanzen löschen | /api/v1/dags/{dag_id}/clearTaskInstances | ✅ |
Status der Taskinstanzen festlegen | /api/v1/dags/{dag_id}/updateTaskInstancesState | ✅ |
Variablen | ||
Listenvariablen | /api/v1/variables | ✅ |
Variable erstellen | /api/v1/variables | ✅ |
Variable abrufen | /api/v1/variables/{variable_key} | ✅ |
Variable aktualisieren | /api/v1/variables/{variable_key} | ✅ |
Variable löschen | /api/v1/variables/{variable_key} | ✅ |
Anschlüsse | ||
Verbindungen auflisten | /api/v1/connections | ✅ |
Verbindung erstellen | /api/v1/connections | ✅ |
Verbindung herstellen | /api/v1/connections/{connection_id} | ✅ |
Verbindung aktualisieren | /api/v1/connections/{connection_id} | ✅ |
Verbindung löschen | /api/v1/connections/{connection_id} | ✅ |
Verbindung testen | /api/v1/connections/test | ✅ |
Schwimmbäder | ||
Pools auflisten | /api/v1/pools | ✅ |
Pool erstellen | /api/v1/pools | ✅ |
Pool abrufen | /api/v1/pools/{pool_name} | ✅ |
Updatepool | /api/v1/pools/{pool_name} | ✅ |
Pool löschen | /api/v1/pools/{pool_name} | ✅ |
XComs | ||
Liste XComs | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/xcomEntries | ✅ |
Holen Sie sich den XCom-Eintrag | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/xcomEntries/{xcom_key} | ✅ |
Datensätze | ||
Datensätze auflisten | /api/v1/datasets | ✅ |
Datensatz abrufen | /api/v1/datasets/{uri} | ✅ |
Abrufen von Dataset-Ereignissen | /api/v1/datasetEvents | ✅ |
Ereignis „Dataset erstellen“ | /api/v1/datasetEvents | ✅ |
DAG-Dataset-Warteschlangenereignis abrufen | /api/v1/dags/{dag_id}/dagRuns/queued/datasetEvents/{uri} | ✅ |
Abrufen von DAG-Dataset-Warteschlangenereignissen | /api/v1/dags/{dag_id}/dagRuns/queued/datasetEvents | ✅ |
Ereignis „DAG-Dataset in der Warteschlange löschen“ | /api/v1/dags/{dag_id}/dagRuns/queued/datasetEvents/{uri} | ✅ |
Löschen von in die Warteschlange gestellten DAG-Dataset-Ereignissen | /api/v1/dags/{dag_id}/dagRuns/queued/datasetEvents | ✅ |
Abrufen von Dataset-Warteschlangenereignissen | /api/v1/datasets/{uri}/dagRuns/queued/datasetEvents | ✅ |
Ereignisse aus der Warteschlange des Datensatzes löschen | /api/v1/datasets/{uri}/dagRuns/queued/datasetEvents | ✅ |
Überwachung | ||
Gesundheit bekommen | /api/v1/health | ✅ |
DAG-Statistiken | ||
DAG-Statistiken abrufen | /api/v1/dags/statistics | ✅ |
Konfiguration | ||
Konfiguration abrufen | /api/v1/config | ✅ |
Plugins | ||
Plugins herunterladen | /api/v1/plugins | ✅ |
Anbieter | ||
Anbieter auflisten | /api/v1/providers | ✅ |
Ereignisprotokolle | ||
Ereignisprotokolle auflisten | /api/v1/eventLogs | ✅ |
Ereignisprotokoll abrufen | /api/v1/eventLogs/{event_log_id} | ✅ |
System | ||
Importfehler abrufen | /api/v1/importErrors | ✅ |
Details zu Importfehlern abrufen | /api/v1/importErrors/{import_error_id} | ✅ |
Gesundheitsstatus abrufen | /api/v1/health | ✅ |
Version abrufen | /api/v1/version | ✅ |
Aufstellen
Abhängigkeiten
Dieses Projekt basiert auf der offiziellen Apache Airflow-Clientbibliothek ( apache-airflow-client
). Sie wird automatisch installiert, wenn Sie dieses Paket installieren.
Umgebungsvariablen
Legen Sie die folgenden Umgebungsvariablen fest:
Verwendung mit Claude Desktop
Fügen Sie zu Ihrer claude_desktop_config.json
hinzu:
Alternative Konfiguration mit uv
:
Ersetzen Sie /path/to/mcp-server-apache-airflow
durch den tatsächlichen Pfad, in den Sie das Repository geklont haben.
Auswählen der API-Gruppen
Sie können die API-Gruppen auswählen, die Sie verwenden möchten, indem Sie das Flag --apis
setzen.
Standardmäßig werden alle APIs verwendet.
Zulässige Werte sind:
- Konfiguration
- Anschlüsse
- Tag
- dagrun
- dagstats
- Datensatz
- Ereignisprotokoll
- Importfehler
- Überwachung
- Plugin
- Pool
- Anbieter
- Taskinstanz
- Variable
- xcom
Manuelle Ausführung
Sie können den Server auch manuell ausführen:
make run
akzeptiert folgende Optionen:
Optionen:
--port
: Port, auf dem auf SSE gewartet wird (Standard: 8000)--transport
: Transporttyp (stdio/sse, Standard: stdio)
Oder Sie können den SSE-Server direkt ausführen, der dieselben Parameter akzeptiert:
Installation über Smithery
So installieren Sie den Apache Airflow MCP Server für Claude Desktop automatisch über Smithery :
Beitragen
Beiträge sind willkommen! Senden Sie gerne einen Pull Request.
Lizenz
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
Bietet MCP-Clients eine standardisierte Möglichkeit zur Interaktion mit der REST-API von Apache Airflow und unterstützt Vorgänge wie die DAG-Verwaltung und die Überwachung der Systemintegrität von 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