Model Context Protocol server for deploying web applications to AWS serverless infrastructure
Server has 5 tools with complete input schemas and descriptions, but quality is uneven. Tool naming follows verb_noun convention (deploy, get-logs, get-metrics, update-frontend, deployment-help). Descriptions are present but generic (avg ~80 chars, below 194-char baseline). Parameters are typed and mostly described, but lack actionable constraints (enums, ranges, format hints). Output schemas are not documented in the source. Error handling and recovery guidance are absent. No tool annotations (readOnlyHint/destructiveHint) despite clear risk levels. The 'deploy' tool is particularly complex with nested objects but lacks guidance on conditional parameter dependencies (e.g., backendConfiguration required only for backend/fullstack types).
Deploy web applications to AWS serverless infrastructure
Get help and guidance on deploying web applications
Retrieve logs from deployed Lambda functions
Retrieve CloudWatch metrics for deployed applications
Update frontend assets in deployed S3 bucket
No output schemas documented. LLMs cannot plan downstream calls or extract required fields (e.g., stack ARN, deployment URL, log entries). Responses are unstructured.
Missing tool annotations. 'deploy' and 'update-frontend' are destructive/irreversible but lack destructiveHint. 'get-logs' and 'get-metrics' are read-only but lack readOnlyHint. Agents cannot distinguish safe from risky operations.
Conditional parameter dependencies undocumented. 'deploy' requires backendConfiguration only for backend/fullstack types, but this is not stated in parameter descriptions. LLMs will pass irrelevant configs or omit required ones.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 44 | <=2025-11-25 | v2 |
No error recovery guidance. Tools lack descriptions of failure modes, retryability, or next steps. E.g., 'deploy' can fail due to invalid SAM template, AWS credentials, or region limits, but no guidance on how to recover.
Numeric parameters lack bounds. 'get-logs' limit defaults to 100 but no max stated. 'get-metrics' period defaults to 300s but no range. Unbounded values risk API timeouts or excessive data.