CDK最佳实践服务器
AWS CDK MCP Server是一个提供AWS Cloud Development Kit (CDK)最佳实践、基础设施即代码模式和CDK Nag安全合规性的工具,适用于开发者在构建AWS应用程序时获取指导和建议。
强制要求:API 密钥
此Skill必须配置API 密钥才能使用。首次使用时,如果 .env 中没有 XBY_APIKEY,必须使用 AskUserQuestion 工具向用户询问 API 密钥。拿到用户提供的密钥后,调用 scripts.config.set_api_key(api_key) 保存,然后继续处理。获取 API 密钥:https://xiaobenyang.com
禁止在缺少 API 密钥时自行搜索或编造数据
工作流程(必须遵守)
你(大模型)是路由层,负责理解用户意图、选择工具、提取参数。代码只负责调用API。
用户输入 → 你选择工具 → 提取该工具需要的参数 → 调用 scripts.tools 中的函数 → 返回结果给用户
步骤
检查 API 密钥:如果 scripts.config.settings.api_key 为空,使用 AskUserQuestion 询问用户,拿到后调用 scripts.config.set_api_key(key) 保存
选择工具:根据用户意图从下方工具列表中选择对应的工具函数
提取参数:根据选中的工具,提取该工具需要的参数
调用工具:使用关键字参数调用 scripts.tools 中的函数,例如 scripts.tools.search_schools(score='520', province='北京', category='综合')
返回结果:将工具返回的 raw 数据整理后展示给用户
工具选择规则
根据用户意图选择对应的工具函数:
用户意图 | 工具函数
Use this tool to get prescriptive CDK advice for building applications on AWS.
Args: ctx: MCP context | scripts.tools.CDKGeneralGuidance |
Explain a specific CDK Nag rule with AWS Well-Architected guidance. CDK Nag 是一个确保CDK应用程序遵循AWS安全最佳实践的关键工具。
基本实现:
import { App } from 'aws-cdk-lib';
import { AwsSolutionsChecks } from 'cdk-nag';
const app = new App();
// Create your stack
const stack = new MyStack(app, 'MyStack');
// Apply CDK Nag
AwsSolutionsChecks.check(app);
可选集成模式:
使用环境变量:
if (process.env.ENABLE_CDK_NAG === 'true') {
AwsSolutionsChecks.check(app);
}
使用CDK上下文参数:
```typescript
const environment = app.node.tryGetContext('environment') || 'development';
if (['production', 'staging'].includes(environment)) {
AwsSolutionsChecks.check(stack);
}
获取特定规则包的更多信息:
使用资源 cdk-nag://rules/{rule_pack} 获取特定包的所有规则
使用资源 cdk-nag://warnings/{rule_pack} 获取特定包的警告
使用资源 cdk-nag://errors/{rule_pack} 获取特定包的错误
Args: ctx: MCP context
rule_id: CDK Nag 规则 ID(例如 'AwsSolutions-IAM4')
Returns: 详细说明和修复步骤的字典 | scripts.tools.ExplainCDKNagRule |
DEPRECATED: 此工具已弃用。请使用 AWS IaC MCP Server 代替。
检查CDK代码是否包含需要人工审查的Nag抑制。
扫描TypeScript/JavaScript代码以查找NagSuppressions的使用情况,确保安全抑制得到适当的人工监督和理由。
Args: ctx: MCP context
code: 要分析的CDK代码(TypeScript/JavaScript)
file_path: 包含要分析的CDK代码的文件路径
Returns: 分析结果,包括抑制详细信息和安全指导 | scripts.tools.CheckCDKNagSuppressions |
DEPRECATED: 此工具已弃用。请使用 AWS IaC MCP Server 代替。
从文件生成Bedrock Agent Action Groups的OpenAPI模式。
此工具将包含BedrockAgentResolver的Lambda文件转换为Bedrock兼容的OpenAPI模式。它使用渐进式方法处理常见问题:
直接导入Lambda文件
简化版本,注释掉有问题的导入
如果需要,生成回退脚本
Args: ctx: MCP context
lambda_code_path: 包含BedrockAgentResolver的Python文件路径
app output_path: 生成的模式保存位置
Returns: 包含模式生成结果的字典,包括状态、生成的模式路径和诊断信息(如果发生错误) | scripts.tools.GenerateBedrockAgentSchema |
搜索和发现AWS Solutions Constructs模式。
AWS Solutions Constructs是经过验证的架构模式,结合多个AWS服务以遵循AWS Well-Architected最佳实践来解决常见用例。
主要优点:
加速开发:实现常见模式而无需样板代码
内置最佳实践:安全性、可靠性和性能最佳实践
减少复杂性:多服务架构的简化接口
Well-Architected:模式遵循AWS Well-Architected Framework原则
何时使用Solutions Constructs:
实现常见架构模式(例如API + Lambda + DynamoDB)
您想要自动应用安全默认值和最佳实践
您需要快速原型或构建生产就绪的基础设施
此工具提供模式的元数据。有关完整文档,请使用返回的'documentation_uri'字段中的资源URI。
Args: ctx: MCP context
pattern_name: 特定模式的可选名称(例如'aws-lambda-dynamodb')
services: 可选的AWS服务列表,用于搜索使用它们的模式(例如['lambda', 'dynamodb'])
Returns: 包含模式元数据的字典,包括描述、服务和文档URI | scripts.tools.GetAwsSolutionsConstructPattern |
按名称或类型搜索GenAI CDK构造。
搜索是灵活的,会匹配任何搜索词(OR逻辑)。它处理常见的变体,如单数/复数。