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.
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).
Flujo de aire de Apache del servidor mcp
Implementación de un servidor del Protocolo de Contexto de Modelo (MCP) para Apache Airflow, que permite una integración fluida con clientes MCP. Este proyecto proporciona una forma estandarizada de interactuar con Apache Airflow mediante el Protocolo de Contexto de Modelo.
Acerca de
Este proyecto implementa un servidor de Protocolo de Contexto de Modelo que encapsula la API REST de Apache Airflow, lo que permite a los clientes MCP interactuar con Airflow de forma estandarizada. Utiliza la biblioteca de cliente oficial de Apache Airflow para garantizar la compatibilidad y el mantenimiento.
Estado de implementación de la función
Característica | Ruta de la API | Estado |
---|---|---|
Gestión de DAG | ||
Lista de DAG | /api/v1/dags | ✅ |
Obtener detalles de DAG | /api/v1/dags/{dag_id} | ✅ |
Pausa DAG | /api/v1/dags/{dag_id} | ✅ |
Reanudar DAG | /api/v1/dags/{dag_id} | ✅ |
Actualizar DAG | /api/v1/dags/{dag_id} | ✅ |
Eliminar DAG | /api/v1/dags/{dag_id} | ✅ |
Obtener fuente DAG | /api/v1/dagSources/{file_token} | ✅ |
Parchear varios DAG | /api/v1/dags | ✅ |
Analizar archivo DAG | /api/v1/dagSources/{file_token}/reparse | ✅ |
DAG se ejecuta | ||
Lista de ejecuciones de DAG | /api/v1/dags/{dag_id}/dagRuns | ✅ |
Crear ejecución de DAG | /api/v1/dags/{dag_id}/dagRuns | ✅ |
Obtener detalles de la ejecución de DAG | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id} | ✅ |
Actualizar la ejecución de DAG | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id} | ✅ |
Eliminar ejecución de DAG | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id} | ✅ |
Obtener lotes de ejecuciones DAG | /api/v1/dags/~/dagRuns/list | ✅ |
Ejecución de DAG clara | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/clear | ✅ |
Establecer nota de ejecución de DAG | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/setNote | ✅ |
Obtener eventos del conjunto de datos ascendente | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/upstreamDatasetEvents | ✅ |
Tareas | ||
Lista de tareas de DAG | /api/v1/dags/{dag_id}/tasks | ✅ |
Obtener detalles de la tarea | /api/v1/dags/{dag_id}/tasks/{task_id} | ✅ |
Obtener instancia de tarea | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id} | ✅ |
Lista de instancias de tareas | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances | ✅ |
Actualizar instancia de tarea | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id} | ✅ |
Borrar instancias de tareas | /api/v1/dags/{dag_id}/clearTaskInstances | ✅ |
Establecer el estado de las instancias de tarea | /api/v1/dags/{dag_id}/updateTaskInstancesState | ✅ |
Variables | ||
Variables de lista | /api/v1/variables | ✅ |
Crear variable | /api/v1/variables | ✅ |
Obtener variable | /api/v1/variables/{variable_key} | ✅ |
Actualizar variable | /api/v1/variables/{variable_key} | ✅ |
Eliminar variable | /api/v1/variables/{variable_key} | ✅ |
Conexiones | ||
Conexiones de lista | /api/v1/connections | ✅ |
Crear conexión | /api/v1/connections | ✅ |
Obtener conexión | /api/v1/connections/{connection_id} | ✅ |
Actualizar conexión | /api/v1/connections/{connection_id} | ✅ |
Eliminar conexión | /api/v1/connections/{connection_id} | ✅ |
Conexión de prueba | /api/v1/connections/test | ✅ |
Quinielas | ||
Lista de grupos | /api/v1/pools | ✅ |
Crear grupo | /api/v1/pools | ✅ |
Obtener piscina | /api/v1/pools/{pool_name} | ✅ |
Grupo de actualizaciones | /api/v1/pools/{pool_name} | ✅ |
Eliminar grupo | /api/v1/pools/{pool_name} | ✅ |
XComs | ||
Lista de XComs | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/xcomEntries | ✅ |
Obtenga la entrada a XCom | /api/v1/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/xcomEntries/{xcom_key} | ✅ |
Conjuntos de datos | ||
Lista de conjuntos de datos | /api/v1/datasets | ✅ |
Obtener conjunto de datos | /api/v1/datasets/{uri} | ✅ |
Obtener eventos del conjunto de datos | /api/v1/datasetEvents | ✅ |
Crear evento de conjunto de datos | /api/v1/datasetEvents | ✅ |
Obtener evento en cola del conjunto de datos DAG | /api/v1/dags/{dag_id}/dagRuns/queued/datasetEvents/{uri} | ✅ |
Obtener eventos en cola del conjunto de datos DAG | /api/v1/dags/{dag_id}/dagRuns/queued/datasetEvents | ✅ |
Eliminar evento en cola del conjunto de datos DAG | /api/v1/dags/{dag_id}/dagRuns/queued/datasetEvents/{uri} | ✅ |
Eliminar eventos en cola del conjunto de datos DAG | /api/v1/dags/{dag_id}/dagRuns/queued/datasetEvents | ✅ |
Obtener eventos en cola del conjunto de datos | /api/v1/datasets/{uri}/dagRuns/queued/datasetEvents | ✅ |
Eliminar eventos en cola del conjunto de datos | /api/v1/datasets/{uri}/dagRuns/queued/datasetEvents | ✅ |
Escucha | ||
Obtenga salud | /api/v1/health | ✅ |
Estadísticas de DAG | ||
Obtener estadísticas de DAG | /api/v1/dags/statistics | ✅ |
Configuración | ||
Obtener configuración | /api/v1/config | ✅ |
Complementos | ||
Obtener complementos | /api/v1/plugins | ✅ |
Proveedores | ||
Proveedores de listas | /api/v1/providers | ✅ |
Registros de eventos | ||
Lista de registros de eventos | /api/v1/eventLogs | ✅ |
Obtener registro de eventos | /api/v1/eventLogs/{event_log_id} | ✅ |
Sistema | ||
Obtener errores de importación | /api/v1/importErrors | ✅ |
Obtener detalles del error de importación | /api/v1/importErrors/{import_error_id} | ✅ |
Obtener el estado de salud | /api/v1/health | ✅ |
Obtener versión | /api/v1/version | ✅ |
Configuración
Dependencias
Este proyecto depende de la biblioteca cliente oficial de Apache Airflow ( apache-airflow-client
). Se instalará automáticamente al instalar este paquete.
Variables de entorno
Establezca las siguientes variables de entorno:
Uso con Claude Desktop
Añade a tu claude_desktop_config.json
:
Configuración alternativa usando uv
:
Reemplace /path/to/mcp-server-apache-airflow
con la ruta real donde ha clonado el repositorio.
Selección de los grupos de API
Puede seleccionar los grupos de API que desea utilizar configurando el indicador --apis
.
El valor predeterminado es utilizar todas las API.
Los valores permitidos son:
- configuración
- conexiones
- trozo de cuero
- dagrun
- datos estadísticos
- conjunto de datos
- registro de eventos
- error de importación
- escucha
- complemento
- piscina
- proveedor
- instancia de tarea
- variable
- xcom
Ejecución manual
También puedes ejecutar el servidor manualmente:
make run
acepta las siguientes opciones:
Opciones:
--port
: Puerto para escuchar SSE (predeterminado: 8000)--transport
: Tipo de transporte (stdio/sse, predeterminado: stdio)
O bien, puede ejecutar directamente el servidor sse, que acepta los mismos parámetros:
Instalación mediante herrería
Para instalar Apache Airflow MCP Server para Claude Desktop automáticamente a través de Smithery :
Contribuyendo
¡Agradecemos sus contribuciones! No dude en enviar una solicitud de incorporación de cambios.
Licencia
You must be authenticated.
Tools
Proporciona una forma estandarizada para que los clientes MCP interactúen con la API REST de Apache Airflow, respaldando operaciones como la administración de DAG y el monitoreo del estado del sistema Airflow.