airflow-mcp-server: An MCP Server for controlling Airflow
Find on Glama
Overview
A Model Context Protocol server for controlling Airflow via Airflow APIs.
Demo Video
https://github.com/user-attachments/assets/f3e60fff-8680-4dd9-b08e-fa7db655a705
Setup
Usage with Claude Desktop
{
"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>"
}
}
}
}
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 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
- [x] First API
- [x] Parse OpenAPI Spec
- [x] Safe/Unsafe mode implementation
- [x] 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
Project Details
- abhishekbhakat/airflow-mcp-server
- MIT License
- Last Updated: 4/16/2025
Recomended MCP Servers
react-mcp integrates with Claude Desktop, enabling the creation and modification of React apps based on user prompts
MCP Implementation for HubSpot
MCP Server for interacting with a Steel web browser
A Model Context Protocol server for Flux image generation, providing tools for image generation, manipulation, and control
Allows AI Agents to interact with the Twilio SendGrid v3 API, managing contact lists, templates, single sends, and...
Model Context Protocol (MCP) Server for Jupyter.
MCP to connect your LLM with Spotify.
Configurable Puppeteer MCP Server
A lightweight Model Context Protocol (MCP) server that enables natural language interaction with your Todoist tasks directly from...
A Model Context Protocol server for interacting with Babashka, a native Clojure interpreter for scripting
A Model Context Protocol (MCP) server that bridges Video & Audio content with Large Language Models using yt-dlp.