airflow-mcp-server: An MCP Server for controlling Airflow
@MCP-Mirror
Mirror of
Overview
What is airflow-mcp-server?
An MCP (Model Context Protocol) server that controls Apache Airflow by interacting with Airflow’s REST APIs. It automatically parses the Airflow OpenAPI specification and supports both read-only and full‑access modes.
How to use airflow-mcp-server?
Install and run the server via uvx with the airflow-mcp-server CLI, providing the Airflow base URL and a JWT token. Optionally set --safe for read‑only operations or --unsafe (default) for all operations. Configure the server in your MCP client (e.g., Claude Desktop) using the mcpServers block.
Key features of airflow-mcp-server
- Supports Airflow 3.0 and its JWT authentication.
- Safe mode restricts operations to GET requests only.
- Automatically fetches OpenAPI spec from the Airflow base URL.
- Reads Airflow configuration to respect the page limit setting.
- Exposes all Airflow API endpoints as MCP tools with proper descriptions.
Use cases of airflow-mcp-server
- List and inspect DAGs, tasks, and their statuses without modifying anything.
- Trigger DAG runs, clear task instances, or pause/unpause DAGs (in unsafe mode).
- Monitor Airflow health and configuration from an AI‑assistant interface.
- Safely explore an Airflow instance’s API surface through language model tools.
FAQ from airflow-mcp-server
What authentication does airflow-mcp-server require?
Only JWT token authentication is supported. Provide the token via the --auth-token parameter or the AUTH_TOKEN environment variable. Cookie and basic auth are not supported in Airflow 3.0.
What is the difference between safe and unsafe mode?
Safe mode allows only read‑only (GET) operations, preventing any modifications to your Airflow instance. Unsafe mode permits all operations, including creates, updates, and deletes.
How should I specify the base URL?
Set --base-url to the root Airflow URL (e.g., http://localhost:8080). Do not include /api/v2; the server automatically fetches the OpenAPI spec from ${base_url}/openapi.json.
Can I change the maximum number of items returned?
Yes. The default page limit is 100 items. You can change it by setting maximum_page_limit in the [api] section of your airflow.cfg file.
Is Airflow 3.0 supported?
Yes. The server is designed for Airflow 3.0 readiness and works exclusively with its JWT‑based authentication.