Airflow MCP Server
Controla Apache Airflow a través de su API usando autenticación JWT.
Documentación
airflow-mcp-server: Un servidor MCP para controlar Airflow 3
mcp-name: io.github.abhishekbhakat/airflow-mcp-server
Certificación MCPHub
Este servidor MCP está certificado por MCPHub. Esta certificación garantiza que airflow-mcp-server sigue las mejores prácticas para la implementación del Protocolo de Contexto de Modelo.
Encuéntralo en Glama
Descripción general
Un servidor de Protocolo de Contexto de Modelo para controlar Airflow mediante las APIs de Airflow.
Video de demostración
https://github.com/user-attachments/assets/f3e60fff-8680-4dd9-b08e-fa7db655a705
Configuración
Uso con Claude Desktop
Transporte Stdio (predeterminado)
{
"mcpServers": {
"airflow-mcp-server": {
"command": "uvx",
"args": [
"airflow-mcp-server",
"--base-url",
"http://localhost:8080",
"--auth-token",
"<jwt_token>"
]
}
}
}
Consulta CONFIG.md para ver ejemplos de configuración específicos de IDE en clientes MCP populares.
Transporte HTTP
{
"mcpServers": {
"airflow-mcp-server-http": {
"command": "uvx",
"args": [
"airflow-mcp-server",
"--http",
"--port",
"3000",
"--base-url",
"http://localhost:8080",
"--auth-token",
"<jwt_token>"
]
}
}
}
Nota:
- Establece
base_urla la URL raíz de Airflow (por ejemplo,http://localhost:8080).- No incluyas
/api/v2en la URL base. El servidor obtendrá automáticamente la especificación OpenAPI desde${base_url}/openapi.json.- Solo se requiere el token JWT para la autenticación. La autenticación por cookie y básica ya no se admite en Airflow 3.0.
Opciones de transporte
El servidor admite múltiples protocolos de transporte:
Transporte Stdio (predeterminado)
Transporte de entrada/salida estándar para comunicación directa de procesos:
airflow-mcp-server --safe --base-url http://localhost:8080 --auth-token <jwt>
Transporte HTTP
Utiliza HTTP Streamable para una mejor escalabilidad y compatibilidad web:
airflow-mcp-server --safe --http --port 3000 --base-url http://localhost:8080 --auth-token <jwt>
Nota: El transporte SSE está obsoleto. Usa
--httppara nuevas implementaciones, ya que proporciona una mejor comunicación bidireccional y es el enfoque recomendado por FastMCP.
Modos de operación
El servidor admite dos modos de operación:
- Modo seguro (
--safe): Solo permite operaciones de solo lectura (solicitudes GET). Esto es útil cuando deseas evitar cualquier modificación en tu instancia de Airflow. - Modo no seguro (
--unsafe): Permite todas las operaciones, incluidas las modificaciones. Este es el modo predeterminado.
Para iniciar en modo seguro:
airflow-mcp-server --safe
Para iniciar explícitamente en modo no seguro (aunque es el predeterminado):
airflow-mcp-server --unsafe
Modos de descubrimiento de herramientas
El servidor admite dos enfoques de descubrimiento de herramientas:
- Descubrimiento jerárquico (predeterminado): Las herramientas se organizan por categorías (DAGs, Tareas, Conexiones, etc.). Primero navega por las categorías y luego selecciona herramientas específicas. Más manejable para APIs grandes.
- Herramientas estáticas (
--static-tools): Todas las herramientas disponibles de inmediato. Mejor para acceso programático, pero puede ser abrumador.
Para usar herramientas estáticas:
airflow-mcp-server --static-tools
Opciones de línea de comandos
Usage: airflow-mcp-server [OPTIONS]
MCP server for Airflow
Options:
-v, --verbose Increase verbosity
-s, --safe Use only read-only tools
-u, --unsafe Use all tools (default)
--static-tools Use static tools instead of hierarchical discovery
--base-url TEXT Airflow API base URL
--auth-token TEXT Authentication token (JWT)
--http Use HTTP (Streamable HTTP) transport instead of stdio
--sse Use Server-Sent Events transport (deprecated, use --http
instead)
--port INTEGER Port to run HTTP/SSE server on (default: 3000)
--host TEXT Host to bind HTTP/SSE server to (default: localhost)
--help Show this message and exit.
Uso de recursos
Apunta el servidor a una carpeta de guías en Markdown cuando quieras que los agentes consulten documentación local:
airflow-mcp-server --base-url http://localhost:8080 --auth-token <jwt> --resources-dir ~/airflow-resources
- Cada archivo
.md/.markdownde nivel superior se convierte en un recurso de solo lectura (file:///<slug>) visible en tu cliente MCP. - El primer
# Headingen cada archivo (si está presente) se usa como título del recurso; de lo contrario, se usa el nombre del archivo sin extensión. - Establece
AIRFLOW_MCP_RESOURCES_DIR=/path/to/docssi prefieres la configuración basada en variables de entorno. - Actualiza los archivos en el disco y reinicia el servidor para actualizar la lista de recursos.
Consideraciones
Autenticación
- Solo se admite la autenticación JWT en Airflow 3.0. Debes proporcionar un
AUTH_TOKENválido.
Límite de página
El valor predeterminado es 100 elementos, pero puedes cambiarlo usando la opción maximum_page_limit en la sección [api] del archivo airflow.cfg.
Selección de transporte
- Usa el transporte stdio para comunicación directa de procesos (predeterminado)
- Usa el transporte HTTP para implementaciones web, múltiples clientes o cuando necesites una mejor escalabilidad
- Evita el transporte SSE, ya que está obsoleto en favor del transporte HTTP