airflow-mcp-server
An MCP server for controlling Apache Airflow 3 via its REST API, enabling operations like DAG management, task monitoring, and more through natural language.
README
airflow-mcp-server: An MCP Server for controlling Airflow 3
mcp-name: io.github.abhishekbhakat/airflow-mcp-server
MCPHub Certification
This MCP server is certified by MCPHub. This certification ensures that airflow-mcp-server follows best practices for Model Context Protocol implementation.
Find on Glama
<a href="https://glama.ai/mcp/servers/6gjq9w80xr"> <img width="380" height="200" src="https://glama.ai/mcp/servers/6gjq9w80xr/badge" /> </a>
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
Stdio Transport (Default)
{
"mcpServers": {
"airflow-mcp-server": {
"command": "uvx",
"args": [
"airflow-mcp-server",
"--base-url",
"http://localhost:8080",
"--auth-token",
"<jwt_token>"
]
}
}
}
See CONFIG.md for IDE-specific configuration examples across popular MCP clients.
HTTP Transport
{
"mcpServers": {
"airflow-mcp-server-http": {
"command": "uvx",
"args": [
"airflow-mcp-server",
"--http",
"--port",
"3000",
"--base-url",
"http://localhost:8080",
"--auth-token",
"<jwt_token>"
]
}
}
}
Note:
- Set
base_urlto the root Airflow URL (e.g.,http://localhost:8080).- Do not include
/api/v2in the base URL. The server will automatically fetch the OpenAPI spec from${base_url}/openapi.json.- Only JWT token is required for authentication. Cookie and basic auth are no longer supported in Airflow 3.0.
Transport Options
The server supports multiple transport protocols:
Stdio Transport (Default)
Standard input/output transport for direct process communication:
airflow-mcp-server --safe --base-url http://localhost:8080 --auth-token <jwt>
HTTP Transport
Uses Streamable HTTP for better scalability and web compatibility:
airflow-mcp-server --safe --http --port 3000 --base-url http://localhost:8080 --auth-token <jwt>
Note: SSE transport is deprecated. Use
--httpfor new deployments as it provides better bidirectional communication and is the recommended approach by FastMCP.
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
Tool Discovery Modes
The server supports two tool discovery approaches:
- Hierarchical Discovery (default): Tools are organized by categories (DAGs, Tasks, Connections, etc.). Browse categories first, then select specific tools. More manageable for large APIs.
- Static Tools (
--static-tools): All tools available immediately. Better for programmatic access but can be overwhelming.
To use static tools:
airflow-mcp-server --static-tools
Command Line Options
Usage: airflow-mcp-server [OPTIONS]
MCP server for Airflow
Options:
-v, --verbose Increase verbosity
-s, --safe Use only read-only tools
-u, --unsafe Use all tools (default)
--static-tools Use static tools instead of hierarchical discovery
--base-url TEXT Airflow API base URL
--auth-token TEXT Authentication token (JWT)
--http Use HTTP (Streamable HTTP) transport instead of stdio
--sse Use Server-Sent Events transport (deprecated, use --http
instead)
--port INTEGER Port to run HTTP/SSE server on (default: 3000)
--host TEXT Host to bind HTTP/SSE server to (default: localhost)
--help Show this message and exit.
Using Resources
Point the server at a folder of Markdown guides whenever you want agents to reference local documentation:
airflow-mcp-server --base-url http://localhost:8080 --auth-token <jwt> --resources-dir ~/airflow-resources
- Every top-level
.md/.markdownfile becomes a read-only resource (file:///<slug>) visible in your MCP client. - The first
# Headingin each file (if present) is used as the resource title; otherwise the filename stem is used. - Set
AIRFLOW_MCP_RESOURCES_DIR=/path/to/docsif you prefer environment-based configuration. - Update the files on disk and restart the server to refresh the resources list.
Considerations
Authentication
- Only JWT authentication is supported in Airflow 3.0. You must provide a valid
AUTH_TOKEN.
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.
Transport Selection
- Use stdio transport for direct process communication (default)
- Use HTTP transport for web deployments, multiple clients, or when you need better scalability
- Avoid SSE transport as it's deprecated in favor of HTTP transport
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.