An MCP server for Apache Airflow
This is a well-structured MCP server for controlling Apache Airflow through its REST API with good security practices. Authentication is properly handled via JWT tokens passed as command-line arguments, and the server includes safe/unsafe modes to control write operations. Supply chain analysis found 13 known vulnerabilities in dependencies (0 critical, 3 high severity). Package verification found 1 issue (1 critical, 0 high severity).
7 files analyzed · 17 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Set these up before or after installing:
Environment variable: AIRFLOW_BASE_URL
Environment variable: AUTH_TOKEN
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-abhishekbhakat-airflow-mcp-server": {
"env": {
"AUTH_TOKEN": "your-auth-token-here",
"AIRFLOW_BASE_URL": "your-airflow-base-url-here"
},
"args": [
"airflow-mcp-plugin"
],
"command": "uvx"
}
}
}From the project's GitHub README.
mcp-name: io.github.abhishekbhakat/airflow-mcp-server
This MCP server is certified by MCPHub. This certification ensures that airflow-mcp-server follows best practices for Model Context Protocol implementation.
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",
"--base-url",
"http://localhost:8080",
"--auth-token",
"<jwt_token>"
]
}
}
}
See CONFIG.md for IDE-specific configuration examples across popular MCP clients.
{
"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.
The server supports multiple transport protocols:
Standard input/output transport for direct process communication:
airflow-mcp-server --safe --base-url http://localhost:8080 --auth-token <jwt>
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.
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 server supports two tool discovery approaches:
--static-tools): All tools available immediately. Better for programmatic access but can be overwhelming.To use static tools:
airflow-mcp-server --static-tools
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.
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
.md/.markdown file becomes a read-only resource (file:///<slug>) visible in your MCP client.# Heading in each file (if present) is used as the resource title; otherwise the filename stem is used.AIRFLOW_MCP_RESOURCES_DIR=/path/to/docs if you prefer environment-based configuration.Authentication
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
Be the first to review this server!
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.
by Microsoft · Content & Media
Convert files (PDF, Word, Excel, images, audio) to Markdown for LLM consumption