Skip to main content

v1.1.0 — 7 Gateway x 125 MCP Tools Architecture

· 3 min read

A milestone release featuring a complete redesign from a single Gateway (29 tools) to 7 specialized Gateways x 125 MCP tools.

Key Changes

1 Gateway → 7 Gateways · 29 tools → 125 tools · 19 Lambda functions · Sonnet intent classifier introduced

Before / After: Gateway Architecture

ItemBefore (v1.0)After (v1.1.0)
Gateway Count1 (Ops)7 (role-based)
MCP Tools29125
Lambda Functions519
RoutingSingle path9-level priority
Intent ClassificationKeyword matchingSonnet natural language classification
Container Response Time~50s~23s

7 Role-Based Gateways

Each Gateway provides a tool set optimized for a specific domain. Gateway URLs are managed in the GATEWAYS dictionary in agent.py.

GatewayToolsKey FeaturesLambda Functions
Network17VPC Flow Logs, SG Rules, Reachabilitynetwork_analyzer, reachability_analyzer, tgw_analyzer, vpn_analyzer, firewall_analyzer
Container24EKS, ECS, Istio troubleshootingeks_analyzer, ecs_analyzer, istio_analyzer
IaC12CloudFormation, CDK, Terraformcfn_analyzer
Data24DynamoDB, RDS, ElastiCache, MSKdynamodb_analyzer, rds_analyzer, elasticache_analyzer, msk_analyzer
Security14IAM policy simulation, permission analysisiam_analyzer
Monitoring16CloudWatch metrics/alarms, CloudTrail eventscloudwatch_analyzer, cloudtrail_analyzer
Cost9Cost Explorer, Budgetscost_analyzer, budget_analyzer

19 Lambda Functions

Managed in the agent/lambda/ directory, with create_targets.py for bulk Gateway Target creation.

Gateway Target Creation

Uses Python/boto3 instead of CLI (mcp.lambda + credentialProviderConfigurations). The programmatic approach is required due to CLI inlinePayload issues.

#LambdaDomainKey Features
1network_analyzerNetworkVPC Flow Logs analysis, SG rule validation
2reachability_analyzerNetworkVPC Reachability Analyzer path analysis
3tgw_analyzerNetworkTransit Gateway routing
4vpn_analyzerNetworkSite-to-Site VPN status/tunnels
5firewall_analyzerNetworkNetwork Firewall rules
6eks_analyzerContainerEKS clusters, node groups, add-ons
7ecs_analyzerContainerECS services, tasks, insights
8istio_analyzerContainerIstio service mesh configuration
9dynamodb_analyzerDataTable capacity, GSI/LSI
10rds_analyzerDataInstance performance, parameter groups
11elasticache_analyzerDataCluster status, Valkey support
12msk_analyzerDataBroker status, topic analysis
13iam_analyzerSecurityPolicy simulation, permission analysis
14cloudwatch_analyzerMonitoringMetrics/alarm analysis
15cloudtrail_analyzerMonitoringEvent search
16cost_analyzerCostCost Explorer cost/forecasting
17budget_analyzerCostBudgets monitoring
18cfn_analyzerIaCCloudFormation stack/drift
19steampipe_queryOpsSteampipe SQL query execution

Dynamic Routing System

9-level priority keyword-based routing in src/app/api/ai/route.ts.

  • agent.py: Gateway selection via payload.gateway parameter
  • route.ts: 9-level priority keyword-based routing
  • Sonnet intent classifier introduced (c56f557) — Selects optimal Gateway via natural language analysis when no keyword match

AI Test Results

104-question test conducted to verify the effectiveness of Gateway separation.

ItemResult
Test Questions104
Routing Accuracy93% (97/104)
Container Response Speed Improvement54% (50s → 23s)
Gateway Separation EffectImproved response quality through domain-specific tools
Performance Improvement

Separating Gateways reduces the number of tools the agent references, improving both tool selection accuracy and response speed. With a single Gateway (125 tools), the LLM takes time to find the right tool, but with the Container Gateway (24 tools), it selects the relevant tool immediately.