io.github.YawLabs/aws-mcp
NPM · @YAWLABS/AWS-MCP · SCANNED AUG 6
AWS MCP server — call any AWS API from AI assistants, with first-class SSO re-login
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →
Supply Chain Security100
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- No production dependencies, so there is no dependency health to assess. View diagnostics → Pass
Provenance & Transparency19
- Repository check failed: no source repository is declared. See how to fix → View diagnostics → Fail
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 15 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability64
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 6428 tokens (~257/item across 25 items; 25 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management33
- Stability observed for 10 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
npm · @yawlabs/aws-mcp
claude mcp add yawlabs-aws-mcp -- npx -y @yawlabs/aws-mcp
codex mcp add yawlabs-aws-mcp -- npx -y @yawlabs/aws-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"yawlabs-aws-mcp": {
"type": "local",
"command": [
"npx",
"-y",
"@yawlabs/aws-mcp"
],
"enabled": true
}
}
} openclaw mcp add yawlabs-aws-mcp --command npx --arg -y --arg @yawlabs/aws-mcp
mcp_servers:
yawlabs-aws-mcp:
command: "npx"
args: ["-y", "@yawlabs/aws-mcp"] {
"mcpServers": {
"yawlabs-aws-mcp": {
"command": "npx",
"args": [
"-y",
"@yawlabs/aws-mcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 6 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 30 to 33. That category is still filling its 30-day observation window: 9 days of observed history at the previous scan, 10 at this one. The score rises as the window fills, whether or not the server changes.
- 4 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.
- 3 Aug 26 +3
- Stability: unverified → 0.23 ▲ functional
- 2 Aug 26 +15
- Malware scan: unverified → pass ▲ security
- 1 Aug 26 −7
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 31 Jul 26 −18
- Malware scan: pass → unverified ▼ security
- 27 Jul 26 +31
- Tool coverage: unverified → 100 ▲ functional
- First check of Tool coverage: 100 functional
- First check of Schema quality: fail functional
- First check of Schema quality: excellent functional
- First check of Schema quality: fail functional
- 26 Jul 26 41
First indexed and scored.
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 6 Aug 2026 · Analysed npm/@yawlabs/[email protected]
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | npm |
Dependencies 0 packages
| Packages resolved | 0 |
|---|---|
| Tree resolution | Complete |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
aws_assume_role ~379
Call STS AssumeRole and stash the returned temporary credentials as a named profile in ~/.aws/credentials. Subsequent calls to aws_call / aws_whoami / aws_paginate can use profile='mcp-<sessionName>' (or your overridden targetProfile name). The raw secret key / session token are NOT returned to the caller — only the profile name, expiration, and assumed identity. Use for cross-account access: a source profile (your SSO identity) assumes a role in another account. Default timeout is 120s (raise via timeoutMs for slow SAML / credential_process setups on cold start).
| Name | Type | Req | Description |
|---|---|---|---|
| durationSeconds | integer | – | Session duration in seconds (900-43200). Default 3600. |
| externalId | string | – | External ID (only required if the role's trust policy demands it). |
| region | string | – | Region for the STS call. Defaults to session region / $AWS_REGION. |
| roleArn | string | yes | Target role ARN, e.g. 'arn:aws:iam::123456789012:role/CrossAccountAdmin'. |
| sessionName | string | yes | Role session name (shows up in CloudTrail). Alphanumeric + +=,.@- only. |
| sourceProfile | string | – | Profile to use as the assuming identity. Defaults to session profile / $AWS_PROFILE / 'default'. |
| targetProfile | string | – | Profile name to write the temp creds under. Default 'mcp-<sessionName>'. Auto-prefixed with 'mcp-' if missing. |
| timeoutMs | integer | – | Timeout in milliseconds for the underlying STS AssumeRole CLI call. Default 120000 (120s) -- gives cold-start SAML / credential_process setups headroom over runAwsCall's 60s default. Raise further fo… |
No output schema declared.
No examples provided.
aws_call ~401
Run an arbitrary AWS API operation via the aws CLI. Use kebab-case service and operation names as in `aws help` (service='s3api', operation='list-buckets'). Pass params as a JSON object using the AWS API's PascalCase keys (e.g. {Bucket: 'foo'}); they go through --cli-input-json. Session profile/region (from aws_session_set) are used by default; override per-call when needed. For high-level wrappers like 'aws s3 cp' or 'aws ec2 wait', use your shell — this tool targets the low-level API. Returns parsed JSON output by default, plus the literal command that was run.
| Name | Type | Req | Description |
|---|---|---|---|
| operation | string | yes | Operation name in kebab-case: 'list-buckets', 'describe-instances', 'get-caller-identity', 'put-object'. |
| outputFormat | string | – | Output format. Default 'json' (parsed into structured data when possible). |
| params | object | – | Operation parameters as a JSON object (AWS API schema, PascalCase keys). E.g. {Bucket: 'foo', Key: 'bar'}. |
| profile | string | – | Override session profile for this call. |
| query | string | – | JMESPath expression to extract a subset of the response (passed as --query). E.g. 'Buckets[].Name', 'Reservations[].Instances[].{Id:InstanceId,State:State.Name}'. Dramatically reduces output size; re… |
| region | string | – | Override session region for this call. |
| service | string | yes | AWS service name in kebab-case: 's3api', 'ec2', 'iam', 'lambda', 'dynamodb', 'logs', 'sts', 'cloudformation', etc. |
| timeoutMs | integer | – | Timeout in milliseconds. Default 60000 (60s). Raise for slow ops; lower to fail fast. |
No output schema declared.
No examples provided.
aws_docs_read ~184
Fetch an AWS documentation page and return it as markdown. `url` must be an https://docs.aws.amazon.com/...html page (typically one returned by aws_docs_search). Long pages are paginated: pass `startIndex` (default 0) and `maxLength` (default 5000 chars); the response includes `hasMore` and `nextStartIndex` -- call again with nextStartIndex to continue. Strips nav/cookie-banner/feedback chrome before converting.
| Name | Type | Req | Description |
|---|---|---|---|
| maxLength | integer | – | Max characters of markdown to return. Default 5000; max 1000000. |
| startIndex | integer | – | Character offset to start from (for paginated reads). Default 0. |
| url | string | yes | AWS docs page URL: https://docs.aws.amazon.com/<...>.html. Usually from an aws_docs_search result. |
No output schema declared.
No examples provided.
aws_docs_search ~144
Search the live AWS documentation (the same backend that powers the docs.aws.amazon.com search box). Use this to discover the right doc page for a service, API, or concept the model may not know about -- new services, recently changed APIs, exact parameter names. Returns ranked results as {title, url, summary, excerpt}. Follow up with aws_docs_read on a result's url to get the full page as markdown.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Max results to return (1-50). Default 10. |
| query | string | yes | Search phrase, e.g. 'S3 bucket naming rules', 'Lambda environment variables', 'DynamoDB GSI'. |
No output schema declared.
No examples provided.
aws_iam_simulate ~425
Simulate IAM permissions for a principal: can principal X do actions Y on resources Z? Wraps `iam simulate-principal-policy`. Returns one entry per (action, resource) pair with `decision` (allowed / explicitDeny / implicitDeny / unknown -- unknown is the malformed-response fallback when EvalDecision is missing or unrecognised), `matchedStatementIds` (which IAM statements decided), and `missingContextValues` (context keys the policy needed but you didn't provide -- common for tag-based policies). Use this BEFORE a risky operation to avoid a 403; pairs with the post-failure Suggestion you get from aws_call. Requires iam:SimulatePrincipalPolicy on the caller.
| Name | Type | Req | Description |
|---|---|---|---|
| actions | array | yes | IAM action names to test, e.g. ['lambda:CreateFunction', 's3:GetObject']. 1-50 entries. Wildcards (e.g. 's3:*') are accepted. |
| contextEntries | array | – | Context keys for policies that depend on request context -- 'aws:RequestTag/Project' = 'foo', etc. Provide when the policy you're testing references condition keys; the response's `missingContextValu… |
| principalArn | string | yes | ARN of the principal whose policies you want to evaluate, e.g. 'arn:aws:iam::123456789012:user/jeff' or 'arn:aws:iam::123456789012:role/my-role'. |
| profile | string | – | Override session profile for this call. |
| region | string | – | Override session region for this call (IAM is global; affects API endpoint). |
| resources | array | – | Resource ARNs to test against, e.g. ['arn:aws:s3:::my-bucket/*']. When omitted, AWS applies its own default of ['*'] server-side (best-case 'is this action ever allowed?') -- this tool does not injec… |
| timeoutMs | integer | – | Timeout in milliseconds. Default 60000. |
No output schema declared.
No examples provided.
aws_list_profiles ~80
List AWS profiles configured in ~/.aws/config. Returns profile name, region, and SSO metadata (start URL, region, session name) where set, plus an `isSso` flag. Use when the user hasn't named a profile, when they ask to switch profiles, or when an SSO-expired error mentions a profile you haven't seen.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
aws_login_complete ~99
Block until the SSO login started by aws_login_start finishes (user completed auth in browser, or subprocess exited with error). Returns the new identity on success, or a structured error.
| Name | Type | Req | Description |
|---|---|---|---|
| profile | string | – | Profile to verify identity against after login. Defaults to $AWS_PROFILE or 'default'. |
| region | string | – | Region for the post-login identity check. |
| sessionId | string | yes | The sessionId returned by aws_login_start. |
No output schema declared.
No examples provided.
aws_login_start ~95
Start an AWS SSO login via the device-code flow (no browser spawned from this process). Returns a verification URL and short code -- surface these to the user so they can open the URL in their own browser and paste the code. After they auth, call aws_login_complete with the returned sessionId to confirm completion.
| Name | Type | Req | Description |
|---|---|---|---|
| profile | string | – | AWS profile configured for SSO. Defaults to $AWS_PROFILE or 'default'. |
No output schema declared.
No examples provided.
aws_logs_tail ~312
Tail CloudWatch Logs for a log group. Wraps 'aws logs tail' (not the raw FilterLogEvents API) so you get the same server-side time parsing and event-grouping the CLI uses. Returns recent events as JSON. Does NOT stream -- run once to fetch the window, then call again with a later `since`. For long windows (> a few hundred events), narrow via `filterPattern` or lower `since`.
| Name | Type | Req | Description |
|---|---|---|---|
| filterPattern | string | – | CloudWatch Logs filter pattern. E.g. 'ERROR', '"stack trace"', '[timestamp, request_id, level = ERROR, ...]'. |
| logGroupName | string | yes | Log group name, e.g. '/aws/lambda/my-fn' or '/aws/ecs/my-service'. No leading 'logs/'. |
| logStreamNamePrefix | string | – | Restrict to streams with this prefix. Mutually exclusive with logStreamNames. |
| logStreamNames | array | – | Restrict to specific stream names. Overrides the default (all streams in the group). |
| profile | string | – | Override session profile for this call. |
| region | string | – | Override session region for this call. |
| since | string | – | Window to tail: '<number><s|m|h|d|w>'. Default '10m'. Example: '30m', '1h', '3d'. |
| timeoutMs | integer | – | Timeout in milliseconds. Default 60000 (60s). Raise for large windows. |
No output schema declared.
No examples provided.
aws_metrics_query ~661
Query CloudWatch metrics via GetMetricData (the modern multi-metric / expression-capable API, not the legacy get-metric-statistics). Pass `queries` as a flat array of {id, namespace, metricName, dimensions?, statistic?, period?, expression?, label?}; the tool shapes them into MetricDataQueries for you. `startTime`/`endTime` accept ISO 8601 or relative shorthand ('15m', '1h', '1d', '1w'); endTime defaults to 'now'. Period is auto-picked from the time range when omitted (60s for <=3h, 300s for <=24h, 900s for <=15d, 3600s otherwise) to stay under CloudWatch's ~100,800-datapoint response cap. Returns {series: [{id, label?, timestamps, values, period?, statusCode?}], messages?, periodSeconds, profile, region, nextToken, hasMore}. Each series' `period` is the effective granularity for that query (its explicit period, or the auto-pick it inherited); it is omitted for an expression query that didn't set one. The top-level `periodSeconds` is always the auto-pick. When CloudWatch truncates a large response, `hasMore` is true and `nextToken` carries the resume cursor -- call again with `nextToken` set to fetch the next page (rare for typical agent queries that stay within the per-request cap). Use for 'show me the CPU on this instance for the last hour', 'sum lambda invocations across these 3 functions', or expression-based 'p99 latency divided by average latency' lookups.
| Name | Type | Req | Description |
|---|---|---|---|
| endTime | string | – | ISO 8601 timestamp or relative shorthand. Default 'now'. |
| maxDataPoints | integer | – | Target datapoint count. CloudWatch does not truncate to the first N points -- it widens (coarsens) the period server-side so the series aggregates down to fit this many points. CloudWatch's own ceili… |
| nextToken | string | – | Resume cursor from a previous call's `nextToken`. Omit for the first page. Forwarded as CloudWatch's NextToken; only meaningful when a prior call returned `hasMore: true`. |
| profile | string | – | Override session profile for this call. |
| queries | array | yes | 1-100 queries. Each is either a metric-stat (namespace + metricName) or an expression. |
| region | string | – | Override session region for this call. |
| scanBy | string | – | Sort order for returned datapoints. Default 'TimestampDescending' (matches CloudWatch's default). |
| startTime | string | – | ISO 8601 timestamp or relative shorthand ('15m', '1h', '1d', '1w'). Default '1h' (one hour ago). |
| timeoutMs | integer | – | Timeout in milliseconds. Default 60000 (60s). |
No output schema declared.
No examples provided.
aws_multi_region ~390
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. Use for fleet-wide reads: 'describe-instances across all our regions', 'list buckets in every region', 'check IAM password policy everywhere'.
| Name | Type | Req | Description |
|---|---|---|---|
| concurrency | integer | – | Max regions in flight at once (1-32). Default 8. |
| operation | string | yes | Operation in kebab-case: 'describe-instances', 'list-buckets', etc. |
| outputFormat | string | – | Output format. Default 'json'. |
| params | object | – | Operation parameters (PascalCase keys) -- same shape as aws_call. |
| profile | string | – | Override session profile for the batch. |
| query | string | – | JMESPath expression for --query (server-side trimming per region). |
| regions | array | yes | 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 ea… |
| service | string | yes | AWS service in kebab-case: 's3api', 'ec2', 'iam', etc. |
| timeoutMs | integer | – | Timeout in ms applied PER region. Default 60000. |
No output schema declared.
No examples provided.
aws_paginate ~401
Fetch one page of a paginated AWS list/describe operation. Identical to aws_call plus `maxItems` (page size) and `startingToken` (resume cursor). When `query` is supplied it is wrapped server-side as {NextToken, items: <query>} so pagination survives a projection that would otherwise drop NextToken; the handler unwraps `items` before returning. Returns the parsed response, a `nextToken` (null when the list is exhausted), and `hasMore`. Call again with the returned nextToken as startingToken until hasMore is false. Use this instead of aws_call for operations that might exceed the 5 MB stdout cap: list-objects-v2, describe-instances, describe-log-streams, list-roles, etc.
| Name | Type | Req | Description |
|---|---|---|---|
| maxItems | integer | – | Items per page (1-10000). Default 100. Lower this if hitting the 5 MB output cap. |
| operation | string | yes | Paginated operation: 'list-objects-v2', 'describe-instances', 'list-roles', etc. |
| params | object | – | Operation parameters (PascalCase keys) passed via --cli-input-json. |
| profile | string | – | Override session profile for this call. |
| query | string | – | JMESPath expression to extract fields from each page (--query). The query is wrapped server-side as {NextToken, items: <query>} so pagination still works even when the projection drops NextToken; the… |
| region | string | – | Override session region for this call. |
| service | string | yes | AWS service in kebab-case: 's3api', 'ec2', 'iam', 'logs', etc. |
| startingToken | string | – | Resume cursor from the previous call's `nextToken`. Omit for the first page. |
| timeoutMs | integer | – | Timeout in milliseconds. Default 60000. |
No output schema declared.
No examples provided.
aws_refresh_if_expiring_soon ~136
Proactive SSO token check. If the cached token has fewer than `thresholdMinutes` left (default 10), this kicks off aws_login_start and returns the verification URL + code in one round-trip. If plenty of time remains, returns `status: 'ok'` with the minutes left. Use at the start of a multi-step AWS workflow to avoid mid-session expiry.
| Name | Type | Req | Description |
|---|---|---|---|
| profile | string | – | AWS profile configured for SSO. Defaults to $AWS_PROFILE or 'default'. |
| thresholdMinutes | integer | – | Trigger refresh when the token has fewer than this many minutes left. Default 10. |
No output schema declared.
No examples provided.
aws_resource_create ~363
Create an AWS resource via Cloud Control API. Async by default: returns a ProgressEvent with OperationStatus=IN_PROGRESS and a `requestToken` (top-level) -- poll aws_resource_status with that token, or pass `awaitCompletion: true` to have the server poll for you and return the terminal event. `desiredState` is the resource properties JSON matching the CloudFormation schema for `typeName`.
| Name | Type | Req | Description |
|---|---|---|---|
| awaitCompletion | boolean | – | If true, poll get-resource-request-status until the operation reaches SUCCESS / FAILED / CANCEL_COMPLETE and return the final ProgressEvent. Default false (returns immediately with IN_PROGRESS, calle… |
| clientToken | string | – | Idempotency token (max 128 chars). Prevents duplicate creation on retry. |
| desiredState | object | yes | Resource properties matching the CFN schema. E.g. for AWS::SSM::Parameter: {Name: '/my/param', Type: 'String', Value: 'hello'}. |
| maxWaitMs | integer | – | Maximum total wait in ms when awaitCompletion is true (range 1000-1800000). Default 300000. On timeout, returns the last seen status with a hint to keep polling. |
| pollIntervalMs | integer | – | Poll interval in ms when awaitCompletion is true (range 500-30000). Default 2000. ProgressEvent.RetryAfter overrides when CCAPI returns one. |
| profile | string | – | Override session profile for this call. |
| region | string | – | Override session region for this call. |
| timeoutMs | integer | – | Timeout in milliseconds. Default 60000. |
| typeName | string | yes | CloudFormation type name, e.g. 'AWS::SSM::Parameter'. |
No output schema declared.
No examples provided.
aws_resource_delete ~287
Delete an AWS resource via Cloud Control API. Async by default: returns a ProgressEvent with OperationStatus=IN_PROGRESS and a top-level `requestToken`. Pass `awaitCompletion: true` to have the server poll until terminal. Destructive -- double-check `identifier` before calling.
| Name | Type | Req | Description |
|---|---|---|---|
| awaitCompletion | boolean | – | If true, poll get-resource-request-status until the operation reaches SUCCESS / FAILED / CANCEL_COMPLETE and return the final ProgressEvent. Default false (returns immediately with IN_PROGRESS, calle… |
| clientToken | string | – | Idempotency token (max 128 chars). |
| identifier | string | yes | Primary identifier for the resource. |
| maxWaitMs | integer | – | Maximum total wait in ms when awaitCompletion is true (range 1000-1800000). Default 300000. On timeout, returns the last seen status with a hint to keep polling. |
| pollIntervalMs | integer | – | Poll interval in ms when awaitCompletion is true (range 500-30000). Default 2000. ProgressEvent.RetryAfter overrides when CCAPI returns one. |
| profile | string | – | Override session profile for this call. |
| region | string | – | Override session region for this call. |
| timeoutMs | integer | – | Timeout in milliseconds. Default 60000. |
| typeName | string | yes | CloudFormation type name. |
No output schema declared.
No examples provided.
aws_resource_diff ~234
Dry-run a CCAPI update: fetch the current resource state, simulate applying a JSON Patch in memory, and return before/after plus a flat list of changed paths. No mutation is sent to AWS. Use this before aws_resource_update to verify the patch does what you expect. Supports the add/remove/replace subset of RFC 6902 (covers the vast majority of CCAPI updates); 'move'/'copy'/'test' are rejected at schema validation -- use aws_resource_update directly if you need those (CCAPI accepts them, this preview tool just doesn't simulate them locally).
| Name | Type | Req | Description |
|---|---|---|---|
| identifier | string | yes | Primary identifier for the resource. |
| patchDocument | array | yes | RFC 6902 JSON Patch (add/remove/replace subset). For move/copy/test, use aws_resource_update directly. |
| profile | string | – | Override session profile for this call. |
| region | string | – | Override session region for this call. |
| timeoutMs | integer | – | Timeout in milliseconds. Default 60000. |
| typeName | string | yes | CloudFormation type name, e.g. 'AWS::Lambda::Function'. |
No output schema declared.
No examples provided.
aws_resource_get ~206
Read a single AWS resource via Cloud Control API. Covers hundreds of resource types with a CloudFormation schema. `typeName` is '<Namespace>::<Service>::<Resource>' (e.g. 'AWS::Lambda::Function'); `identifier` is the primary key for that type (function name, bucket name, IAM role name, ARN, or composite id). Returns parsed Properties. For resources not covered by CCAPI or for data-plane operations, use aws_call.
| Name | Type | Req | Description |
|---|---|---|---|
| identifier | string | yes | Primary identifier for the resource (function name, bucket name, ARN, or composite id). |
| profile | string | – | Override session profile for this call. |
| region | string | – | Override session region for this call. |
| timeoutMs | integer | – | Timeout in milliseconds. Default 60000. |
| typeName | string | yes | CloudFormation type name, e.g. 'AWS::Lambda::Function', 'AWS::S3::Bucket', 'AWS::IAM::Role'. |
No output schema declared.
No examples provided.
aws_resource_list ~201
List resources of a given type via Cloud Control API, paginated. Returns an array of {identifier, properties}, a `nextToken` (null when exhausted), and `hasMore`. Some types need parent identifiers (e.g. nested resources under a cluster); pass those as `resourceModel`.
| Name | Type | Req | Description |
|---|---|---|---|
| maxResults | integer | – | Page size (1-100). Default 100. |
| nextToken | string | – | Resume cursor from the previous call's `nextToken`. Omit for the first page. |
| profile | string | – | Override session profile for this call. |
| region | string | – | Override session region for this call. |
| resourceModel | object | – | Parent identifier properties for nested types, e.g. {ClusterArn: '...'}. |
| timeoutMs | integer | – | Timeout in milliseconds. Default 60000. |
| typeName | string | yes | CloudFormation type name, e.g. 'AWS::Lambda::Function'. |
No output schema declared.
No examples provided.
aws_resource_status ~120
Poll the status of an async Cloud Control API request (create/update/delete). Pass the `requestToken` returned by those tools. Returns the current ProgressEvent with OperationStatus: PENDING | IN_PROGRESS | SUCCESS | FAILED | CANCEL_IN_PROGRESS | CANCEL_COMPLETE.
| Name | Type | Req | Description |
|---|---|---|---|
| profile | string | – | Override session profile for this call. |
| region | string | – | Override session region for this call. |
| requestToken | string | yes | RequestToken from a previous create/update/delete call. |
| timeoutMs | integer | – | Timeout in milliseconds. Default 60000. |
No output schema declared.
No examples provided.
aws_resource_update ~328
Update an AWS resource via Cloud Control API using RFC 6902 JSON Patch. Async by default: returns a ProgressEvent with OperationStatus=IN_PROGRESS and a top-level `requestToken`. Pass `awaitCompletion: true` to have the server poll until terminal. Typical patch: [{op: 'replace', path: '/MemorySize', value: 512}].
| Name | Type | Req | Description |
|---|---|---|---|
| awaitCompletion | boolean | – | If true, poll get-resource-request-status until the operation reaches SUCCESS / FAILED / CANCEL_COMPLETE and return the final ProgressEvent. Default false (returns immediately with IN_PROGRESS, calle… |
| clientToken | string | – | Idempotency token (max 128 chars). |
| identifier | string | yes | Primary identifier for the resource. |
| maxWaitMs | integer | – | Maximum total wait in ms when awaitCompletion is true (range 1000-1800000). Default 300000. On timeout, returns the last seen status with a hint to keep polling. |
| patchDocument | array | yes | RFC 6902 JSON Patch document (array of operations). At least one entry. |
| pollIntervalMs | integer | – | Poll interval in ms when awaitCompletion is true (range 500-30000). Default 2000. ProgressEvent.RetryAfter overrides when CCAPI returns one. |
| profile | string | – | Override session profile for this call. |
| region | string | – | Override session region for this call. |
| timeoutMs | integer | – | Timeout in milliseconds. Default 60000. |
| typeName | string | yes | CloudFormation type name. |
No output schema declared.
No examples provided.
aws_script ~564
Run a short JavaScript snippet that orchestrates other aws-mcp tools (aws.call, aws.paginate, aws.paginateAll, aws.resource.*, aws.logsTail, aws.metricsQuery, aws.iamSimulate, aws.multiRegion, aws.assumeRole, aws.docs.{search,read}) and returns a combined result. Best for batched read+filter+aggregate workflows that would otherwise need N tool round-trips: 'list all Lambdas, fetch each one's config, return those with memory > 1024'. Use `return <value>` at the end to surface a result; console.log lines are captured and returned alongside. Helpers throw Errors on failure -- use try/catch. NOT a security sandbox -- treat the same as any other tool the model can call.
| Name | Type | Req | Description |
|---|---|---|---|
| code | string | yes | JavaScript snippet evaluated inside `(async () => { ... })()`. Use `return <value>` to surface a result. Bound globals: aws.call, aws.paginate, aws.paginateAll, aws.resource.{get,list,create,update,d… |
| timeoutMs | integer | – | Wall-clock timeout in milliseconds. Default 60000; max 300000. Best-effort across evaluation plus awaited aws.* calls -- it fires on synchronous spin before the first await and on async wall-clock on… |
No output schema declared.
No examples provided.
aws_session_clear ~109
Remove session-set profile and/or region overrides so subsequent calls fall back to env vars / defaults. No args clears both. Pass `profile: true` or `region: true` to clear just one. Use when the user says 'go back to the default profile,' 'unset the region,' or 'reset session.'
| Name | Type | Req | Description |
|---|---|---|---|
| profile | boolean | – | If true, clear the session profile override. Default false. |
| region | boolean | – | If true, clear the session region override. Default false. |
No output schema declared.
No examples provided.
aws_session_get ~73
Show the current session's default AWS profile and region, and where each value came from ('session' = set by aws_session_set, 'env' = AWS_PROFILE/AWS_REGION env var, 'default' = built-in fallback). Useful for confirming state before running operations or debugging why a call hit the wrong account.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
aws_session_set ~140
Set the default AWS profile and/or region for the rest of this MCP session. Subsequent calls to aws_whoami, aws_login_*, and other AWS tools will use these values unless they override explicitly. Use when the user says 'switch to prod', 'use us-west-2', 'look at the staging account', etc. Both params are optional; pass whichever changed. Returns the resulting session state.
| Name | Type | Req | Description |
|---|---|---|---|
| profile | string | – | AWS profile name to use as default. Omit to leave unchanged. |
| region | string | – | AWS region to use as default (e.g. 'us-west-2'). Omit to leave unchanged. |
No output schema declared.
No examples provided.
aws_whoami ~96
Show the current AWS identity (account, role ARN, user ID) plus SSO token status and time remaining. Use this first to verify auth before running other AWS operations. Returns a structured fix-it message if SSO is expired.
| Name | Type | Req | Description |
|---|---|---|---|
| profile | string | – | AWS profile name. Defaults to $AWS_PROFILE or 'default'. |
| region | string | – | AWS region. Defaults to $AWS_REGION or us-east-1. |
No output schema declared.
No examples provided.