AWS CDK MCP Server

Ofrece orientación y herramientas para AWS CDK, cubriendo mejores prácticas, cumplimiento de seguridad con CDK Nag, validación de infraestructura y descubrimiento de patrones.

Documentación

Servidor MCP de AWS CDK

Servidor MCP para mejores prácticas de AWS Cloud Development Kit (CDK), patrones de infraestructura como código y cumplimiento de seguridad con CDK Nag.

Características

Guía General de CDK

  • Patrones prescriptivos con AWS Solutions Constructs y bibliotecas GenAI CDK
  • Flujo de decisión estructurado para elegir enfoques de implementación apropiados
  • Automatización de seguridad mediante la integración con CDK Nag y Lambda Powertools

Integración con CDK Nag

  • Trabaje con las reglas de CDK Nag para seguridad y cumplimiento
  • Explique reglas específicas de CDK Nag con la guía de AWS Well-Architected
  • Verifique si el código CDK contiene supresiones de Nag que requieran revisión humana

AWS Solutions Constructs

  • Busque y descubra patrones de AWS Solutions Constructs
  • Encuentre patrones recomendados para necesidades comunes de arquitectura
  • Obtenga documentación detallada sobre Solutions Constructs

Constructos GenAI de CDK

  • Busque constructos GenAI de CDK por nombre o tipo
  • Descubra constructos especializados para cargas de trabajo de IA/ML
  • Obtenga guía de implementación para aplicaciones de IA generativa

Proveedor de Documentación de Capas Lambda

  • Acceda a documentación completa para capas de AWS Lambda
  • Obtenga ejemplos de código para capas Lambda genéricas y capas específicas de Python
  • Recupere información de estructura de directorios y mejores prácticas de implementación
  • Integración perfecta con el Servidor MCP de Documentación de AWS para documentación detallada

Generación de Esquemas de Agentes de Amazon Bedrock

  • Use esta herramienta al crear Agentes de Bedrock con Grupos de Acción que utilicen funciones Lambda
  • Agilice la creación de esquemas de Agentes de Bedrock
  • Convierta archivos de código a especificaciones OpenAPI compatibles

Notas para Desarrolladores

  • Requisitos: Su función Lambda debe usar BedrockAgentResolver de AWS Lambda Powertools
  • Dependencias de Lambda: Si la generación de esquemas falla, se generará un script de respaldo. Si ve mensajes de error sobre dependencias faltantes, instálelas y luego ejecute el script nuevamente.
  • Integración: Use el esquema generado con bedrock.ApiSchema.fromLocalAsset() en su código CDK

Flujo de Trabajo de Implementación de CDK

Este diagrama proporciona una vista integral del flujo de trabajo de implementación de CDK recomendado:

graph TD
    Start([Start]) --> A["CDKGeneralGuidance"]
    A --> Init["cdk init app"]

    Init --> B{Choose Approach}
    B -->|"Common Patterns"| C1["GetAwsSolutionsConstructPattern"]
    B -->|"GenAI Features"| C2["SearchGenAICDKConstructs"]
    B -->|"Custom Needs"| C3["Custom CDK Code"]

    C1 --> D1["Implement Solutions Construct"]
    C2 --> D2["Implement GenAI Constructs"]
    C3 --> D3["Implement Custom Resources"]

    %% Bedrock Agent with Action Groups specific flow
    D2 -->|"For Bedrock Agents<br/>with Action Groups"| BA["Create Lambda with<br/>BedrockAgentResolver"]

    %% Schema generation flow
    BA --> BS["GenerateBedrockAgentSchema"]
    BS -->|"Success"| JSON["openapi.json created"]
    BS -->|"Import Errors"| BSF["Tool generates<br/>generate_schema.py"]
    BSF -->|"Missing dependencies?"| InstallDeps["Install dependencies"]
    InstallDeps --> BSR["Run script manually:<br/>python generate_schema.py"]
    BSR --> JSON["openapi.json created"]

    %% Use schema in Agent CDK
    JSON --> AgentCDK["Use schema in<br/>Agent CDK code"]
    AgentCDK --> D2

    %% Conditional Lambda Powertools implementation
    D1 & D2 & D3 --> HasLambda{"Using Lambda<br/>Functions?"}
    HasLambda --> UseLayer{"Using Lambda<br/>Layers?"}
    UseLayer -->|"Yes"| LLDP["LambdaLayerDocumentationProvider"]

    HasLambda -->|"No"| SkipL["Skip"]

    %% Rest of workflow
    LLDP["LambdaLayerDocumentationProvider"] --> Synth["cdk synth"]
    SkipL --> Synth

    Synth --> Nag{"CDK Nag<br/>warnings?"}
    Nag -->|Yes| E["ExplainCDKNagRule"]
    Nag -->|No| Deploy["cdk deploy"]

    E --> Fix["Fix or Add Suppressions"]
    Fix --> CN["CheckCDKNagSuppressions"]
    CN --> Synth

    %% Styling with darker colors
    classDef default fill:#424242,stroke:#ffffff,stroke-width:1px,color:#ffffff;
    classDef cmd fill:#4a148c,stroke:#ffffff,stroke-width:1px,color:#ffffff;
    classDef tool fill:#01579b,stroke:#ffffff,stroke-width:1px,color:#ffffff;
    classDef note fill:#1b5e20,stroke:#ffffff,stroke-width:1px,color:#ffffff;
    classDef output fill:#006064,stroke:#ffffff,stroke-width:1px,color:#ffffff;
    classDef decision fill:#5d4037,stroke:#ffffff,stroke-width:1px,color:#ffffff;

    class Init,Synth,Deploy,BSR cmd;
    class A,C1,C2,BS,E,CN,LLDP tool;
    class JSON output;
    class HasLambda,UseLayer,Nag decision;

Herramientas MCP Disponibles

  • CDKGeneralGuidance: Obtenga asesoramiento prescriptivo para construir aplicaciones AWS con CDK
  • GetAwsSolutionsConstructPattern: Encuentre patrones de arquitectura probados que combinen servicios de AWS
  • SearchGenAICDKConstructs: Descubra constructos GenAI de CDK por nombre o características
  • GenerateBedrockAgentSchema: Cree esquemas OpenAPI para grupos de acción de Agentes de Bedrock
  • LambdaLayerDocumentationProvider: Acceda a documentación para la implementación de capas Lambda
  • ExplainCDKNagRule: Obtenga guía detallada sobre reglas de seguridad de CDK Nag
  • CheckCDKNagSuppressions: Valide las supresiones de CDK Nag en su código

Recursos MCP Disponibles

  • Reglas de CDK Nag: Acceda a paquetes de reglas mediante cdk-nag://rules/{rule_pack}
  • AWS Solutions Constructs: Acceda a patrones mediante aws-solutions-constructs://{pattern_name}
  • Constructos GenAI de CDK: Acceda a documentación mediante genai-cdk-constructs://{construct_type}/{construct_name}
  • Lambda Powertools: Obtenga guía sobre Lambda Powertools mediante lambda-powertools://{topic}

Requisitos Previos

  1. Instale uv desde Astral o el README de GitHub
  2. Instale Python usando uv python install 3.10
  3. Instale el CLI de AWS CDK usando npm install -g aws-cdk (Nota: El servidor MCP en sí no usa el CLI de CDK directamente, pero guía a los usuarios a través del desarrollo de aplicaciones CDK que requieren el CLI)

Instalación

Install MCP Server

Configure el servidor MCP en la configuración de su cliente MCP (por ejemplo, para Amazon Q Developer CLI, edite ~/.aws/amazonq/mcp.json):

{
  "mcpServers": {
    "awslabs.cdk-mcp-server": {
      "command": "uvx",
      "args": ["awslabs.cdk-mcp-server@latest"],
      "env": {
        "FASTMCP_LOG_LEVEL": "ERROR"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

o docker después de un docker build -t awslabs/cdk-mcp-server . exitoso:

  {
    "mcpServers": {
      "awslabs.cdk-mcp-server": {
        "command": "docker",
        "args": [
          "run",
          "--rm",
          "--interactive",
          "--env",
          "FASTMCP_LOG_LEVEL=ERROR",
          "awslabs/cdk-mcp-server:latest"
        ],
        "env": {},
        "disabled": false,
        "autoApprove": []
      }
    }
  }

Consideraciones de Seguridad

Al usar este servidor MCP, debe considerar:

  • Revisar manualmente todas las advertencias y errores de CDK Nag
  • Corregir problemas de seguridad en lugar de suprimirlos siempre que sea posible
  • Documentar justificaciones claras para cualquier supresión necesaria
  • Usar la herramienta CheckCDKNagSuppressions para verificar que no existan supresiones no autorizadas

Antes de aplicar Supresiones de CDK NAG, debe considerar realizar su propia evaluación independiente para asegurarse de que su uso cumpla con sus propias prácticas y estándares específicos de seguridad y control de calidad, así como con las leyes, reglas y regulaciones locales que rigen su contenido y a usted.