A server for building, customizing, and deploying AWS Deep Learning Containers (DLC). Enables creation of custom Dockerfiles based on DLC base images, building and pushing to ECR, deploying to SageMaker/EC2/ECS/EKS, upgrading DLC images, troubleshooting issues, and providing best practices guidance.
This MCP server has 23 tools with schemas and basic descriptions, but suffers from significant quality gaps across naming, description depth, parameter documentation, and error handling. While tool names follow verb-noun conventions and input schemas are defined, the descriptions are generic and underdifferentiated (many are simple restatements of the tool name), parameters lack detailed constraints or format guidance, and there is no evidence of output schema documentation. Error handling is absent, tools fail silently without recovery guidance. The server targets AWS Deep Learning Containers, a specialized domain with substantial operational complexity, but the tool definitions do not expose that expertise through rich descriptions or multi-step composition patterns. Most tools score 35-55 individually; the average across 23 tools is 48.
Build a custom DLC image based on DLC base image.
Check if AWS CLI is configured properly.
Check if Docker is available and return version info.
Check if GPU support is available via nvidia-smi.
Create distributed training configuration for DLC.
Deploy DLC image to Amazon EC2 for development or production.
Deploy DLC image to Amazon ECS for containerized deployments.
Output schemas not documented. For tools like get_security_best_practices, get_cost_optimization_tips, get_framework_compatibility, and list_available_dlc_images, there is no indication of what fields the LLM will receive in the response. The rubric requires output schema documentation for all tools; without it, LLMs cannot plan downstream actions or extract relevant data.
Descriptions are generic and underdifferentiated. Many descriptions simply restate the tool name (e.g., 'Get security best practices for DLC usage' is nearly identical to the tool name 'get_security_best_practices'). Descriptions should be 50-200 characters, explain WHAT the tool does, WHEN to use it, and any prerequisites. Current descriptions lack guidance for LLM selection between similar tools.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 51 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 37 | - | v1 |
Deploy DLC image to Amazon EKS for Kubernetes-based deployments.
Deploy DLC image to Amazon SageMaker for training or inference.
Diagnose common DLC-related issues.
Extract framework version and CUDA version from image URI.
Get cost optimization tips for DLC usage.
Get guidelines for creating custom DLC images.
Get deployment best practices for DLC usage.
Get framework compatibility information for DLC images.
Get framework-specific best practices for DLC usage.
Get instance type recommendations for DLC workloads.
Get performance optimization tips for DLC usage.
Get security best practices for DLC usage.
Check if the given framework version and CUDA version are supported.
List available AWS Deep Learning Container images.
Run a DLC container with specified configuration.
Upgrade DLC image to a newer framework version while preserving customizations.
Parameter descriptions lack constraint guidance. For example, run_container has a 'gpu' boolean with no description of what enabling GPU support entails or requires. Descriptions should specify expected format, range, and allowed values. 'A boolean flag to enable GPU support, requires nvidia-smi and CUDA runtime on the host' is actionable; the current absence is not.
No error handling or recovery guidance. None of the tools define how they fail or what the LLM should do next. For example, if build_custom_dlc_image fails due to Dockerfile syntax errors, there is no indication of whether the failure is retryable, user-fixable, or fatal. Tools should return actionable error messages with recovery steps.
No pagination for list tools. list_available_dlc_images lacks limit and offset/cursor parameters. Without pagination, large result sets risk blowing the context window. The description does not indicate result limits or how to fetch additional pages.
Enum constraints missing for known-value parameters. Tools like deploy_to_sagemaker (job_type: 'training or inference'), is_version_supported (framework: 'pytorch, tensorflow'), and list_available_dlc_images (framework and image_type filters) accept only specific values but define them as free-form strings. Enums are self-documenting and prevent LLM hallucination.
No tool composition or chaining guidance. Tools like deploy_to_sagemaker, list_available_dlc_images, and build_custom_dlc_image exist but lack cross-references or guidance on typical sequences (e.g., 'Call list_available_dlc_images first to choose an image URI, then pass it to deploy_to_sagemaker'). This forces the LLM to infer dependencies.
Destructive tools lack confirmation or dry-run patterns. Tools like build_custom_dlc_image and upgrade_dlc_image modify infrastructure but do not support dry-run or explicit confirmation. Agents make mistakes, a confirmation step before irreversible operations is essential.
No tool annotations for risk/safety. The server provides Risk metadata (READ_ONLY, WRITE) in the source listing but does not expose destructiveHint, readOnlyHint, or idempotentHint annotations in the tool definitions. LLMs cannot infer safety properties without explicit schema annotations.