Model Context Protocol server providing AWS resource management tools for EC2, RDS, Auto Scaling, and Application Load Balancing
This AWS MCP server has 24 tools across EC2, ALB, ASG, and RDS domains with reasonable naming conventions (verb-noun structure like create-ec2-instance, list-ec2-instances). However, there are significant gaps in definition quality: (1) Descriptions are present but generic and lack LLM-optimization guidance, most are 30-80 chars, below the 50-200 char target for agentic tools. (2) Input schemas are visible in the schema declaration section but lack detail: many parameters lack type hints (e.g., tags is declared as 'object' but no nested schema shown), and descriptions are terse. (3) Parameter descriptions are minimal, e.g., 'optional - Name tag for the instance' is barely 40 chars and doesn't explain when/why to use it. (4) Output schemas are NOT documented, no indication of what list-ec2-instances returns beyond the tool name itself. (5) Error handling is absent from all tool definitions. (6) No tool has actionable dependency hints (e.g., 'call list-ec2-instances first to get valid instance IDs'). (7) No enums are declared for constrained inputs like instanceType, engine, or protocol. Tools like create-application-load-balancer accept 'scheme' with optional values but no enum constraint is visible. (8) Resource chaining is weak, create-ec2-instance returns instance details, but it's unclear if downstream tools can directly use the returned instanceId. Most tools show names and basic schemas but lack the LLM-optimized depth required for confident agentic use.
Create an AMI from an existing EC2 instance
Create an Application Load Balancer (aws_lb equivalent)
Create an Auto Scaling Group (aws_autoscaling_group equivalent)
Create an RDS database instance (aws_db_instance equivalent)
Create a manual snapshot of an RDS database instance
Create a database subnet group (aws_db_subnet_group equivalent)
Create a new EC2 instance (aws_instance equivalent)
Output schemas completely undocumented, no indication of what list-ec2-instances, list-load-balancers, or other read tools return. Agents cannot plan downstream calls without knowing response structure.
Descriptions are generic and below LLM-optimization threshold (target 50-200 chars). Examples: 'List all EC2 instances in the region' (34 chars), 'List all AMIs owned by the account' (34 chars). Missing WHEN to use, dependencies, and actionable guidance.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 38 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 32 | - | v1 |
Create a Launch Template (aws_launch_template equivalent)
Create a Listener for the load balancer (aws_lb_listener equivalent)
Create a Target Group (aws_lb_target_group equivalent)
Delete an RDS database instance (with optional final snapshot)
List all AMIs owned by the account
List all Auto Scaling Groups in the region
List all RDS database instances in the region
List all RDS database snapshots in the region
List all EC2 instances in the region
List all Launch Templates in the region
List all Application Load Balancers in the region
List all Target Groups in the region
Start a stopped RDS database instance
Start a stopped EC2 instance
Stop a running RDS database instance
Stop a running EC2 instance
Terminate an EC2 instance (permanent deletion)
Enum constraints missing for parameters with known restricted values. Examples: instanceType should enumerate t2.micro, t3.micro, m5.large, etc.; engine should be mysql|postgres|mariadb|oracle|sqlserver; protocol should be HTTP|HTTPS; scheme should be internet-facing|internal. Free-form strings invite LLM hallucination.
Parameter descriptions are terse (often 20-40 chars) and lack format guidance. Examples: 'optional - Name tag for the instance', 'optional - EC2 Key Pair name'. No guidance on expected format, length constraints, or valid values. Does not meet 'actionable parameter description' standard.
No error handling guidance documented. Tools like delete-db-instance and terminate-ec2-instance are destructive but provide no information on how to handle failures, recovery steps, or confirmation flows. Missing pattern: recovery-guide.
No tool chaining metadata or dependency hints. Creating a load balancer requires target group ARN, but it's unclear if the agent can directly use output from create-target-group or must call list-target-groups first. Missing pattern: tool-chain.
No per-tool idempotency guarantees declared. Agents retry on transient failures, create-ec2-instance and create-db-instance need explicit idempotency contracts or acknowledgment of side-effect risk.
Pagination not addressed for list tools. list-ec2-instances has empty input schema, no limit, offset, or cursor parameters. Large AWS accounts could return thousands of instances, blowing context window.