Medium Risk

create_bulk_import_job

Create a bulk import job to ingest data from Amazon S3 to AWS IoT SiteWise. This function creates a bulk import job with automatic validation of storage configuration requirements based on the adaptive_ingestion setting. When adaptive_ingestion is True, the job ingests new data and calculates m...

Part of the AWS IoT SiteWise MCP Server MCP server. Enforce policies on this tool with Intercept, the open-source MCP proxy.

AI agents use create_bulk_import_job to create or modify resources in AWS IoT SiteWise MCP Server. Write operations carry medium risk because an autonomous agent could trigger bulk unintended modifications. Rate limits prevent a single agent session from making hundreds of changes in rapid succession. Argument validation ensures the agent passes expected values.

Without a policy, an AI agent could call create_bulk_import_job repeatedly, creating or modifying resources faster than any human could review. Intercept's rate limiting ensures write operations happen at a controlled pace, and argument validation catches malformed or unexpected inputs before they reach AWS IoT SiteWise MCP Server.

Write tools can modify data. A rate limit prevents runaway bulk operations from AI agents.

aws-iot-sitewise-mcp-server.yaml
tools:
  create_bulk_import_job:
    rules:
      - action: allow
        rate_limit:
          max: 30
          window: 60

See the full AWS IoT SiteWise MCP Server policy for all 72 tools.

Tool Name create_bulk_import_job
Category Write
Risk Level Medium

View all 72 tools →

Agents calling write-class tools like create_bulk_import_job have been implicated in these attack patterns. Read the full case and prevention policy for each:

Browse the full MCP Attack Database →

Other tools in the Write risk category across the catalogue. The same policy patterns (rate-limit, validate) apply to each.

What does the create_bulk_import_job tool do? +

Create a bulk import job to ingest data from Amazon S3 to AWS IoT SiteWise. This function creates a bulk import job with automatic validation of storage configuration requirements based on the adaptive_ingestion setting. When adaptive_ingestion is True, the job ingests new data and calculates metrics, transforms, and supports notifications for data with timestamps within seven days. No additional storage configuration is required. When adaptive_ingestion is False, the job performs historical data ingestion only and requires multilayer storage or warm tier to be enabled. The function automatically validates that the current storage configuration supports historical data ingestion. If job_role_arn is not provided, use the create_bulk_import_iam_role helper function to create an IAM role with the necessary S3 permissions for the data and error buckets. Args: job_name: Unique name for the job (1-256 characters, no control characters) job_role_arn: IAM role ARN that allows IoT SiteWise to read S3 data (optional - ask the user if you can use create_bulk_import_iam_role helper function to create one.) files: List of S3 file objects with bucket, key, and optional versionId. Ask the user to provide this if not included. error_report_location: S3 location for error reports (bucket and prefix). Ask the user to provide this if not included. job_configuration: Configuration including file format (CSV or Parquet). Ask the user to provide the column headers if it is a CSV file. adaptive_ingestion: Enable buffered ingestion mode. When False, requires multilayer storage or warm tier to be configured. Ask the user to provide this if not included. delete_files_after_import: Delete S3 files after ingestion (default: False) region: AWS region (default: us-east-1) Returns: Dictionary containing job creation response with jobId, jobName, and jobStatus Example: files = [{"bucket": "my-data-bucket", "key": "data/timeseries.csv"}] error_location = {"bucket": "my-error-bucket", "prefix": "errors/"} job_config = { "fileFormat": { "csv": { "columnNames": ["ALIAS", "TIMESTAMP_SECONDS", "VALUE", "QUALITY"] } } } result = create_bulk_import_job( job_name="my-buffered-ingestion-job", job_role_arn="arn:aws:iam::123456789012:role/IoTSiteWiseRole", files=files, error_report_location=error_location, job_configuration=job_config, adaptive_ingestion=True ). It is categorised as a Write tool in the AWS IoT SiteWise MCP Server MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.

How do I enforce a policy on create_bulk_import_job? +

Add a rule in your Intercept YAML policy under the tools section for create_bulk_import_job. You can allow, deny, rate-limit, or validate arguments. Then run Intercept as a proxy in front of the AWS IoT SiteWise MCP Server MCP server.

What risk level is create_bulk_import_job? +

create_bulk_import_job is a Write tool with medium risk. Write tools should be rate-limited to prevent accidental bulk modifications.

Can I rate-limit create_bulk_import_job? +

Yes. Add a rate_limit block to the create_bulk_import_job rule in your Intercept policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.

How do I block create_bulk_import_job completely? +

Set action: deny in the Intercept policy for create_bulk_import_job. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.

What MCP server provides create_bulk_import_job? +

create_bulk_import_job is provided by the AWS IoT SiteWise MCP Server MCP server (awslabs.aws-iot-sitewise-mcp-server). Intercept sits as a proxy in front of this server to enforce policies before tool calls reach the server.

Let agents act without letting them run wild.

Deterministic policy on every MCP tool call. Per-identity grants. Full audit log.

// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.