MCP server that provides AWS CLI integration for AI assistants, enabling execution of AWS API calls with proper parameter validation and error handling
Single tool 'use_aws' has a reasonable description (194 chars, within baseline 34-392 range) and comprehensive parameter documentation. However, critical gaps undermine production readiness: (1) no output schema documented, LLMs cannot predict return structure or plan downstream calls; (2) no error handling guidance, tool delegates to strands_tools but provides no recovery hints; (3) parameters lack type constraints (enums, ranges, patterns) despite AWS CLI's strict requirements; (4) no validation of AWS credentials or permission checks; (5) tool performs destructive operations (write risk flagged) with no confirmation pattern or dry-run support. The tool wraps an external library (strands_tools.use_aws) whose behavior is opaque from this codebase, making it impossible to verify actual error handling or output structure.
Make an AWS CLI api call with the specified service, operation, and parameters. All arguments MUST conform to the AWS CLI specification. Should the output of the invocation indicate a malformed command, invoke help to obtain the the correct command.
No output schema documented. Tool returns result['content'][0]['text'] but LLMs cannot predict structure, field names, or error format. Prevents downstream tool chaining and forces LLMs to guess at response shape.
Destructive operations (write risk) lack confirmation or dry-run pattern. AWS CLI calls can delete resources, modify infrastructure, or incur costs. No mechanism to preview or confirm before execution.
No error handling guidance. Tool delegates to strands_tools.use_aws but provides no recovery hints, error classification, or actionable messages. LLMs receive raw output with no context for retry logic or user correction.
Parameters lack type constraints despite AWS CLI's strict requirements. 'service_name', 'operation_name', 'region' accept free-form strings with no enum, pattern, or validation. LLMs will hallucinate invalid service/operation names.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 44 | 2026-07-28+ | v2 |
No permission checks or audit trail. Tool accepts optional 'profile_name' but does not verify caller has authority to assume that profile or execute the requested operation. No logging of who called what, when, or with what parameters.