Serveur AWS CDK MCP

Serveur MCP pour les meilleures pratiques de l'AWS Cloud Development Kit (CDK), les modèles d'infrastructure en tant que code et la conformité de la sécurité avec CDK Nag.

Caractéristiques

Directives générales CDK

  • Modèles prescriptifs avec AWS Solutions Constructs et les bibliothèques GenAI CDK
  • Flux de décision structuré pour choisir les approches de mise en œuvre appropriées
  • Automatisation de la sécurité grâce à l'intégration de CDK Nag et aux outils Lambda Powertools

Intégration du CDK Nag

  • Travailler avec les règles CDK Nag pour la sécurité et la conformité
  • Expliquer les règles spécifiques de CDK Nag avec les conseils d'AWS Well-Architected
  • Vérifier si le code CDK contient des suppressions Nag qui nécessitent un examen humain

AWS Solutions Constructs

  • Rechercher et découvrir des modèles AWS Solutions Constructs
  • Trouver des modèles recommandés pour des besoins d'architecture courants
  • Obtenir une documentation détaillée sur les Solutions Constructs

Constructions du CDK d'IA générative

  • Recherchez les constructions GenAI CDK par nom ou par type
  • Découvrez des constructions spécialisées pour les charges de travail AI/ML
  • Obtenir des conseils de mise en œuvre pour les applications d'IA générative

Fournisseur de documentation sur les couches Lambda

  • Accédez à une documentation complète sur les couches AWS Lambda
  • Obtenir des exemples de code pour les couches Lambda génériques et les couches spécifiques à Python
  • Récupérer des informations sur la structure des répertoires et les meilleures pratiques de mise en œuvre
  • Intégration transparente avec le serveur AWS Documentation MCP pour une documentation détaillée

Génération du schéma de l'agent Amazon Bedrock

  • Utilisez cet outil lors de la création d'agents Bedrock avec des groupes d'action qui utilisent des fonctions Lambda
  • Rationaliser la création de schémas d'agents Bedrock
  • Convertir les fichiers de code en spécifications OpenAPI compatibles

Notes à l'attention des développeurs

  • Exigences: Votre fonction Lambda doit utiliser BedrockAgentResolver de AWS Lambda Powertools
  • Dépendances Lambda: Si la génération de schéma échoue, un script de repli sera généré. Si vous voyez des messages d'erreur concernant des dépendances manquantes, installez-les et exécutez à nouveau le script.
  • Intégration: Utilisez le schéma généré avec bedrock.ApiSchema.fromLocalAsset() dans votre code CDK

Flux de travail de la mise en œuvre du CDK

Ce diagramme fournit une vue d'ensemble du flux de travail recommandé pour la mise en œuvre du CDK :

graph TD Start([Start]) --> A["CDKGeneralGuidance"] A --> Init["cdk init app"] Init --> B{Choisir une approche} B -->|"Common Patterns"| C1["GetAwsSolutionsConstructPattern"] B -->b -->| "Caractéristiques GenAI"| C2["SearchGenAICDKConstructs"] B -->| "Besoins personnalisés"| C3["Code CDK personnalisé"] C1 --> D1["Mise en œuvre de la construction de solutions"] 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{"Utiliser Lambda<br/>Couches ?"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

Outils MCP disponibles

  • CDKGeneralGuidance: Obtenez des conseils normatifs pour la création d'applications AWS avec CDK
  • GetAwsSolutionsConstructPattern: Trouver des modèles d'architecture approuvés combinant des services AWS
  • SearchGenAICDKConstructs: Découvrir les constructions GenAI CDK par nom ou par caractéristiques
  • GenerateBedrockAgentSchema: Créer des schémas OpenAPI pour les groupes d'action de l'agent Bedrock
  • LambdaLayerDocumentationProvider: Accéder à la documentation pour la mise en œuvre des couches Lambda
  • ExplainCDKNagRule: Obtenir des conseils détaillés sur les règles de sécurité de CDK Nag
  • CheckCDKNagSuppressions: Valider les suppressions de CDK Nag dans votre code

Ressources MCP disponibles

  • Règles de CDK Nag: Accéder aux packs de règles via cdk-nag://rules/{rule_pack}
  • AWS Solutions Constructs: Accès aux modèles via aws-solutions-constructs://{nom_du_modèle}
  • Constructions GenAI CDK: Accédez à la documentation via genai-cdk-constructs://{construct_type}/{nom_de_la_construction}
  • Lambda Powertools: Obtenir des conseils sur les outils Lambda Powertools via lambda-powertools://{topic}

Conditions préalables

  1. Installer uv à partir d'Astral ou du README de GitHub
  2. Installer Python en utilisant uv python install 3.10
  3. Installer AWS CDK CLI en utilisant npm install -g aws-cdk (Note : Le serveur MCP lui-même n'utilise pas directement le CDK CLI, mais il guide les utilisateurs dans le développement d'applications CDK qui nécessitent le CLI)

Installation du CDK

CurseurCode VS
Install MCP ServerInstall on VS Code

Configurez le serveur MCP dans la configuration de votre client MCP (par exemple, pour Amazon Q Developer CLI, éditez ~/.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" : [] } } }

Installation sous Windows

Pour les utilisateurs de Windows, le format de configuration du serveur MCP est légèrement différent :

{ "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" } } }

ou docker après un succès 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" : [] } } }

Considérations relatives à la sécurité

Lorsque vous utilisez ce serveur MCP, vous devez prendre en compte les points suivants :

  • Examiner manuellement tous les avertissements et toutes les erreurs de CDK Nag
  • Corriger les problèmes de sécurité plutôt que de les supprimer dans la mesure du possible
  • Documenter des justifications claires pour toute suppression nécessaire
  • Utiliser l'outil CheckCDKNagSuppressions pour vérifier qu'il n'existe pas de suppressions non autorisées

Avant d'appliquer les suppressions de CDK NAG, vous devriez envisager d'effectuer votre propre évaluation indépendante pour vous assurer que votre utilisation est conforme à vos propres pratiques et normes de sécurité et de contrôle de la qualité, ainsi qu'aux lois, règles et réglementations locales qui vous régissent et qui régissent votre contenu.

Liés dans Service en nuage - MCP Servers sécurisés

ServeurRésuméActions
Démonstration de géolocalisationCe projet montre comment utiliser EdgeOne Pages Functions pour récupérer les informations de géoloca...Voir
Douze donnéesLe serveur MCP de Twelve Data offre une intégration transparente avec l'API de Twelve Data pour accé...Voir
fal-ai/minimax/image-01Un serveur Model Context Protocol (MCP) qui fournit un accès au modèle de génération d'images fal-ai...Voir
Google Ads API v20Serveur MCP (Model Context Protocol) complet qui offre un accès complet aux fonctionnalités de l'API...Voir
Observabilité du nuage Alibaba阿里云可观测 覆盖产品包含阿里云日志服务SLS、阿里云应用实时监控服务ARMS、阿里云云监控等D↩务,提供了一...Voir
Meraki Magic MCPMeraki Magic est un serveur MCP (Model Context Protocol) basé sur Python pour le Meraki Dashboard de...Voir