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
BedrockAgentResolverde 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
- Instale
uvdesde Astral o el README de GitHub - Instale Python usando
uv python install 3.10 - 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
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.