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) and comprehensive parameter documentation. However, critical gaps undermine production readiness: (1) Output schema is completely undocumented, tool returns a string with no structure specification, forcing LLMs to parse unstructured text; (2) No error handling guidance, tool delegates to strands_tools but provides no recovery hints for common AWS CLI failures (invalid credentials, malformed commands, rate limits); (3) Parameters lack validation constraints, 'service_name' and 'operation_name' accept free-form strings with no enum or pattern, inviting hallucinated AWS service/operation names; (4) No pagination or result limiting despite AWS APIs often returning large datasets; (5) Security concern: profile_name parameter could be abused to access unintended AWS credentials if not validated server-side. Tool naming 'use_aws' is generic and does not follow verb_noun pattern (should be 'call_aws_api' or 'execute_aws_operation'). Parameter descriptions are adequate but lack format constraints (e.g., 'service_name must match AWS CLI service names like ec2, s3api, iam').
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.
Output schema completely undocumented. Tool returns a string with no structure specification. LLMs cannot parse or chain results reliably.
No error handling guidance. Tool delegates to strands_tools but provides no recovery hints for common AWS failures (invalid credentials, malformed commands, rate limits, service unavailable).
Parameters lack validation constraints. 'service_name' and 'operation_name' accept free-form strings with no enum, pattern, or format specification. Invites hallucinated AWS service/operation names.
Tool naming 'use_aws' is generic and does not follow verb_noun pattern. Should be 'call_aws_api', 'execute_aws_operation', or 'invoke_aws_cli' to clarify intent.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 41 | 2026-07-28+ | v2 |
Security: profile_name parameter could be abused to access unintended AWS credentials if not validated server-side. No documentation of which profiles are allowed or how they are restricted.