Keep Claude Code sessions alive through AWS credential expiration
This server has critical definition gaps. Tool schemas are not visible in source code, only script names and informal descriptions appear. No JSON Schema definitions, parameter types, or structured output schemas are documented. Descriptions are present but lack LLM-optimized structure (no WHAT/WHEN/HOW clarity). Tool names are somewhat action-oriented but lack verb-noun consistency. No error handling guidance, no parameter constraints, no output field documentation. This is a shell-script-based tool wrapper, not a properly structured MCP server with formal tool definitions.
Proactive AWS credential expiry check. Warns via stderr if expired or nearing expiry. Optionally auto-renews credentials when within autoLoginMinutes window.
Called by Claude Code when Bedrock auth fails. Tries auto-login if configured, otherwise prompts user to re-auth manually.
Reads current AWS credentials from ~/.aws/credentials for the configured profile. Used by Claude Code's awsCredentialExport to bypass in-memory SDK cache.
Shows AWS session time remaining with color warning. Composes with any existing status line command via config.statusLineCmd.
No input schemas visible. Tools lack JSON Schema definitions with parameter types, constraints, and descriptions. Cannot verify parameter validation or LLM-safe input handling.
No output schemas documented. Tools return unstructured text or JSON without field documentation. LLMs cannot plan downstream calls or extract structured data reliably.
Tool naming inconsistency. 'UserPromptSubmit' is not verb-noun format and unclear what action it performs. 'statusLine' is a noun, not a verb. Should be 'check_aws_credentials' and 'get_aws_status_line'.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 30 | 2026-07-28+ | v2 |
Descriptions lack WHAT/WHEN/HOW structure. 'Called by Claude Code when Bedrock auth fails' is implementation detail, not user-facing guidance. Missing: when to call, what it returns, error cases, prerequisites.
No error handling guidance. Scripts exit with code 1 on failure but provide no structured error response, recovery hints, or actionable messages for LLM retry logic.