MWAA MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| AWS_REGION | No | AWS region for MWAA operations | us-east-1 |
| AWS_PROFILE | No | AWS credential profile to use (default: uses AWS credential chain) | |
| FASTMCP_LOG_LEVEL | No | Logging level: ERROR, WARNING, INFO, DEBUG | ERROR |
| MWAA_MCP_READONLY | No | Set to "true" for read-only mode |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_environmentsA | List all MWAA environments in the current AWS account and region. Args: max_results: Maximum number of environments to return (1-25) Returns: Dictionary containing list of environment names and metadata |
| get_environmentB | Get detailed information about a specific MWAA environment. Args: name: The name of the MWAA environment Returns: Dictionary containing environment details including configuration, status, endpoints, and other metadata |
| create_environmentB | Create a new MWAA environment. Args: name: Environment name dag_s3_path: S3 path to DAGs folder (e.g., s3://bucket/dags) execution_role_arn: IAM role ARN for the environment network_configuration: VPC configuration with SubnetIds and SecurityGroupIds source_bucket_arn: ARN of the S3 bucket containing DAGs airflow_version: Apache Airflow version (e.g., "2.7.2") environment_class: Environment size (mw1.small, mw1.medium, mw1.large, mw1.xlarge, mw1.2xlarge) max_workers: Maximum number of workers (1-25) min_workers: Minimum number of workers (1-25) schedulers: Number of schedulers (2-5) webserver_access_mode: PUBLIC_ONLY or PRIVATE_ONLY weekly_maintenance_window_start: Maintenance window start (e.g., "SUN:03:00") tags: Resource tags airflow_configuration_options: Airflow configuration overrides logging_configuration: Logging settings for different components requirements_s3_path: S3 path to requirements.txt plugins_s3_path: S3 path to plugins.zip startup_script_s3_path: S3 path to startup script Returns: Dictionary containing the ARN of the created environment |
| update_environmentA | Update an existing MWAA environment configuration. Only provide the parameters you want to change. Args: name: Environment name dag_s3_path: S3 path to DAGs folder execution_role_arn: IAM role ARN network_configuration: VPC configuration source_bucket_arn: S3 bucket ARN airflow_version: Apache Airflow version environment_class: Environment size max_workers: Maximum workers min_workers: Minimum workers schedulers: Number of schedulers webserver_access_mode: Access mode weekly_maintenance_window_start: Maintenance window airflow_configuration_options: Configuration overrides logging_configuration: Logging settings requirements_s3_path: Path to requirements.txt plugins_s3_path: Path to plugins.zip startup_script_s3_path: Path to startup script Returns: Dictionary containing the environment ARN |
| delete_environmentB | Delete an MWAA environment. Args: name: The name of the environment to delete Returns: Dictionary with deletion confirmation |
| create_cli_tokenA | Create a CLI token for executing Airflow CLI commands. Args: name: The name of the MWAA environment Returns: Dictionary containing the CLI token and webserver hostname |
| create_web_login_tokenB | Create a web login token for accessing the Airflow UI. Args: name: The name of the MWAA environment Returns: Dictionary containing the web token, webserver hostname, and IAM identity |
| list_dagsA | List all DAGs in an MWAA environment. Args: environment_name: Name of the MWAA environment limit: Number of items to return (max 100) offset: Number of items to skip tags: Filter by DAG tags dag_id_pattern: Filter by DAG ID pattern (supports % wildcards) only_active: Only return active DAGs Returns: Dictionary containing list of DAGs with their details |
| get_dagB | Get details about a specific DAG. Args: environment_name: Name of the MWAA environment dag_id: The DAG ID Returns: Dictionary containing DAG details including schedule, tags, and state |
| get_dag_sourceA | Get the source code of a DAG. Args: environment_name: Name of the MWAA environment dag_id: The DAG ID Returns: Dictionary containing the DAG source code |
| trigger_dag_runB | Trigger a new DAG run. Args: environment_name: Name of the MWAA environment dag_id: The DAG ID to trigger dag_run_id: Custom run ID (optional, will be auto-generated if not provided) conf: Configuration JSON for the DAG run note: Optional note for the DAG run Returns: Dictionary containing the created DAG run details |
| get_dag_runB | Get details about a specific DAG run. Args: environment_name: Name of the MWAA environment dag_id: The DAG ID dag_run_id: The DAG run ID Returns: Dictionary containing DAG run details including state and timing |
| list_dag_runsA | List DAG runs for a specific DAG. Args: environment_name: Name of the MWAA environment dag_id: The DAG ID limit: Number of items to return state: Filter by state (queued, running, success, failed) execution_date_gte: Filter by execution date >= (ISO format) execution_date_lte: Filter by execution date <= (ISO format) Returns: Dictionary containing list of DAG runs |
| get_task_instanceC | Get details about a specific task instance. Args: environment_name: Name of the MWAA environment dag_id: The DAG ID dag_run_id: The DAG run ID task_id: The task ID Returns: Dictionary containing task instance details |
| get_task_logsC | Get logs for a specific task instance. Args: environment_name: Name of the MWAA environment dag_id: The DAG ID dag_run_id: The DAG run ID task_id: The task ID task_try_number: Specific try number (optional) Returns: Dictionary containing task logs |
| list_task_instancesA | List task instances across DAGs with flexible time-based filtering. This is the key tool for finding what tasks were running during a specific time window. Supports wildcards: omit dag_id or dag_run_id to query across all DAGs/runs. Args: environment_name: Name of the MWAA environment dag_id: Filter by DAG ID (optional - omit for all DAGs) dag_run_id: Filter by DAG run ID (optional - omit for all runs) start_date_gte: Tasks that started at or after this time (ISO format) start_date_lte: Tasks that started at or before this time (ISO format) end_date_gte: Tasks that ended at or after this time (ISO format) end_date_lte: Tasks that ended at or before this time (ISO format) execution_date_gte: Filter by execution/logical date >= (ISO format) execution_date_lte: Filter by execution/logical date <= (ISO format) state: Filter by state (queued, running, success, failed, etc.) pool: Filter by pool name queue: Filter by queue name duration_gte: Filter by minimum duration in seconds duration_lte: Filter by maximum duration in seconds limit: Number of items to return (default 100) offset: Number of items to skip for pagination Returns: Dictionary containing list of task instances with details Example - Find tasks running between 2:30-2:40 AM: list_task_instances( environment_name="my-env", start_date_lte="2024-01-15T02:40:00Z", # Started before 2:40 end_date_gte="2024-01-15T02:30:00Z", # Ended after 2:30 (or still running) ) |
| list_connectionsB | List all Airflow connections in the environment. Args: environment_name: Name of the MWAA environment limit: Number of items to return offset: Number of items to skip Returns: Dictionary containing list of connections |
| list_variablesB | List all Airflow variables in the environment. Args: environment_name: Name of the MWAA environment limit: Number of items to return offset: Number of items to skip Returns: Dictionary containing list of variables |
| get_import_errorsB | Get DAG import errors in the environment. Args: environment_name: Name of the MWAA environment limit: Number of items to return offset: Number of items to skip Returns: Dictionary containing list of import errors |
| airflow_best_practicesA | Get MWAA and Apache Airflow best practices guidance. Returns comprehensive guidance on:
|
| dag_design_guidanceA | Get detailed guidance on designing efficient Airflow DAGs. Returns expert guidance on:
|
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
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/paschmaria/mwaa-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server