Server has 7 tools with consistent naming (verb_noun pattern) and basic schemas via Zod. All tools have descriptions and input schemas are visible. However, descriptions are generic (avg ~60 chars, well below the 194-char baseline), parameter descriptions lack detail on constraints/formats, output schemas are undocumented, and error handling is minimal. No tool annotations (readOnlyHint/destructiveHint). Lambda invoke accepts JSON as a string rather than structured object, forcing LLM to serialize. Most tools return raw JSON without pagination or result limits documented. Composition is reasonable (7 focused tools), but descriptions don't guide LLM selection or explain when to use each tool vs alternatives.
Retrieve CloudWatch metric statistics for a given namespace and metric
List EC2 instances with optional filters by region and state
List IAM roles in the AWS account with optional path prefix filter
Invoke an AWS Lambda function with an optional JSON payload
Retrieve an object from an S3 bucket by bucket name and key
List all S3 buckets in the AWS account
Output schemas undocumented. Tools return JSON strings without declaring field structure, types, or pagination. LLMs cannot plan downstream calls or extract data reliably.
Descriptions too generic and short (avg 60 chars vs 194-char baseline). 's3_list_buckets' is just 'List all S3 buckets in the AWS account', no guidance on when to call it, what it returns, or how it differs from s3_get_object. LLMs cannot disambiguate.
No tool annotations (readOnlyHint/destructiveHint). lambda_invoke is a WRITE operation but unmarked. Agents cannot distinguish safe (read) from risky (write) tools, risking unintended side effects.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | 2026-07-28+ | v2 |
Get the identity of the current AWS caller (account, ARN, user ID)
lambda_invoke accepts 'payload' as a string, forcing LLM to serialize JSON manually. Should accept structured object (JSON Schema type: object) so LLM passes data directly.
No pagination or result limits documented. ec2_list_instances and iam_list_roles could return hundreds of items, blowing context window. No limit parameter or documentation of max results.