mcp-airflow-simple
Provides tools for DAG management (listing, triggering, clearing runs), monitoring (run history, task instances, statistics), debugging (logs, import errors), connection management (listing, details, testing), and health checks for Apache Airflow instances via the REST API v2.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-airflow-simplelist all active DAGs"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Airflow MCP Server
A Model Context Protocol (MCP) server for Apache Airflow 3 that provides essential tools for DAG management, monitoring, debugging, and connection testing through the Airflow REST API v2.
Quick Start
1. Create '.env' file
cp .env.example .env2. Install dependencies
pip install -r requirements.txtit will return a token, copy the token and paste it to the .env file
3. Get the airflow token
make sure your airflow is running and accessible at the configured URL
curl -X POST "{your_ariflow_url}/auth/token" -H "Content-Type: application/json" -d '{"username":"{your_airflow_username}","password":"{your_airflow_password}"}'Example:
curl -X POST "http://localhost:8080/auth/token" -H "Content-Type: application/json" -d '{"username":"airflow","password":"airflow"}'4. config the MCP server
{
"mcpServers": {
"airflow": {
"command": "python",
"args": ["c:\\{path_to_your_folder}\\mcp-airflow-simple\\server.py"],
"env": {
"GIT_AUTO_UPDATE": "true"
}
}
}
}Related MCP server: astro-airflow-mcp
Features
🚀 DAG Management
List all DAGs with filtering options
Get tasks within a specific DAG
Trigger DAG runs with optional configuration
Clear/retry failed DAG runs
🔍 Monitoring & Status
Check DAG run history and status
View task instances for specific runs
Get aggregate DAG statistics
🐛 Debugging & Logs
Retrieve task execution logs
Check DAG import/parsing errors
🔌 Connection Management
List all Airflow connections
Get connection details
Test connection accessibility
🏥 Health Checks
Monitor Airflow Scheduler, Metadatabase, Triggerer, and DagProcessor status
Installation
Clone or navigate to the project directory:
cd c:\{your_path_to}\mcp-airflowInstall dependencies:
pip install -r requirements.txtConfigure environment variables: Edit the
.envfile with your Airflow instance details:airflow_baseurl=http://localhost:8080 airflow_api_url=http://localhost:8080/api/v2 airflow_username=airflow airflow_password=airflow airflow_jwt_token=your_jwt_token_here
Configuration
The server supports two authentication methods:
JWT Token (Preferred): Set
airflow_jwt_tokenin.envBasic Auth (Fallback): Uses
airflow_usernameandairflow_password
The server will automatically use JWT if available, otherwise fall back to basic authentication.
Available MCP Tools
DAG Management
get_dags
List all DAGs in Airflow.
{
"only_active": false,
"limit": 100
}get_dag_tasks
Get all tasks in a specific DAG.
{
"dag_id": "example_dag"
}trigger_dag_run
Trigger a new DAG run.
{
"dag_id": "example_dag",
"conf": {"key": "value"},
"logical_date": "2026-01-05T00:00:00Z"
}clear_dag_run
Clear/retry a DAG run (resets failed tasks).
{
"dag_id": "example_dag",
"dag_run_id": "manual__2026-01-05T00:00:00+00:00",
"dry_run": false
}set_dag_state
Pause or unpause a DAG.
{
"dag_id": "example_dag",
"is_paused": true
}Monitoring & Status
get_dag_runs
Get DAG run history with optional state filtering.
{
"dag_id": "example_dag",
"state": "failed",
"limit": 25
}get_task_instances
Get task instances for a specific DAG run.
{
"dag_id": "example_dag",
"dag_run_id": "manual__2026-01-05T00:00:00+00:00"
}get_dag_stats
Get aggregate statistics for all DAGs.
{}Debugging & Logs
get_task_logs
Get execution logs for a specific task instance.
{
"dag_id": "example_dag",
"dag_run_id": "manual__2026-01-05T00:00:00+00:00",
"task_id": "example_task",
"try_number": 1
}get_import_errors
Get DAG import/parsing errors.
{}Connection Management
get_connections
List all Airflow connections.
{
"limit": 100
}get_connection
Get details of a specific connection.
{
"connection_id": "postgres_default"
}test_connection
Test connection accessibility.
{
"connection_id": "postgres_default"
}Health Check
check_health
Check Airflow system health (includes Metadatabase, Scheduler, Triggerer, and DagProcessor).
{}Running the Server
As an MCP Server (Stdio)
The server runs as a stdio-based MCP server:
python server.pyIntegration with MCP Clients
To use this server with MCP clients like Claude Desktop, add to your MCP configuration:
Windows (%APPDATA%\Claude\claude_desktop_config.json):
{
"mcpServers": {
"airflow": {
"command": "python",
"args": ["c:\\{path_to_your_folder}\\mcp-airflow\\server.py"],
"env": {
"airflow_api_url": "http://localhost:8080/api/v2",
"airflow_jwt_token": "your_token_here"
}
}
}
}macOS/Linux (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"airflow": {
"command": "python3",
"args": ["{path_to_your_folder}/mcp-airflow/server.py"]
}
}
}Troubleshooting
Connection Issues
Verify Airflow is running and accessible at the configured URL
Check authentication credentials (JWT token or username/password)
Ensure the Airflow REST API is enabled
Authentication Errors
Confirm JWT token is valid and not expired
Verify username and password are correct
Check that the user has necessary permissions in Airflow
Tool Errors
Ensure DAG IDs and run IDs are correct
Check that the requested resources exist in Airflow
Review Airflow logs for additional context
API Reference
This MCP server uses the Airflow REST API v2. For detailed API documentation, see:
Local OpenAPI spec:
openapi.json
Requirements
Python 3.8+
Apache Airflow 3.x with REST API enabled
Network access to Airflow instance
License
MIT License - feel free to use and modify as needed.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseCqualityCmaintenanceProvides a standardized way for MCP clients to interact with Apache Airflow's REST API, supporting operations like DAG management and monitoring Airflow system health.Last updated68172MIT

astro-airflow-mcpofficial
AlicenseAqualityFmaintenanceAn MCP server that enables AI assistants to interact with Apache Airflow's REST API for DAG management, task monitoring, and system diagnostics. It provides comprehensive tools for triggering workflows, retrieving logs, and inspecting system health across Airflow 2.x and 3.x versions.Last updated3113Apache 2.0- Alicense-quality-maintenanceAn MCP server that wraps the Apache Airflow REST API, enabling clients to manage DAGs, monitor task instances, and handle workflows through a standardized interface. It provides comprehensive access to Airflow features including DAG runs, variables, connections, and XComs.Last updated
- AlicenseAqualityAmaintenanceAirflow MCP server — read DAGs, runs, task instances, log tails; trigger and clear (write-gated).Last updated8812MIT
Related MCP Connectors
Workflow diagnostics, capability routing, and x402 settlement for MCP-compatible agents.
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
An MCP server that let you interact with Cycloid.io Internal Development Portal and Platform
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/chayasin/mcp-airflow-simple'
If you have feedback or need assistance with the MCP directory API, please join our Discord server