AWS CDK MCP服务器
AWS云开发工具包(CDK)的MCP服务器最佳实践、基础设施即代码模式以及对CDK-Nag的安全合规性。
特性
CDK通用指南
- AWS解决方案构造和GenAI CDK库的规范模式
- 用于选择适当实施方法的结构化决策流程
- 通过CDK-Nag集成和Lambda Powertools实现安全自动化
CDK-Nag集成
- 使用CDK Nag规则实现安全性和合规性
- 使用AWS良好架构指南解释具体的CDK Nag规则
- 检查CDK代码是否包含需要人工审查的Nag抑制
AWS解决方案构建
- 搜索和发现AWS解决方案构造模式
- 查找常见架构需求的推荐模式
- 获取有关解决方案构造的详细文档
生成式AI CDK构造
- 按名称或类型搜索GenAI CDK构造
- 发现AI/ML工作负载的专用构造
- 获取生成式人工智能应用程序的实施指南
Lambda层文档提供程序
- 访问AWS Lambda层的全面文档
- 获取通用Lambda层和Python特定层的代码示例
- 检索目录结构信息和实施最佳实践
- 与AWS文档MCP服务器无缝集成,以获取详细文档
Amazon基岩代理模式生成
- 在创建具有使用Lambda函数的动作组的基岩代理时使用此工具
- 简化基岩试剂模式的创建
- 将代码文件转换为兼容的OpenAPI规范
开发人员说明
- 需求:您的Lambda函数必须使用
BedrockAgentResolver来自AWS Lambda Powertools - Lambda依赖关系:如果模式生成失败,将生成回退脚本。如果您看到有关缺少依赖项的错误消息,请安装它们,然后再次运行脚本。
- 整合:使用生成的架构
bedrock.ApiSchema.fromLocalAsset()在您的CDK代码中
CDK实施工作流程
此图提供了推荐的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"]
%% Bedrock Agent with Action Groups specific flow
D2 -->|"For Bedrock Agents
with Action Groups"| BA["Create Lambda with
BedrockAgentResolver"]
%% Schema generation flow
BA --> BS["GenerateBedrockAgentSchema"]
BS -->|"Success"| JSON["openapi.json created"]
BS -->|"Import Errors"| BSF["Tool generates
generate_schema.py"]
BSF -->|"Missing dependencies?"| InstallDeps["Install dependencies"]
InstallDeps --> BSR["Run script manually:
python generate_schema.py"]
BSR --> JSON["openapi.json created"]
%% Use schema in Agent CDK
JSON --> AgentCDK["Use schema in
Agent CDK code"]
AgentCDK --> D2
%% Conditional Lambda Powertools implementation
D1 & D2 & D3 --> HasLambda{"Using Lambda
Functions?"}
HasLambda --> UseLayer{"Using Lambda
Layers?"}
UseLayer -->|"Yes"| LLDP["LambdaLayerDocumentationProvider"]
HasLambda -->|"No"| SkipL["Skip"]
%% Rest of workflow
LLDP["LambdaLayerDocumentationProvider"] --> Synth["cdk synth"]
SkipL --> Synth
Synth --> Nag{"CDK Nag
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;可用的MCP工具
- CDK一般指导:获取使用CDK构建AWS应用程序的规范性建议
- GetAwsSolutions构造模式:查找结合AWS服务的经过审核的架构模式
- 搜索GenAICDK建筑:按名称或特征发现GenAI CDK构造
- 生成床代理示意图:为基岩代理行动组创建OpenAPI模式
- LambdaLayer文档提供商:Lambda层实现的访问文档
- 解释CDKAgRule:获取有关CDK Nag安全规则的详细指导
- 检查CDK信号抑制:验证代码中的CDK Nag抑制
可用MCP资源
- CDK命名规则:通过访问规则包
cdk-nag://rules/{rule_pack} - AWS解决方案构建:通过访问模式
aws-solutions-constructs://{pattern_name} - GenAI CDK构造:通过以下方式访问文档
genai-cdk-constructs://{construct_type}/{construct_name} - Lambda电动工具:通过以下方式获取Lambda Powertools的指导
lambda-powertools://{topic}
先决条件
- 安装
uv从 星体 或 - 使用以下命令安装Python
uv python install 3.10 - 使用安装AWS CDK CLI
npm install -g aws-cdk(注意:MCP服务器本身不直接使用CDK CLI,但它引导用户完成需要CLI的CDK应用程序开发)
安装

在MCP客户端配置中配置MCP服务器(例如,对于Amazon Q Developer CLI,编辑 ~/.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": []
}
}
}或docker成功后 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": []
}
}
}安全考虑
使用此MCP服务器时,您应该考虑:
- 手动查看所有CDK Nag警告和错误
- 尽可能解决安全问题,而不是压制它们
- 记录任何必要抑制的明确理由
- 使用CheckCDKAgSuppressions工具验证不存在未经授权的抑制
在应用CDK NAG抑制之前,您应该考虑进行自己的独立评估,以确保您的使用符合您自己的特定安全和质量控制实践和标准,以及管理您和您的内容的当地法律、规则和法规。
