Version 4.43 or later needs to be installed to add the server automatically
Use cases
About
Data processing and transformation services.
| Attribute | Details |
|---|---|
| Docker Image | mcp/aws-dataprocessing-mcp-server |
| Author | awslabs |
| Repository | https://github.com/awslabs/mcp |
| Attribute | Details |
|---|---|
| Dockerfile | https://github.com/awslabs/mcp/blob/76ec6993aec4c6281e5250cbeba8db6a5863f2ff/src/aws-dataprocessing-mcp-server/Dockerfile |
| Docker Image built by | Docker Inc. |
| Docker Scout Health Score | |
| Verify Signature | COSIGN_REPOSITORY=mcp/signatures cosign verify mcp/aws-dataprocessing-mcp-server --key https://raw.githubusercontent.com/docker/keyring/refs/heads/main/public/mcp/latest.pub |
| Licence | Apache License 2.0 |
| Tools provided by this Server | Short Description |
|---|---|
add_inline_policy | Add a new inline policy to an IAM role. |
analyze_s3_usage_for_data_processing | Analyze S3 bucket usage patterns for data processing services (Glue, EMR, Athena). |
create_data_processing_role | Create a new IAM role for data processing services. |
get_policies_for_role | Get all policies attached to an IAM role. |
get_roles_for_service | Get all IAM roles that can be assumed by a specific AWS service. |
list_s3_buckets | List S3 buckets that have 'glue' in their name and are in the specified region. |
manage_aws_athena_data_catalogs | Manage AWS Athena data catalogs with both read and write operations. |
manage_aws_athena_databases_and_tables | Manage AWS Athena databases and tables with read operations. |
manage_aws_athena_named_queries | Manage saved SQL queries in AWS Athena. |
manage_aws_athena_query_executions | Execute and manage AWS Athena SQL queries. |
manage_aws_athena_workgroups | Manage AWS Athena workgroups with both read and write operations. |
manage_aws_emr_clusters | Manage AWS EMR EC2 clusters with comprehensive control over cluster lifecycle. |
manage_aws_emr_ec2_instances | Manage AWS EMR EC2 instances with both read and write operations. |
manage_aws_emr_ec2_steps | Manage AWS EMR EC2 steps for processing data on EMR clusters. |
manage_aws_glue_catalog | Manage AWS Glue Data Catalog with both read and write operations. |
manage_aws_glue_classifiers | Manage AWS Glue classifiers to determine data formats and schemas. |
manage_aws_glue_connections | Manage AWS Glue Data Catalog connections with both read and write operations. |
manage_aws_glue_crawler_management | Manage AWS Glue crawler schedules and monitor performance metrics. |
manage_aws_glue_crawlers | Manage AWS Glue crawlers to discover and catalog data sources. |
manage_aws_glue_databases | Manage AWS Glue Data Catalog databases with both read and write operations. |
manage_aws_glue_encryption | Manage AWS Glue Data Catalog Encryption Settings for data protection. |
manage_aws_glue_jobs | Manage AWS Glue ETL jobs and job runs with both read and write operations. |
manage_aws_glue_partitions | Manage AWS Glue Data Catalog partitions with both read and write operations. |
manage_aws_glue_resource_policies | Manage AWS Glue Resource Policies for access control. |
manage_aws_glue_security_configurations | Manage AWS Glue Security Configurations for data encryption. |
manage_aws_glue_sessions | Manage AWS Glue Interactive Sessions for running Spark and Ray workloads. |
manage_aws_glue_statements | Manage AWS Glue Interactive Session Statements for executing code and retrieving results. |
manage_aws_glue_tables | Manage AWS Glue Data Catalog tables with both read and write operations. |
manage_aws_glue_triggers | Manage AWS Glue triggers to automate workflow and job execution. |
manage_aws_glue_usage_profiles | Manage AWS Glue Usage Profiles for resource allocation and cost management. |
manage_aws_glue_workflows | Manage AWS Glue workflows to orchestrate complex ETL activities. |
upload_to_s3 | Upload Python code content directly to an S3 bucket using putObject. |
add_inline_policyAdd a new inline policy to an IAM role.
This tool creates a new inline policy with the specified permissions and adds it to an IAM role. Inline policies are embedded within the role and cannot be attached to multiple roles. Commonly used for granting data processing services access to AWS resources, enabling Glue jobs to access data sources, and configuring permissions for CloudWatch logging and S3 access.
--allow-write flagThe permissions parameter can be either a single policy statement or a list of statements.
{
"Effect": "Allow",
"Action": ["s3:GetObject", "s3:PutObject"],
"Resource": "arn:aws:s3:::example-bucket/*"
}
{
"Effect": "Allow",
"Action": [
"glue:*",
"s3:GetObject",
"s3:PutObject",
"s3:DeleteObject",
"s3:ListBucket",
"iam:PassRole"
],
"Resource": "*"
}
{
"Effect": "Allow",
"Action": [
"elasticmapreduce:*",
"ec2:DescribeInstances",
"ec2:DescribeSecurityGroups",
"s3:ListBucket",
"s3:GetObject",
"s3:PutObject"
],
"Resource": "*"
}
{
"Effect": "Allow",
"Action": [
"athena:*",
"glue:GetDatabase",
"glue:GetTable",
"glue:GetPartition",
"s3:GetObject",
"s3:ListBucket",
"s3:PutObject"
],
"Resource": "*"
}
permissions|string|Permissions to include in the policy as IAM policy statements in JSON format.
Can be either a single statement object or an array of statement objects.
policy_name|string|Name of the inline policy to create. Must be unique within the role.
role_name|string|Name of the IAM role to add the policy to. The role must exist.analyze_s3_usage_for_data_processingAnalyze S3 bucket usage patterns for data processing services (Glue, EMR, Athena).
This tool helps identify which buckets are actively used by data processing services and which ones might be idle or underutilized.
| Parameters | Type | Description |
|---|---|---|
bucket_name | stringoptional | Optional specific bucket to analyze (None for all buckets) |
create_data_processing_roleCreate a new IAM role for data processing services.
This tool creates a new IAM role with the appropriate trust relationship for the specified data processing service (Glue, EMR, or Athena). It can also attach managed policies and add an inline policy to the role.
--allow-write flagrole_name|string|Name of the IAM role to create. Must be unique within your AWS account.
service_type|string|Type of data processing service: 'glue', 'emr', or 'athena'.
description|stringoptional|Optional description for the IAM role.
inline_policy|stringoptional|Optional inline policy to add to the role.
managed_policy_arns|stringoptional|Optional list of managed policy ARNs to attach to the role.get_policies_for_roleGet all policies attached to an IAM role.
This tool retrieves all policies associated with an IAM role, providing a comprehensive view of the role's permissions and trust relationships. It helps you understand the current permissions, identify missing or excessive permissions, troubleshoot data processing issues, and verify trust relationships for service roles.
The response includes role ARN, assume role policy document (trust relationships), role description, managed policies with their documents, and inline policies with their documents.
role_name|string|Name of the IAM role to get policies for. The role must exist in your AWS account.get_roles_for_serviceGet all IAM roles that can be assumed by a specific AWS service.
This tool retrieves all IAM roles in your AWS account that have a trust relationship with the specified service. It helps you identify which roles can be used for services like Glue jobs, EMR clusters, or Athena queries, making it easier to select the appropriate role when creating these resources.
Common service types include:
The response includes a list of roles that can be assumed by the specified service, with details such as role name, ARN, description, creation date, and the full assume role policy document.
service_type|string|Type of data processing service: 'glue', 'emr', 'athena', or other AWS service name.list_s3_bucketsList S3 buckets that have 'glue' in their name and are in the specified region.
This tool helps identify S3 buckets commonly used for data processing workflows, particularly those related to AWS Glue operations. It provides usage statistics and idle time information to help with resource management.
The response includes bucket name, creation date, region, object count, last modified date, and idle time analysis.
region|stringoptional|AWS region to filter buckets by (defaults to AWS_REGION environment variable)manage_aws_athena_data_catalogsManage AWS Athena data catalogs with both read and write operations.
This tool provides operations for managing Athena data catalogs, including creating, retrieving, listing, updating, and deleting data catalogs. Data catalogs are used to organize and access data sources in Athena, enabling you to query data across various sources like AWS Glue Data Catalog, Apache Hive metastores, or federated sources.
--allow-write flag for create-data-catalog, delete-data-catalog, and update-data-catalog operations# List all data catalogs
{'operation': 'list-data-catalogs', 'max_results': 10}
# Create a Glue data catalog
{
'operation': 'create-data-catalog',
'name': 'my-glue-catalog',
'type': 'GLUE',
'description': 'My Glue Data Catalog',
'parameters': {'catalog-id': '123456789012'},
}
| Parameters | Type | Description |
|---|---|---|
operation | string | Operation to perform: create-data-catalog, delete-data-catalog, get-data-catalog, list-data-catalogs, update-data-catalog. Choose read-only operations when write access is disabled. |
delete_catalog_only | stringoptional | For delete-data-catalog operation, whether to delete only the Athena Data Catalog (true) or also its resources (false). Only applicable for FEDERATED catalogs. |
description | stringoptional | Description of the data catalog (optional for create-data-catalog and update-data-catalog). |
max_results | stringoptional | Maximum number of results to return for list-data-catalogs operation (range: 2-50). |
name | stringoptional | Name of the data catalog (required for create-data-catalog, delete-data-catalog, get-data-catalog, update-data-catalog). The catalog name must be unique for the AWS account and can use a maximum of 127 alphanumeric, underscore, at sign, or hyphen characters. |
next_token | stringoptional | Pagination token for list-data-catalogs operation. |
parameters | stringoptional | Parameters for the data catalog (optional for create-data-catalog and update-data-catalog). Format depends on catalog type (e.g., for LAMBDA: 'metadata-function=lambda_arn,record-function=lambda_arn' or 'function=lambda_arn'). |
tags | stringoptional | Tags for the data catalog (optional for create-data-catalog). |
type | stringoptional | Type of the data catalog (required for create-data-catalog and update-data-catalog). Valid values: LAMBDA, GLUE, HIVE, FEDERATED. |
work_group | stringoptional | The name of the workgroup (required if making an IAM Identity Center request). |
manage_aws_athena_databases_and_tablesManage AWS Athena databases and tables with read operations.
This tool provides operations for retrieving information about databases and tables in Athena data catalogs. These are read-only operations that do not modify any resources.
# List all databases in a catalog
{'operation': 'list-databases', 'catalog_name': 'AwsDataCatalog', 'max_results': 10}
# Get metadata for a specific table
{
'operation': 'get-table-metadata',
'catalog_name': 'AwsDataCatalog',
'database_name': 'my_database',
'table_name': 'my_table',
}
| Parameters | Type | Description |
|---|---|---|
catalog_name | string | Name of the data catalog. |
operation | string | Operation to perform: get-database, get-table-metadata, list-databases, list-table-metadata. These are read-only operations. |
database_name | stringoptional | Name of the database (required for get-database, get-table-metadata, list-table-metadata). |
expression | stringoptional | Expression to filter tables (optional for list-table-metadata). A regex pattern that pattern-matches table names. |
max_results | stringoptional | Maximum number of results to return for list-databases (range: 1-50) and list-table-metadata (range: 1-50) operations. |
next_token | stringoptional | Pagination token for list-databases and list-table-metadata operations. |
table_name | stringoptional | Name of the table (required for get-table-metadata). |
work_group | stringoptional | The name of the workgroup (required if making an IAM Identity Center request). |
manage_aws_athena_named_queriesManage saved SQL queries in AWS Athena.
This tool provides operations for creating, retrieving, updating, and deleting named queries in AWS Athena. Named queries are saved SQL statements that can be easily reused, shared with team members, and executed without having to rewrite complex queries.
--allow-write flag for create-named-query, delete-named-query, and update-named-query operations# Create a named query
create_response = await manage_aws_athena_named_queries(
operation='create-named-query',
name='Daily Active Users',
description='Query to calculate daily active users',
database='analytics',
query_string='SELECT date, COUNT(DISTINCT user_id) AS active_users FROM user_events GROUP BY date ORDER BY date DESC',
work_group='primary',
)
# Later, retrieve the named query
query = await manage_aws_athena_named_queries(
operation='get-named-query', named_query_id=create_response.named_query_id
)
| Parameters | Type | Description |
|---|---|---|
operation | string | Operation to perform: batch-get-named-query, create-named-query, delete-named-query, get-named-query, list-named-queries, update-named-query. Choose read-only operations when write access is disabled. |
client_request_token | stringoptional | A unique case-sensitive string used to ensure the request to create the query is idempotent (optional for create-named-query). |
database | stringoptional | Database context for the named query (required for create-named-query, optional for update-named-query). |
description | stringoptional | Description of the named query (optional for create-named-query and update-named-query, max 1024 chars). |
max_results | stringoptional | Maximum number of results to return for list-named-queries operation. |
name | stringoptional | Name of the named query (required for create-named-query and update-named-query). |
named_query_id | stringoptional | ID of the named query (required for get-named-query, delete-named-query, update-named-query). |
named_query_ids | stringoptional | List of named query IDs (required for batch-get-named-query, max 50 IDs). |
next_token | stringoptional | Pagination token for list-named-queries operation. |
query_string | stringoptional | The SQL query string (required for create-named-query and update-named-query). |
work_group | stringoptional | The name of the workgroup (optional for create-named-query and list-named-queries). |
manage_aws_athena_query_executionsExecute and manage AWS Athena SQL queries.
This tool provides comprehensive operations for AWS Athena query management, including starting new queries, monitoring execution status, retrieving results, and analyzing performance statistics.
--allow-write flag if start-query-execution contains any write operation for example DDL commands, Insert, Update, Delete Commands or any flag updates# Start a new query
response = await manage_aws_athena_queries(
operation='start-query-execution',
query_string='SELECT * FROM my_database.my_table LIMIT 10',
query_execution_context={'Database': 'my_database', 'Catalog': 'my_catalog'},
work_group='primary',
)
# Get the query results
results = await manage_aws_athena_queries(
operation='get-query-results', query_execution_id=response.query_execution_id
)
| Parameters | Type | Description |
|---|---|---|
operation | string | Operation to perform: batch-get-query-execution, get-query-execution, get-query-results, get-query-runtime-statistics, list-query-executions, start-query-execution, stop-query-execution. Choose read-only operations when write access is disabled. |
client_request_token | stringoptional | A unique case-sensitive string used to ensure the request to create the query is idempotent (optional for start-query-execution). |
execution_parameters | stringoptional | Execution parameters for parameterized queries (optional for start-query-execution). |
max_results | stringoptional | Maximum number of results to return (1-1000 for get-query-results, 0-50 for list-query-executions). |
next_token | stringoptional | Pagination token for get-query-results and list-query-executions operations. |
query_execution_context | stringoptional | Context for the query execution, such as database name and catalog (optional for start-query-execution). |
query_execution_id | stringoptional | ID of the query execution (required for get-query-execution, get-query-results, get-query-runtime-statistics, stop-query-execution). |
query_execution_ids | stringoptional | List of query execution IDs (required for batch-get-query-execution, max 50 IDs). |
query_result_type | stringoptional | Type of query results to return: DATA_ROWS (default) or DATA_MANIFEST (optional for get-query-results). |
query_string | stringoptional | The SQL query string to execute (required for start-query-execution). |
result_configuration | stringoptional | Configuration for query results, such as output location and encryption (optional for start-query-execution). |
result_reuse_configuration | stringoptional | Specifies the query result reuse behavior for the query (optional for start-query-execution). |
work_group | stringoptional | The name of the workgroup in which the query is being started (optional for start-query-execution, list-query-executions). |
manage_aws_athena_workgroupsManage AWS Athena workgroups with both read and write operations.
This tool provides operations for managing Athena workgroups, including creating, retrieving, listing, updating, and deleting workgroups. Workgroups allow you to isolate queries for different user groups and control query execution settings.
--allow-write flag for create-work-group, delete-work-group, and update-work-group operationsoperation|string|Operation to perform: create-work-group, delete-work-group, get-work-group, list-work-groups, update-work-group. Choose read-only operations when write access is disabled.
configuration|stringoptional|Configuration for the workgroup, including result configuration, enforcement options, etc. (optional for create-work-group and update-work-group).
description|stringoptional|Description of the workgroup (optional for create-work-group and update-work-group).
max_results|stringoptional|Maximum number of results to return for list-work-groups operation.
name|stringoptional|Name of the workgroup (required for create-work-group, delete-work-group, get-work-group, update-work-group).
next_token|stringoptional|Pagination token for list-work-groups operation.
recursive_delete_option|stringoptional|Whether to recursively delete the workgroup and its contents (optional for delete-work-group).
state|stringoptional|State of the workgroup: ENABLED or DISABLED (optional for create-work-group and update-work-group).
tags|stringoptional|Tags for the workgroup (optional for create-work-group). Example {'ResourceType': 'Workgroup'}manage_aws_emr_clustersManage AWS EMR EC2 clusters with comprehensive control over cluster lifecycle.
This tool provides operations for managing Amazon EMR clusters running on EC2 instances, including creating, configuring, monitoring, modifying, and terminating clusters. It also supports security configuration management for EMR clusters.
--allow-write flag for create-cluster, modify-cluster,
modify-cluster-attributes, terminate-clusters, create-security-configuration, and
delete-security-configuration operations# Create a basic EMR cluster with Spark
{
'operation': 'create-cluster',
'name': 'SparkCluster',
'release_label': 'emr-7.9.0',
'applications': [{'Name': 'Spark'}],
'instances': {
'InstanceGroups': [
{
'Name': 'Master',
'InstanceRole': 'MASTER',
'InstanceType': 'm5.xlarge',
'InstanceCount': 1,
},
{
'Name': 'Core',
'InstanceRole': 'CORE',
'InstanceType': 'm5.xlarge',
'InstanceCount': 2,
},
],
'Ec2KeyName': 'my-key-pair',
'KeepJobFlowAliveWhenNoSteps': true,
},
}
operation|string|Operation to perform: create-cluster, describe-cluster, modify-cluster, modify-cluster-attributes, terminate-clusters, list-clusters, create-security-configuration, delete-security-configuration, describe-security-configuration, list-security-configurations. Choose read-only operations when write access is disabled.
applications|stringoptional|The applications to be installed on the cluster (optional for create-cluster). Example: [{"Name": "Hadoop"}, {"Name": "Spark"}]
auto_scaling_role|stringoptional|An IAM role for automatic scaling policies (optional for create-cluster). Default role is EMR_AutoScaling_DefaultRole.
auto_terminate|stringoptional|Whether the cluster should auto-terminate after completing steps (optional for modify-cluster-attributes).
bootstrap_actions|stringoptional|A list of bootstrap actions to run on the cluster (optional for create-cluster). Each action contains Name, ScriptBootstrapAction properties.
cluster_id|stringoptional|ID of the EMR cluster (required for describe-cluster, modify-cluster, modify-cluster-attributes).
cluster_ids|stringoptional|List of EMR cluster IDs (required for terminate-clusters).
cluster_states|stringoptional|The cluster state filters to apply when listing clusters (optional for list-clusters).
configurations|stringoptional|A list of configurations to apply to the cluster (optional for create-cluster). Applies only to EMR releases 4.x and later.
created_after|stringoptional|The creation date and time beginning value filter for listing clusters (optional for list-clusters).
created_before|stringoptional|The creation date and time end value filter for listing clusters (optional for list-clusters).
custom_ami_id|stringoptional|A custom Amazon Linux AMI for the cluster (optional for create-cluster). Available only in EMR releases 5.7.0 and later.
ebs_root_volume_iops|stringoptional|The IOPS of the EBS root device volume of the Linux AMI (optional for create-cluster). Available in EMR releases 6.15.0 and later.
ebs_root_volume_size|stringoptional|The size, in GiB, of the EBS root device volume of the Linux AMI (optional for create-cluster). Available in EMR releases 4.x and later.
ebs_root_volume_throughput|stringoptional|The throughput, in MiB/s, of the EBS root device volume of the Linux AMI (optional for create-cluster). Available in EMR releases 6.15.0 and later.
instances|stringoptional|A specification of the number and type of Amazon EC2 instances (required for create-cluster). Must include instance groups or instance fleets configuration.
job_flow_role|stringoptional|The IAM role for EC2 instances running the job flow (required for create-cluster when using temporary credentials).
kerberos_attributes|stringoptional|Attributes for Kerberos configuration when Kerberos authentication is enabled (optional for create-cluster).
log_encryption_kms_key_id|stringoptional|The KMS key used for encrypting log files. Available with EMR 5.30.0 and later, excluding EMR 6.0.0 (optional for create-cluster).
log_uri|stringoptional|The path to the Amazon S3 location where logs for the cluster are stored (optional for create-cluster).
marker|stringoptional|The pagination token for list-clusters operation.
name|stringoptional|Name of the EMR cluster (required for create-cluster). Cannot contain <, >, $, |, or (backtick).os_release_label|string*optional*|The Amazon Linux release for the cluster (optional for create-cluster).placement_groups|string*optional*|Placement group configuration for the cluster (optional for create-cluster).release_label|string*optional*|The Amazon EMR release label, which determines the version of open-source application packages installed on the cluster (required for create-cluster). Format: emr-x.x.xrepo_upgrade_on_boot|string*optional*|Applies only when CustomAmiID is used. Specifies the type of updates that are applied from the Amazon Linux AMI package repositories when an instance boots (optional for create-cluster).scale_down_behavior|string*optional*|The way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs (optional for create-cluster). Values: TERMINATE_AT_INSTANCE_HOUR, TERMINATE_AT_TASK_COMPLETION.security_configuration|string*optional*|The name of a security configuration to apply to the cluster (optional for create-cluster).security_configuration_json|string*optional*|JSON format security configuration (required for create-security-configuration).security_configuration_name|string*optional*|Name of the security configuration (required for create-security-configuration, delete-security-configuration, describe-security-configuration).service_role|string*optional*|The IAM role that Amazon EMR assumes to access AWS resources on your behalf (optional for create-cluster).step_concurrency_level|string*optional*|The number of steps that can be executed concurrently (required for modify-cluster). Range: 1-256.steps|string*optional*|A list of steps to run on the cluster (optional for create-cluster). Each step contains Name, ActionOnFailure, and HadoopJarStep properties.termination_protected|string*optional*|Whether the cluster is protected from termination (optional for modify-cluster-attributes).unhealthy_node_replacement|string*optional*|Whether Amazon EMR should gracefully replace Amazon EC2 core instances that have degraded within the cluster (optional for create-cluster).visible_to_all_users|string` optional|Whether the cluster is visible to all IAM users of the AWS account (optional for create-cluster, default: true).manage_aws_emr_ec2_instancesManage AWS EMR EC2 instances with both read and write operations.
This tool provides comprehensive operations for managing Amazon EMR EC2 instances, including adding and modifying instance fleets and groups, as well as listing instance details. It enables scaling cluster capacity, configuring instance specifications, and monitoring instance status.
--allow-write flag for add-instance-fleet, add-instance-groups,
modify-instance-fleet, and modify-instance-groups operationsadd-instance-fleet: Add an instance fleet to an existing EMR cluster
add-instance-groups: Add instance groups to an existing EMR cluster
modify-instance-fleet: Modify an instance fleet in an EMR cluster
modify-instance-groups: Modify instance groups in an EMR cluster
list-instance-fleets: List all instance fleets in an EMR cluster
list-instances: List all instances in an EMR cluster
list-supported-instance-types: List all supported instance types for EMR
# Add a task instance fleet with mixed instance types
response = await manage_aws_emr_ec2_instances(
operation='add-instance-fleet',
cluster_id='j-123ABC456DEF',
instance_fleet={
'InstanceFleetType': 'TASK',
'Name': 'TaskFleet',
'TargetOnDemandCapacity': 2,
'TargetSpotCapacity': 3,
'InstanceTypeConfigs': [
{
'InstanceType': 'm5.xlarge',
'WeightedCapacity': 1,
'BidPriceAsPercentageOfOnDemandPrice': 80,
},
{
'InstanceType': 'm5.2xlarge',
'WeightedCapacity': 2,
'BidPriceAsPercentageOfOnDemandPrice': 75,
},
],
},
)
| Parameters | Type | Description |
|---|---|---|
operation | string | Operation to perform: add-instance-fleet, add-instance-groups, modify-instance-fleet, modify-instance-groups, list-instance-fleets, list-instances, list-supported-instance-types. Choose read-only operations when write access is disabled. |
cluster_id | stringoptional | ID of the EMR cluster (required for all operations except list-supported-instance-types). |
instance_fleet | stringoptional | Instance fleet configuration (required for add-instance-fleet). Must include InstanceFleetType and can include Name, TargetOnDemandCapacity, TargetSpotCapacity, InstanceTypeConfigs, LaunchSpecifications, and ResizeSpecifications. |
instance_fleet_config | stringoptional | Instance fleet configuration for modification (required for modify-instance-fleet). Can include TargetOnDemandCapacity, TargetSpotCapacity, ResizeSpecifications, InstanceTypeConfigs, and Context. |
instance_fleet_id | stringoptional | ID of the instance fleet (required for modify-instance-fleet). |
instance_fleet_type | stringoptional | Instance fleet type to filter by (optional for list-instances). Valid values: MASTER, CORE, TASK. |
instance_group_configs | stringoptional | List of instance group configurations for modification (required for modify-instance-groups). Each must include InstanceGroupId and can include InstanceCount, EC2InstanceIdsToTerminate, ShrinkPolicy, ReconfigurationType, and Configurations. |
instance_group_ids | stringoptional | List of instance group IDs (optional for list-instances). |
instance_group_types | stringoptional | List of instance group types to filter by (optional for list-instances). Valid values: MASTER, CORE, TASK. |
instance_groups | stringoptional | List of instance group configurations (required for add-instance-groups). Each must include InstanceRole, InstanceType, InstanceCount, and can include Name, Market, BidPrice, Configurations, EbsConfiguration, AutoScalingPolicy, and CustomAmiId. |
instance_states | stringoptional | List of instance states to filter by (optional for list-instances). Valid values: AWAITING_FULFILLMENT, PROVISIONING, BOOTSTRAPPING, RUNNING, TERMINATED. |
marker | stringoptional | Pagination token for list operations. |
release_label | stringoptional | EMR release label (required for list-supported-instance-types). Format: emr-x.x.x (e.g., emr-6.10.0). |
manage_aws_emr_ec2_stepsManage AWS EMR EC2 steps for processing data on EMR clusters.
This tool provides comprehensive operations for managing EMR steps, which are units of work submitted to an EMR cluster for execution. Steps typically consist of Hadoop or Spark jobs that process and analyze data.
--allow-write flag for add-steps and cancel-steps operations# Add a Spark step to process data
{
'operation': 'add-steps',
'cluster_id': 'j-2AXXXXXXGAPLF',
'steps': [
{
'Name': 'Spark Data Processing',
'ActionOnFailure': 'CONTINUE',
'HadoopJarStep': {
'Jar': 'command-runner.jar',
'Args': [
'spark-submit',
'--class',
'com.example.SparkProcessor',
's3://mybucket/myapp.jar',
'arg1',
'arg2',
],
},
}
],
}
| Parameters | Type | Description |
|---|---|---|
cluster_id | string | ID of the EMR cluster. |
operation | string | Operation to perform: add-steps, cancel-steps, describe-step, list-steps. Choose read-only operations when write access is disabled. |
marker | stringoptional | The pagination token for list-steps operation. |
step_cancellation_option | stringoptional | Option for canceling steps. Valid values: SEND_INTERRUPT, TERMINATE_PROCESS. Default is SEND_INTERRUPT. |
step_id | stringoptional | ID of the EMR step (required for describe-step). |
step_ids | stringoptional | List of EMR step IDs (required for cancel-steps, optional for list-steps). |
step_states | stringoptional | The step state filters to apply when listing steps (optional for list-steps). Valid values: PENDING, CANCEL_PENDING, RUNNING, COMPLETED, CANCELLED, FAILED, INTERRUPTED. |
steps | stringoptional | List of steps to add to the cluster (required for add-steps). Each step should include Name, ActionOnFailure, and HadoopJarStep. |
manage_aws_glue_catalogManage AWS Glue Data Catalog with both read and write operations.
This tool provides operations for managing the Glue Data Catalog itself, including creating custom catalogs, importing from external sources, and managing catalog-level configurations.
--allow-write flag for create-catalog, delete-catalog, and import operationsoperation|string|Operation to perform: create-catalog, delete-catalog, get-catalog, list-catalogs, or import-catalog-to-glue. Choose "get-catalog" or "list-catalogs" for read-only operations.
catalog_id|stringoptional|ID of the catalog (required for create-catalog, delete-catalog, get-catalog, and import-catalog-to-glue operations).
catalog_input|stringoptional|Catalog definition for create-catalog operations.
max_results|stringoptional|The maximum number of catalogs to return in one response.
next_token|stringoptional|A continuation token, if this is a continuation call.
parent_catalog_id|stringoptional|The ID of the parent catalog in which the catalog resides. If none is provided, the AWS Account Number is used by default.manage_aws_glue_classifiersManage AWS Glue classifiers to determine data formats and schemas.
This tool provides operations for AWS Glue classifiers, which help determine the schema of your data. Classifiers analyze data samples to infer formats and structures, enabling accurate schema creation when crawlers process your data sources.
--allow-write flag for create, delete, and update operations# Create a CSV classifier
{
'operation': 'create-classifier',
'classifier_definition': {
'CsvClassifier': {
'Name': 'my-csv-classifier',
'Delimiter': ',',
'QuoteSymbol': '"',
'ContainsHeader': 'PRESENT',
'Header': ['id', 'name', 'date', 'value'],
'AllowSingleColumn': false,
}
},
}
| Parameters | Type | Description |
|---|---|---|
operation | string | Operation to perform: create-classifier, delete-classifier, get-classifier, get-classifiers, update-classifier. Choose "get-classifier" or "get-classifiers" for read-only operations when write access is disabled. |
classifier_definition | stringoptional | Classifier definition for create-classifier and update-classifier operations. Must include one of GrokClassifier, XMLClassifier, JsonClassifier, or CsvClassifier. |
classifier_name | stringoptional | Name of the classifier (required for delete-classifier and get-classifier operations). |
max_results | stringoptional | Maximum number of results to return for get-classifiers operation. |
next_token | stringoptional | Pagination token for get-classifiers operation. |
manage_aws_glue_connectionsManage AWS Glue Data Catalog connections with both read and write operations.
Connections in AWS Glue store connection information for data stores, such as databases, data warehouses, and other data sources. They contain connection properties like JDBC URLs, usernames, and other metadata needed to connect to external data sources.
--allow-write flag for create, update, and delete operationsoperation|string|Operation to perform: create-connection, delete-connection, get-connection, list-connections, or update-connection. Choose "get-connection" or "list-connections" for read-only operations.
catalog_id|stringoptional|Catalog ID for the connection (optional, defaults to account ID).
connection_input|stringoptional|Connection definition for create and update operations.
connection_name|stringoptional|Name of the connection (required for create-connection, delete-connection, get-connection, and update-connection operations).
hide_password|stringoptional|Flag to retrieve the connection metadata without returning the password(for get-connection and list-connections operation).
max_results|stringoptional|The maximum number of connections to return in one response.
next_token|stringoptional|A continuation token, if this is a continuation call.manage_aws_glue_crawler_managementManage AWS Glue crawler schedules and monitor performance metrics.
This tool provides operations for controlling crawler schedules and retrieving performance metrics. Use it to automate crawler runs on a schedule and monitor crawler efficiency and status.
--allow-write flag for schedule management operations# Update a crawler's schedule to run daily at 2:30 AM UTC
{
'operation': 'update-crawler-schedule',
'crawler_name': 'my-s3-data-crawler',
'schedule': 'cron(30 2 * * ? *)',
}
# Get metrics for specific crawlers
{
'operation': 'get-crawler-metrics',
'crawler_name_list': ['my-s3-data-crawler', 'my-jdbc-crawler'],
}
| Parameters | Type | Description |
|---|---|---|
operation | string | Operation to perform: get-crawler-metrics, start-crawler-schedule, stop-crawler-schedule, update-crawler-schedule. Choose "get-crawler-metrics" for read-only operations when write access is disabled. |
crawler_name | stringoptional | Name of the crawler (required for start-crawler-schedule, stop-crawler-schedule, and update-crawler-schedule operations). |
crawler_name_list | stringoptional | List of crawler names for get-crawler-metrics operation (optional). |
max_results | stringoptional | Maximum number of results to return for get-crawler-metrics operation (optional). |
schedule | stringoptional | Cron expression for the crawler schedule (required for update-crawler-schedule operation). |
manage_aws_glue_crawlersManage AWS Glue crawlers to discover and catalog data sources.
This tool provides comprehensive operations for AWS Glue crawlers, which automatically discover and catalog data from various sources like S3, JDBC databases, DynamoDB, and more. Crawlers examine your data sources, determine schemas, and register metadata in the AWS Glue Data Catalog.
--allow-write flag for create, delete, start, stop, and update operations# Create a new S3 crawler
{
'operation': 'create-crawler',
'crawler_name': 'my-s3-data-crawler',
'crawler_definition': {
'Role': 'arn:aws:iam::123456789012:role/GlueServiceRole',
'Targets': {'S3Targets': [{'Path': 's3://my-bucket/data/'}]},
'DatabaseName': 'my_catalog_db',
'Description': 'Crawler for S3 data files',
'Schedule': 'cron(0 0 * * ? *)',
'TablePrefix': 'raw_',
},
}
| Parameters | Type | Description |
|---|---|---|
operation | string | Operation to perform: create-crawler, delete-crawler, get-crawler, get-crawlers, start-crawler, stop-crawler, batch-get-crawlers, list-crawlers, update-crawler. Choose "get-crawler", "get-crawlers", "batch-get-crawlers", or "list-crawlers" for read-only operations when write access is disabled. |
crawler_definition | stringoptional | Crawler definition for create-crawler and update-crawler operations. |
crawler_name | stringoptional | Name of the crawler (required for all operations except get-crawlers, batch-get-crawlers, and list-crawlers). |
crawler_names | stringoptional | List of crawler names for batch-get-crawlers operation. |
max_results | stringoptional | Maximum number of results to return for get-crawlers and list-crawlers operations. |
next_token | stringoptional | Pagination token for get-crawlers and list-crawlers operations. |
tags | stringoptional | Tags to filter crawlers by for list-crawlers operation. |
manage_aws_glue_databasesManage AWS Glue Data Catalog databases with both read and write operations.
This tool provides operations for managing Glue Data Catalog databases, including creating, updating, retrieving, listing, and deleting databases. It serves as the primary mechanism for database management within the AWS Glue Data Catalog.
--allow-write flag for create-database, update-database, and delete-database operationsoperation|string|Operation to perform: create-database, delete-database, get-database, list-databases, or update-database. Choose "get-database" or "list-databases" for read-only operations when write access is disabled.
catalog_id|stringoptional|ID of the catalog (optional, defaults to account ID).
database_name|stringoptional|Name of the database (required for create-database, delete-database, get-database, and update-database operations).
description|stringoptional|Description of the database (for create-database and update-database operations).
location_uri|stringoptional|Location URI of the database (for create-database and update-database operations).
max_results|stringoptional|The maximum number of databases to return in one response.
next_token|stringoptional|A continuation token, if this is a continuation call.
parameters|stringoptional|Key-value pairs that define parameters and properties of the database.manage_aws_glue_encryptionManage AWS Glue Data Catalog Encryption Settings for data protection.
This tool allows you to retrieve and update AWS Glue Data Catalog Encryption Settings, which control how metadata and connection passwords are encrypted in the Data Catalog.
--allow-write flag for put-catalog-encryption-settings operation{
"operation": "put-catalog-encryption-settings",
"encryption_at_rest": {
"CatalogEncryptionMode": "SSE-KMS",
"SseAwsKmsKeyId": "arn:aws:kms:region:account-id:key/key-id"
},
"connection_password_encryption": {
"ReturnConnectionPasswordEncrypted": true,
"AwsKmsKeyId": "arn:aws:kms:region:account-id:key/key-id"
}
}
| Parameters | Type | Description |
|---|---|---|
operation | string | Operation to perform: get-catalog-encryption-settings, put-catalog-encryption-settings. Choose "get-catalog-encryption-settings" for read-only operations when write access is disabled. |
catalog_id | stringoptional | ID of the Data Catalog to retrieve or update encryption settings for (defaults to caller's AWS account ID). |
connection_password_encryption | stringoptional | Connection password encryption configuration for the Data Catalog (for put-catalog-encryption-settings operation). |
encryption_at_rest | stringoptional | Encryption-at-rest configuration for the Data Catalog (for put-catalog-encryption-settings operation). |
manage_aws_glue_jobsManage AWS Glue ETL jobs and job runs with both read and write operations.
This tool provides comprehensive operations for managing AWS Glue ETL jobs and job runs, including creating, updating, retrieving, listing, starting, stopping, and monitoring jobs.
--allow-write flag for create-job, delete-job, update-job, start-job-run, stop-job-run, and batch-stop-job-run operations# Create a new Spark ETL job
{
'operation': 'create-job',
'job_name': 'my-etl-job',
'job_definition': {
'Role': 'arn:aws:iam::123456789012:role/GlueETLRole',
'Command': {
'Name': 'glueetl',
'ScriptLocation': 's3://my-bucket/scripts/etl-script.py',
},
'GlueVersion': '5.0',
'MaxRetries': 2,
'Timeout': 120,
'WorkerType': 'G.1X',
'NumberOfWorkers': 5,
},
}
# Start a job run
{
'operation': 'start-job-run',
'job_name': 'my-etl-job',
'worker_type': 'G.1X',
'number_of_workers': 5,
}
# Get details of a specific job run
{
'operation': 'get-job-run',
'job_name': 'my-etl-job',
'job_run_id': 'jr_1234567890abcdef0',
}
| Parameters | Type | Description |
|---|---|---|
operation | string | Operation to perform: create-job, delete-job, get-job, get-jobs, update-job, start-job-run, stop-job-run, get-job-run, get-job-runs, batch-stop-job-run, get-job-bookmark, reset-job-bookmark. Choose "get-job", "get-jobs", "get-job-run", "get-job-runs", or "get-job-bookmark" for read-only operations when write access is disabled. |
execution_class | stringoptional | Execution class for start-job-run operation (STANDARD or FLEX). |
job_arguments | stringoptional | Job arguments for start-job-run operation. These replace the default arguments set in the job definition. |
job_definition | stringoptional | Job definition for create-job and update-job operations. For create-job, must include Role and Command parameters. |
job_name | stringoptional | Name of the job (required for all operations except get-jobs). |
job_run_id | stringoptional | Job run ID for get-job-run, stop-job-run operations, or to retry for start-job-run operation. |
job_run_ids | stringoptional | List of job run IDs for batch-stop-job-run operation. |
job_run_queuing_enabled | stringoptional | Whether job run queuing is enabled for start-job-run operation. |
max_capacity | stringoptional | Maximum capacity in DPUs for start-job-run operation (not compatible with worker_type and number_of_workers). |
max_results | stringoptional | Maximum number of results to return for get-jobs or get-job-runs operations. |
next_token | stringoptional | Pagination token for get-jobs or get-job-runs operations. |
number_of_workers | stringoptional | Number of workers for start-job-run operation. |
predecessors_included | stringoptional | Whether to include predecessor runs in get-job-run operation. |
security_configuration | stringoptional | Security configuration name for start-job-run operation. |
timeout | stringoptional | Timeout in minutes for start-job-run operation. |
worker_type | stringoptional | Worker type for start-job-run operation (G.1X, G.2X, G.4X, G.8X, G.025X for Spark jobs, Z.2X for Ray jobs). |
manage_aws_glue_partitionsManage AWS Glue Data Catalog partitions with both read and write operations.
Partitions in AWS Glue represent a way to organize table data based on the values of one or more columns. They enable efficient querying and processing of large datasets by allowing queries to target specific subsets of data.
--allow-write flag for create-partition, update-partition, and delete-partition operationsdatabase_name|string|Name of the database containing the table.
operation|string|Operation to perform: create-partition, delete-partition, get-partition, list-partitions, or update-partition. Choose "get-partition" or "list-partitions" for read-only operations.
table_name|string|Name of the table containing the partition.
catalog_id|stringoptional|ID of the catalog (optional, defaults to account ID).
expression|stringoptional|Filter expression for list-partitions operation.
max_results|stringoptional|Maximum number of results to return for list-partitions operation.
next_token|stringoptional|A continuation token, if this is not the first call to retrieve these partitions.
partition_input|stringoptional|Partition definition for create-partition and update-partition operations.
partition_values|stringoptional|Values that define the partition (required for create-partition, delete-partition, get-partition, and update-partition operations).manage_aws_glue_resource_policiesManage AWS Glue Resource Policies for access control.
This tool allows you to retrieve, create, update, and delete AWS Glue Resource Policies, which control access to Glue resources through IAM policy documents.
--allow-write flag for put-resource-policy and delete-resource-policy operations{
"operation": "put-resource-policy",
"policy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"arn:aws:iam::123456789…
"policy_exists_condition": "NOT_EXIST",
"enable_hybrid": true
}
| Parameters | Type | Description |
|---|---|---|
operation | string | Operation to perform: get-resource-policy, put-resource-policy, delete-resource-policy. Choose "get-resource-policy" for read-only operations when write access is disabled. |
enable_hybrid | stringoptional | Whether to enable hybrid access policy for put-resource-policy operation. |
policy | stringoptional | Resource policy document for put-resource-policy operation. |
policy_exists_condition | stringoptional | Condition under which to update or delete the policy (MUST_EXIST or NOT_EXIST). |
policy_hash | stringoptional | Hash of the policy to update or delete. |
resource_arn | stringoptional | ARN of the Glue resource for the resource policy (optional). |
manage_aws_glue_security_configurationsManage AWS Glue Security Configurations for data encryption.
This tool allows you to create, retrieve, and delete AWS Glue Security Configurations, which define encryption settings for Glue jobs, crawlers, and development endpoints.
--allow-write flag for create-security-configuration and delete-security-configuration operations{
"operation": "create-security-configuration",
"config_name": "my-encryption-config",
"encryption_configuration": {
"S3Encryption": [
{
"S3EncryptionMode": "SSE-KMS",
"KmsKeyArn": "arn:aws:kms:region:account-id:key/key-id"
}
],
"CloudWatchEncryption": {
"CloudWatchEncryptionMode": "DISABLED"
},
"JobBookmarksEncryption": {
"JobBookmarksEncryptionMode": "CSE-KMS",
"KmsKeyArn": "arn:aws:kms:region:account-id:key/key-id"
}
}
}
| Parameters | Type | Description |
|---|---|---|
config_name | string | Name of the security configuration. |
operation | string | Operation to perform: create-security-configuration, delete-security-configuration, get-security-configuration. Choose "get-security-configuration" for read-only operations when write access is disabled. |
encryption_configuration | stringoptional | Encryption configuration for create-security-configuration operation, containing settings for S3, CloudWatch, and job bookmarks encryption. |
manage_aws_glue_sessionsManage AWS Glue Interactive Sessions for running Spark and Ray workloads.
This tool provides operations for creating and managing Glue Interactive Sessions, which enable interactive development and execution of Spark ETL scripts and Ray applications. Interactive sessions provide a responsive environment for data exploration, debugging, and iterative development.
--allow-write flag for create-session, delete-session, and stop-session operations# Create a new Spark ETL session
{
'operation': 'create-session',
'session_id': 'my-spark-session',
'role': 'arn:aws:iam::123456789012:role/GlueInteractiveSessionRole',
'command': {'Name': 'glueetl', 'PythonVersion': '3'},
'glue_version': '3.0',
}
| Parameters | Type | Description |
|---|---|---|
operation | string | Operation to perform: create-session, delete-session, get-session, list-sessions, stop-session. Choose "get-session" or "list-sessions" for read-only operations when write access is disabled. |
command | stringoptional | Session command with Name (e.g., 'glueetl', 'gluestreaming') and optional PythonVersion (required for create-session operation). |
connections | stringoptional | Connections to use for the session (optional for create-session operation). |
default_arguments | stringoptional | Map of key-value pairs for session arguments (optional for create-session operation). |
description | stringoptional | Description of the session (optional for create-session operation). |
glue_version | stringoptional | Glue version to use (must be greater than 2.0) (optional for create-session operation). |
idle_timeout | stringoptional | Number of minutes when idle before session times out (optional for create-session operation). |
max_capacity | stringoptional | Number of Glue data processing units (DPUs) to allocate (optional for create-session operation). |
max_results | stringoptional | Maximum number of results to return for list-sessions operation. |
next_token | stringoptional | Pagination token for list-sessions operation. |
number_of_workers | stringoptional | Number of workers to use for the session (optional for create-session operation). |
request_origin | stringoptional | Origin of the request (optional for all operations). |
role | stringoptional | IAM Role ARN (required for create-session operation). |
security_configuration | stringoptional | Name of the SecurityConfiguration structure (optional for create-session operation). |
session_id | stringoptional | ID of the session (required for delete-session, get-session, and stop-session operations). |
tags | stringoptional | Map of key-value pairs (tags) for the session (optional for create-session operation). |
timeout | stringoptional | Number of minutes before session times out (optional for create-session operation). |
worker_type | stringoptional | Type of predefined worker (G.1X, G.2X, G.4X, G.8X, Z.2X) (optional for create-session operation). |
manage_aws_glue_statementsManage AWS Glue Interactive Session Statements for executing code and retrieving results.
This tool provides operations for executing code, canceling running statements, and retrieving results within Glue Interactive Sessions. It enables interactive data processing, exploration, and analysis using Spark or Ray in AWS Glue.
--allow-write flag for run-statement and cancel-statement operations# Run a PySpark statement in a session
{
'operation': 'run-statement',
'session_id': 'my-spark-session',
'code': "df = spark.read.csv('s3://my-bucket/data.csv', header=True)\ndf.show(5)",
}
| Parameters | Type | Description |
|---|---|---|
operation | string | Operation to perform: run-statement, cancel-statement, get-statement, list-statements. Choose "get-statement" or "list-statements" for read-only operations when write access is disabled. |
session_id | string | ID of the session (required for all operations). |
code | stringoptional | Code to execute for run-statement operation (up to 68000 characters). |
max_results | stringoptional | Maximum number of results to return for list-statements operation. |
next_token | stringoptional | Pagination token for list-statements operation. |
request_origin | stringoptional | Origin of the request (optional for all operations). |
statement_id | stringoptional | ID of the statement (required for cancel-statement and get-statement operations). |
manage_aws_glue_tablesManage AWS Glue Data Catalog tables with both read and write operations.
This tool provides comprehensive operations for managing Glue Data Catalog tables, including creating, updating, retrieving, listing, searching, and deleting tables. Tables define the schema and metadata for data stored in various formats and locations.
--allow-write flag for create-table, update-table, and delete-table operationsdatabase_name|string|Name of the database containing the table.
operation|string|Operation to perform: create-table, delete-table, get-table, list-tables, update-table, or search-tables. Choose "get-table", "list-tables", or "search-tables" for read-only operations.
catalog_id|stringoptional|ID of the catalog (optional, defaults to account ID).
max_results|stringoptional|Maximum number of results to return for list and search-tables operations.
next_token|stringoptional|A continuation token, included if this is a continuation call.
search_text|stringoptional|Search text for search-tables operation.
table_input|stringoptional|Table definition for create-table and update-table operations.
table_name|stringoptional|Name of the table (required for create-table, delete-table, get-table, and update-table operations).manage_aws_glue_triggersManage AWS Glue triggers to automate workflow and job execution.
This tool allows you to create, delete, retrieve, list, start, and stop AWS Glue triggers. Triggers define the conditions that automatically start jobs or workflows, enabling scheduled or event-based execution of your ETL processes.
--allow-write flag for create-trigger, delete-trigger, start-trigger, and stop-trigger operations# Create a scheduled trigger
manage_aws_glue_triggers(
operation='create-trigger',
trigger_name='daily-etl-trigger',
trigger_definition={
'Type': 'SCHEDULED',
'Schedule': 'cron(0 12 * * ? *)', # Run daily at 12:00 UTC
'Actions': [{'JobName': 'process-daily-data'}],
'Description': 'Trigger for daily ETL job',
'StartOnCreation': True,
},
)
# Create a conditional trigger
manage_aws_glue_triggers(
operation='create-trigger',
trigger_name='data-arrival-trigger',
trigger_definition={
'Type': 'CONDITIONAL',
'Actions': [{'JobName': 'process-new-data'}],
'Predicate': {
'Conditions': [
{
'LogicalOperator': 'EQUALS',
'JobName': 'crawl-new-data',
'State': 'SUCCEEDED',
}
]
},
'Description': 'Trigger that runs when data crawling completes',
},
)
| Parameters | Type | Description |
|---|---|---|
operation | string | Operation to perform: create-trigger, delete-trigger, get-trigger, get-triggers, start-trigger, stop-trigger. Choose "get-trigger" or "get-triggers" for read-only operations when write access is disabled. |
max_results | stringoptional | Maximum number of results to return for get-triggers operation. |
next_token | stringoptional | Pagination token for get-triggers operation. |
trigger_definition | stringoptional | Trigger definition for create-trigger operation. |
trigger_name | stringoptional | Name of the trigger (required for all operations except get-triggers). |
manage_aws_glue_usage_profilesManage AWS Glue Usage Profiles for resource allocation and cost management.
This tool allows you to create, retrieve, update, and delete AWS Glue Usage Profiles, which define resource allocation and cost management settings for Glue jobs and interactive sessions.
--allow-write flag for create-profile, delete-profile, and update-profile operations{
"operation": "create-profile",
"profile_name": "my-standard-profile",
"description": "Standard resource allocation for ETL jobs",
"configuration": {
"JobConfiguration": {
"numberOfWorkers": {
"DefaultValue": "10",
"MinValue": "1",
"MaxValue": "10"
},
"workerType": {
"DefaultValue": "G.2X",
"AllowedValues": [
"G.2X",
"G.4X",
"G.8X"
]
},
}
}
| Parameters | Type | Description |
|---|---|---|
operation | string | Operation to perform: create-profile, delete-profile, get-profile, update-profile. Choose "get-profile" for read-only operations when write access is disabled. |
profile_name | string | Name of the usage profile. |
configuration | stringoptional | Configuration object specifying job and session values for the profile (required for create-profile and update-profile operations). |
description | stringoptional | Description of the usage profile (for create-profile and update-profile operations). |
tags | stringoptional | Tags to apply to the usage profile (for create-profile operation). |
manage_aws_glue_workflowsManage AWS Glue workflows to orchestrate complex ETL activities.
This tool allows you to create, delete, retrieve, list, and start AWS Glue workflows. Workflows help you design and visualize complex ETL activities as a series of dependent jobs and crawlers, making it easier to manage and monitor your data processing pipelines.
--allow-write flag for create-workflow, delete-workflow, and start-workflow-run operations# Create a new workflow
manage_aws_glue_workflows(
operation='create-workflow',
workflow_name='my-etl-workflow',
workflow_definition={
'Description': 'ETL workflow for daily data processing',
'DefaultRunProperties': {'ENV': 'production'},
'MaxConcurrentRuns': 1,
},
)
# Start a workflow run
manage_aws_glue_workflows(
operation='start-workflow-run',
workflow_name='my-etl-workflow',
workflow_definition={'run_properties': {'EXECUTION_DATE': '2023-06-19'}},
)
| Parameters | Type | Description |
|---|---|---|
operation | string | Operation to perform: create-workflow, delete-workflow, get-workflow, list-workflows, start-workflow-run. Choose "get-workflow" or "list-workflows" for read-only operations when write access is disabled. |
max_results | stringoptional | Maximum number of results to return for list-workflows operation. |
next_token | stringoptional | Pagination token for list-workflows operation. |
workflow_definition | stringoptional | Workflow definition for create-workflow operation. |
workflow_name | stringoptional | Name of the workflow (required for all operations except list-workflows). |
upload_to_s3Upload Python code content directly to an S3 bucket using putObject.
This tool uploads Python code content directly to an S3 bucket, commonly used for storing Glue job scripts, EMR step scripts, or other data processing code. The uploaded file can be referenced by data processing services.
--allow-write flagbucket_name|string|Name of the S3 bucket
code_content|string|String containing Python code to upload
s3_key|string|S3 object key (path within the bucket)
make_public|booleanoptional|Whether to make the file publicly accessible (default: False){
"mcpServers": {
"aws-dataprocessing": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"mcp/aws-dataprocessing-mcp-server"
]
}
}
}