AWS IMDSv2-compatible credential server for local development and CI
Three tools with basic verb-noun naming (list_profiles, create_server, stop_server) and descriptions present, but significant gaps in parameter documentation and output schema clarity. All tools lack parameter descriptions, critical for LLM reasoning. No output schemas documented. Input schemas visible but incomplete: list_profiles has empty input {}, create_server and stop_server have typed parameters but lack descriptions for each field. Descriptions are adequate (20-50 chars) but generic. No error handling guidance, no idempotency hints, no recovery paths. Follows minimal pattern coverage (~15% of 54 patterns).
Start (or return the existing) IMDS server for an AWS profile
List AWS profiles matching the configured filter
Stop a running IMDS server
All parameters lack descriptions. 'profile' and 'region' in create_server, 'url' in stop_server have no guidance on format, constraints, or when to use them. LLMs cannot infer whether 'profile' is a name or ID, or what 'url' format is expected.
No output schemas documented for any tool. Callers cannot know what fields to expect (e.g., does list_profiles return profile names, ARNs, or full config objects?). Breaks tool chaining and forces LLM guessing.
list_profiles has empty input schema {}. While correct for a no-arg tool, the description should clarify what 'filter' means (mentioned in description but not in schema). Inconsistency between description and schema.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 52 | 2026-07-28+ | v2 |
No error handling guidance. What happens if a profile doesn't exist? If the IMDS server fails to start? If stop_server is called with an invalid URL? No recovery hints for LLM.
No idempotency or confirmation hints. create_server says 'Start (or return the existing)' but LLM cannot know if calling twice is safe. stop_server is destructive but lacks confirmation or dry-run pattern.