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-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

BesonderheitAPI-PfadStatus
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:

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

Verwendung mit Claude Desktop

Fügen Sie zu Ihrer claude_desktop_config.json hinzu:

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

Alternative Konfiguration mit 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" } } } }

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.

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

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

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:

make run-sse

Installation über Smithery

So installieren Sie den Apache Airflow MCP Server für Claude Desktop automatisch über Smithery :

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

Beitragen

Beiträge sind willkommen! Senden Sie gerne einen Pull Request.

Lizenz

MIT-Lizenz

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.

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.

  1. Um
    1. Status der Funktionsimplementierung
      1. Aufstellen
        1. Abhängigkeiten
        2. Umgebungsvariablen
        3. Verwendung mit Claude Desktop
        4. Auswählen der API-Gruppen
        5. Manuelle Ausführung
        6. Installation über Smithery
      2. Beitragen
        1. Lizenz

          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