Servidor MCP de AWS CDK
Servidor MCP para prácticas recomendadas de AWS Cloud Development Kit (CDK), patrones de infraestructura como código y conformidad de seguridad con CDK Nag.
Características
Guía general de CDK
- Patrones prescriptivos con AWS Solutions Constructs y bibliotecas GenAI CDK
- Flujo de decisiones estructurado para elegir los enfoques de implementación adecuados
- Automatización de la seguridad mediante la integración de CDK Nag y Lambda Powertools
Integración de CDK Nag
- Trabajar con reglas de CDK Nag para la seguridad y la conformidad
- Explicación de reglas específicas de CDK Nag con orientación de AWS Well-Architected
- Compruebe si el código CDK contiene supresiones Nag que requieran revisión humana
Constructos de soluciones de AWS
- Buscar y descubrir patrones de AWS Solutions Constructs
- Encuentre patrones recomendados para necesidades de arquitectura comunes
- Obtenga documentación detallada sobre los constructos de soluciones
Constructos de CDK de IA Generativa
- Busque construcciones GenAI CDK por nombre o tipo
- Descubra construcciones especializadas para cargas de trabajo de IA/ML
- Obtenga orientación para la implementación de aplicaciones de IA generativa
Proveedor de documentación de capas Lambda
- Acceda a la documentación completa de las capas de AWS Lambda
- Obtenga ejemplos de código para capas de Lambda genéricas y capas específicas de Python
- Recupere información sobre la estructura de directorios y prácticas recomendadas de implementación
- Integración perfecta con el servidor MCP de documentación de AWS para obtener documentación detallada
Generación de esquemas de agentes de Amazon Bedrock
- Utilice esta herramienta al crear agentes Bedrock con grupos de acciones que utilicen funciones Lambda
- Agilice la creación de esquemas de agentes Bedrock
- Convierta archivos de código a especificaciones OpenAPI compatibles
Notas para desarrolladores
- Requisitos: Su función Lambda debe utilizar
BedrockAgentResolver
de AWS Lambda Powertools - Dependencias de Lambda: Si falla la generación del esquema, se generará un script de reserva. Si ve mensajes de error sobre dependencias que faltan, instálelas y vuelva a ejecutar el script.
- Integración: Utilice el esquema generado con
bedrock.ApiSchema.fromLocalAsset()
en su código CDK
Flujo de trabajo de implementación de CDK
Este diagrama proporciona una visión completa del flujo de trabajo recomendado para la implementación del CDK:
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"] %% Flujo específico de Agente Bedrock con Grupos de Acción D2 -->|"Para Agentes Bedrock<br/>con Grupos de Acción"| BA["Create Lambda with<br/>BedrockAgentResolver"] %% Flujo de generación de esquema 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"] %% Usar esquema en Agente CDK JSON --> AgentCDK["Usar esquema en<br/>código de Agente CDK"] AgentCDK --> D2 %% Implementación condicional de Lambda Powertools D1 & D2 & D3 --> HasLambda{"¿Usando Lambda<br/>Functions?"} HasLambda --> UseLayer{"¿Usando Lambda<br/>Capas?"} UseLayer -->|"Yes"| LLDP["LambdaLayerDocumentationProvider"] HasLambda -->|"No"| SkipL["Skip"] %% Resto del flujo de trabajo LLDP["LambdaLayerDocumentationProvider"] --> Synth["cdk synth"] SkipL --> Synth Synth --> Nag{"CDK Nag<br/>¿Advertencias?"} Nag -->|Yes| E["ExplainCDKNagRule"] Nag -->|No| Deploy["cdk deploy"] E --> Fix["Fix or Add Suppressions"] Fix --> CN["CheckCDKNagSuppressions"] CN --> Synth %% Estilo con colores más oscuros 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 nota fill:#1b5e20,stroke:#ffffff,stroke-width:1px,color:#ffffff; classDef salida fill:#006064,stroke:#ffffff,stroke-width:1px,color:#ffffff; classDef decisión 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 crear aplicaciones de AWS con CDK
- GetAwsSolutionsConstructPattern: Encuentre patrones de arquitectura examinados que combinen servicios de AWS
- BuscarGenAICDKConstructs: Descubra construcciones GenAI CDK por nombre o características
- GenerarEsquemaAgenteBedrock: Crear esquemas OpenAPI para grupos de acciones de agentes Bedrock
- LambdaLayerDocumentationProvider: Accede a la documentación para la implementación de capas Lambda
- Explicación de CDKNagRule: Obtenga orientación detallada sobre las 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 a través de
cdk-nag://rules/{rule_pack}
- Construcciones de soluciones de AWS: Acceda a patrones a través de
aws-solutions-constructs://{pattern_name}
- Construcciones GenAI CDK: Acceda a la documentación a través de
genai-cdk-constructs://{construct_type}/{construct_name}
- Lambda Powertools: Obtenga orientación sobre Lambda Powertools a través de
lambda-powertools://{topic}
Requisitos previos
- Instalar
uv
desde Astral o desde el README de GitHub - Instalar Python usando
uv python install 3.10
- Instalar AWS CDK CLI utilizando
npm install -g aws-cdk
(Nota: El propio servidor MCP no utiliza la CLI CDK directamente, pero guía a los usuarios a través del desarrollo de aplicaciones CDK que requieren la CLI)
Instalación
Cursor | Código VS |
---|---|
Configura el servidor MCP en tu configuración de cliente MCP (por ejemplo, para Amazon Q Developer CLI, edita ~/.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": [] } } }
Instalación en Windows
Para los usuarios de Windows, el formato de configuración del servidor MCP es ligeramente diferente:
{ "mcpServers": { "awslabs.cdk-mcp-server": { "disabled": false, "timeout": 60, "type": "stdio", "command": "uv", "args": [ "tool", "run", "--from", "awslabs.cdk-mcp-server@latest", "awslabs.cdk-mcp-server.exe" ], "env": { "FASTMCP_LOG_LEVEL": "ERROR", "AWS_PROFILE": "your-aws-profile", "AWS_REGION": "us-east-1" } } }
o docker después de una exitosa docker build -t awslabs/cdk-mcp-server .
:
{ "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
Cuando utilice este servidor MCP, debe tener en cuenta:
- Revisar manualmente todas las advertencias y errores de CDK Nag
- Solucionar los problemas de seguridad en lugar de suprimirlos siempre que sea posible
- Documentar justificaciones claras para cualquier supresión necesaria
- Utilizar la herramienta CheckCDKNagSuppressions para verificar que no existen supresiones no autorizadas
Antes de aplicar CDK NAG Suppressions, debería considerar la posibilidad de realizar su propia evaluación independiente para asegurarse de que su uso cumpliría con sus propias prácticas y normas específicas de seguridad y control de calidad, así como con las leyes, normas y reglamentos locales que le rigen a usted y a su contenido.