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 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| 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
- 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/paschmaria/mwaa-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server