Safe Mode (--safe): Only allows read-only operations (GET requests). This is useful when you want to prevent any modifications to your Airflow instance.
Unsafe Mode (--unsafe): Allows all operations including modifications. This is the default mode.
To start in safe mode:
To explicitly start in unsafe mode (though this is default):
Considerations
The MCP Server expects environment variables to be set:
AIRFLOW_BASE_URL: The base URL of the Airflow API
AUTH_TOKEN: The token to use for basic auth (This should be base64 encoded username:password) (Optional if COOKIE is provided)
COOKIE: The session cookie to use for authentication (Optional if AUTH_TOKEN is provided)
OPENAPI_SPEC: The path to the OpenAPI spec file (Optional) (defaults to latest stable release)
Authentication
The server supports two authentication methods:
Basic Auth: Using base64 encoded username:password via AUTH_TOKEN environment variable
Cookie: Using session cookie via COOKIE environment variable
At least one of these authentication methods must be provided.
Page Limit
The default is 100 items, but you can change it using maximum_page_limit option in [api] section in the airflow.cfg file.
Tasks
First API
Parse OpenAPI Spec
Safe/Unsafe mode implementation
Allow session auth
Parse proper description with list_tools.
Airflow config fetch (specifically for page limit)
Env variables optional (env variables might not be ideal for airflow plugins)
airflow-mcp-server: An MCP Server for controlling Airflow
Safe Mode (--safe): Only allows read-only operations (GET requests). This is useful when you want to prevent any modifications to your Airflow instance.
Unsafe Mode (--unsafe): Allows all operations including modifications. This is the default mode.
To start in safe mode:
To explicitly start in unsafe mode (though this is default):
Considerations
The MCP Server expects environment variables to be set:
AIRFLOW_BASE_URL: The base URL of the Airflow API
AUTH_TOKEN: The token to use for basic auth (This should be base64 encoded username:password) (Optional if COOKIE is provided)
COOKIE: The session cookie to use for authentication (Optional if AUTH_TOKEN is provided)
OPENAPI_SPEC: The path to the OpenAPI spec file (Optional) (defaults to latest stable release)
Authentication
The server supports two authentication methods:
Basic Auth: Using base64 encoded username:password via AUTH_TOKEN environment variable
Cookie: Using session cookie via COOKIE environment variable
At least one of these authentication methods must be provided.
Page Limit
The default is 100 items, but you can change it using maximum_page_limit option in [api] section in the airflow.cfg file.
Tasks
First API
Parse OpenAPI Spec
Safe/Unsafe mode implementation
Allow session auth
Parse proper description with list_tools.
Airflow config fetch (specifically for page limit)
Env variables optional (env variables might not be ideal for airflow plugins)