A Model Context Protocol server for controlling Airflow via Airflow APIs.
https://github.com/user-attachments/assets/f3e60fff-8680-4dd9-b08e-fa7db655a705
{
"mcpServers": {
"airflow-mcp-server": {
"command": "uvx",
"args": [
"airflow-mcp-server"
],
"env": {
"AIRFLOW_BASE_URL": "http://<host:port>/api/v1",
// Either use AUTH_TOKEN for basic auth
"AUTH_TOKEN": "<base64_encoded_username_password>",
// Or use COOKIE for cookie-based auth
"COOKIE": "<session_cookie>"
}
}
}
}
The server supports two operation modes:
--safe
): Only allows read-only operations (GET requests). This is useful when you want to prevent any modifications to your Airflow instance.--unsafe
): Allows all operations including modifications. This is the default mode.To start in safe mode:
airflow-mcp-server --safe
To explicitly start in unsafe mode (though this is default):
airflow-mcp-server --unsafe
The MCP Server expects environment variables to be set:
AIRFLOW_BASE_URL
: The base URL of the Airflow APIAUTH_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:
AUTH_TOKEN
environment variableCOOKIE
environment variableAt 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.
Seamless access to top MCP servers powering the future of AI integration.