airflow-mcp-server

airflow-mcp-server

https://github.com/abhishekbhakat/airflow-mcp-server

abhishekbhakat

Developer Tools
Virtualization
OS Automation
Visit Server

Tools

get_version

get_version

get_connections

get_connections

post_connection

post_connection

get_connection

get_connection

patch_connection

patch_connection

delete_connection

delete_connection

test_connection

test_connection

get_dags

get_dags

delete_dag

delete_dag

patch_dags

patch_dags

get_dag

get_dag

patch_dag

patch_dag

post_clear_task_instances

post_clear_task_instances

set_task_instance_note

set_task_instance_note

set_mapped_task_instance_note

set_mapped_task_instance_note

get_task_instance_dependencies

get_task_instance_dependencies

get_mapped_task_instance_dependencies

get_mapped_task_instance_dependencies

post_set_task_instances_state

post_set_task_instances_state

get_dag_runs

get_dag_runs

post_dag_run

post_dag_run

get_dag_runs_batch

get_dag_runs_batch

get_dag_run

get_dag_run

delete_dag_run

delete_dag_run

update_dag_run_state

update_dag_run_state

clear_dag_run

clear_dag_run

get_upstream_dataset_events

get_upstream_dataset_events

set_dag_run_note

set_dag_run_note

get_dag_dataset_queued_event

get_dag_dataset_queued_event

delete_dag_dataset_queued_event

delete_dag_dataset_queued_event

get_dag_dataset_queued_events

get_dag_dataset_queued_events

delete_dag_dataset_queued_events

delete_dag_dataset_queued_events

reparse_dag_file

reparse_dag_file

get_dataset_queued_events

get_dataset_queued_events

delete_dataset_queued_events

delete_dataset_queued_events

get_event_logs

get_event_logs

get_event_log

get_event_log

get_import_errors

get_import_errors

get_import_error

get_import_error

get_pools

get_pools

post_pool

post_pool

get_pool

get_pool

patch_pool

patch_pool

delete_pool

delete_pool

get_providers

get_providers

get_task_instances

get_task_instances

get_task_instance

get_task_instance

patch_task_instance

patch_task_instance

get_mapped_task_instance

get_mapped_task_instance

patch_mapped_task_instance

patch_mapped_task_instance

get_mapped_task_instances

get_mapped_task_instances

get_task_instances_batch

get_task_instances_batch

get_task_instance_try_details

get_task_instance_try_details

get_task_instance_tries

get_task_instance_tries

get_mapped_task_instance_tries

get_mapped_task_instance_tries

get_mapped_task_instance_try_details

get_mapped_task_instance_try_details

get_variables

get_variables

post_variables

post_variables

get_variable

get_variable

patch_variable

patch_variable

delete_variable

delete_variable

get_xcom_entries

get_xcom_entries

get_xcom_entry

get_xcom_entry

get_extra_links

get_extra_links

get_log

get_log

get_dag_details

get_dag_details

get_tasks

get_tasks

get_task

get_task

get_dag_stats

get_dag_stats

get_dag_source

get_dag_source

get_dag_warnings

get_dag_warnings

get_datasets

get_datasets

get_dataset

get_dataset

get_dataset_events

get_dataset_events

create_dataset_event

create_dataset_event

get_config

get_config

get_value

get_value

get_health

get_health

get_plugins

get_plugins

get_roles

get_roles

post_role

post_role

get_role

get_role

patch_role

patch_role

delete_role

delete_role

get_permissions

get_permissions

get_users

get_users

post_user

post_user

get_user

get_user

patch_user

patch_user

delete_user

delete_user

README

airflow-mcp-server: An MCP Server for controlling Airflow

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

{
  "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 API
  • AUTH_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)

Recommended Servers

playwright-mcp

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
MCP Package Docs Server

MCP Package Docs Server

Facilitates LLMs to efficiently access and fetch structured documentation for packages in Go, Python, and NPM, enhancing software development with multi-language support and performance optimization.

Featured
Local
TypeScript
Claude Code MCP

Claude Code MCP

An implementation of Claude Code as a Model Context Protocol server that enables using Claude's software engineering capabilities (code generation, editing, reviewing, and file operations) through the standardized MCP interface.

Featured
Local
JavaScript
@kazuph/mcp-taskmanager

@kazuph/mcp-taskmanager

Model Context Protocol server for Task Management. This allows Claude Desktop (or any MCP client) to manage and execute tasks in a queue-based system.

Featured
Local
JavaScript
Linear MCP Server

Linear MCP Server

Enables interaction with Linear's API for managing issues, teams, and projects programmatically through the Model Context Protocol.

Featured
JavaScript
mermaid-mcp-server

mermaid-mcp-server

A Model Context Protocol (MCP) server that converts Mermaid diagrams to PNG images.

Featured
JavaScript
Jira-Context-MCP

Jira-Context-MCP

MCP server to provide Jira Tickets information to AI coding agents like Cursor

Featured
TypeScript
Linear MCP Server

Linear MCP Server

A Model Context Protocol server that integrates with Linear's issue tracking system, allowing LLMs to create, update, search, and comment on Linear issues through natural language interactions.

Featured
JavaScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

This server facilitates structured problem-solving by breaking down complex issues into sequential steps, supporting revisions, and enabling multiple solution paths through full MCP integration.

Featured
Python