Skip to main content
Glama
YawLabs

@yawlabs/aws-mcp

Official
by YawLabs

aws_multi_region

Destructive

Run one AWS API operation across up to 32 regions in parallel, returning per-region results so you can audit resources fleet-wide without repeated single-region calls.

Instructions

Run the same AWS API operation across multiple regions in parallel. Same shape as aws_call (service, operation, params?, query?, outputFormat?, timeoutMs?) but takes regions: string[] instead of region. Returns an array of {region, ok, data?, command?, error?, errorKind?} -- partial failure is expected (services aren't everywhere, perms may be region-scoped). Duplicate regions in the input are collapsed (first occurrence wins), so results.length may be less than regions.length; use the returned regionCount for the actual count run. The whole batch is capped at 5 MB of results: if it would exceed that, later entries keep their status but lose data and are flagged truncated: true, with the affected regions listed in a top-level truncatedRegions -- re-run those regions individually or narrow with query/params. Use for fleet-wide reads: 'describe-instances across all our regions', 'list buckets in every region', 'check IAM password policy everywhere'.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryNoJMESPath expression for --query (server-side trimming per region).
paramsNoOperation parameters (PascalCase keys) -- same shape as aws_call.
profileNoOverride session profile for the batch.
regionsYesRegion IDs (e.g. ['us-east-1','us-west-2','eu-west-1']). 1-32. Validated for argv-safety; a bad region name yields a clear per-region error and skips its CLI spawn (per-region isolation comes from each region being a separate call, not from this pre-check).
serviceYesAWS service in kebab-case: 's3api', 'ec2', 'iam', etc.
operationYesOperation in kebab-case: 'describe-instances', 'list-buckets', etc.
timeoutMsNoTimeout in ms applied PER region. Default 60000.
concurrencyNoMax regions in flight at once (1-32). Default 8.
outputFormatNoOutput format. Default 'json'.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.5.1
    • changedInput schema / properties / regions / description
      Previous value: -"Region IDs (e.g. ['us-east-1','us-west-2','eu-west-1']). 1-32. Validated for argv-safety; bad region names fail per-region rather than poisoning the batch."New value: +"Region IDs (e.g. ['us-east-1','us-west-2','eu-west-1']). 1-32. Validated for argv-safety; a bad region name yields a clear per-region error and skips its CLI spawn (per-region isolation comes from each region being a separate call, not from this pre-check)."
  2. First observedv1.3.2

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations by disclosing partial failure expectations, duplicate-region collapsing, a 5 MB result cap, truncation with status preservation, and the top-level truncatedRegions field. These are behavioral traits not encoded in readOnlyHint/destructiveHint and are exactly what an agent needs to interpret batch results correctly.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Every sentence carries distinct information: purpose, shape comparison, return shape, failure semantics, duplicate handling, size cap, truncation remedy, and use cases. It is front-loaded with the core purpose and then layers edge-case behavior without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex multi-region tool with no output schema, the description covers the return format, per-region outcome fields, expected partial failures, truncation behavior, and recovery path. Combined with the fully documented input schema and annotations, there is no critical missing context for invoking the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds meaningful semantics: region duplicates collapse with first occurrence winning, regionCount reports actual executions, and timeoutMs applies per region via the aws_call shape reference. It could have also explained concurrency/profile, but the schema already documents those.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description states a specific verb and resource: 'Run the same AWS API operation across multiple regions in parallel.' It differentiates from aws_call by explicitly contrasting 'regions: string[]' with 'region', and gives concrete example operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear usage context with 'Use for fleet-wide reads' and concrete examples (describe-instances, list buckets, IAM password policy), plus advice to re-run truncated regions individually or narrow with query/params. It does not explicitly state when not to use the tool (e.g., single-region calls should use aws_call), so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.