1.8 KiB
1.8 KiB
airflow-mcp-server: An MCP Server for controlling Airflow
Overview
A Model Context Protocol server for controlling Airflow via Airflow APIs.
Setup
Usage with Claude Desktop
{
"mcpServers": {
"airflow-mcp-server": {
"command": "uvx",
"args": [
"airflow-mcp-server"
],
"env": {
"AIRFLOW_BASE_URL": "http://<host:port>/api/v1",
"AUTH_TOKEN": "<base64_encoded_username_password>"
}
}
}
}
Operation Modes
The server supports two operation modes:
- 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:
airflow-mcp-server --safe
To explicitly start in unsafe mode (though this is default):
airflow-mcp-server --unsafe
Considerations
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 authorization (This should be base64 encoded username:password)OPENAPI_SPEC: The path to the OpenAPI spec file (Optional) (defaults to latest stable release)
Currently, only Basic Auth is supported.
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
- 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)