cdk-agent-mcp-server
MCP server that generates, validates, and deploys AWS CDK infrastructure from natural language.
Delegates to AWS MCP servers for validation, documentation, and pricing — no duplicate tooling.
Architecture
cdk-agent-mcp-server (stdio)
├── clarify_requirements → Bedrock (requirements gathering before design)
├── design_architecture → AWS IaC MCP (search_cdk_documentation)
├── confirm_plan → Bedrock (human/agent approval gate)
├── generate_cdk_stack → AWS IaC MCP (search_cdk_documentation + search_cdk_samples_and_constructs)
├── validate_and_repair → real cdk synth + AWS IaC MCP (validate_cloudformation_template + check_cloudformation_template_compliance)
├── estimate_cost → AWS Pricing MCP (get_pricing + generate_cost_report)
├── lookup_cdk_construct → AWS IaC MCP (search_cdk_documentation + search_cdk_samples_and_constructs + cdk_best_practices)
├── troubleshoot_deployment → AWS IaC MCP (troubleshoot_cloudformation_deployment)
├── deploy_stack → real cdk deploy (requires approved=true)
├── destroy_stack → CloudFormation DeleteStack (requires approved=true)
├── generate_diagram → local Mermaid generation
└── full_pipeline → orchestrates all of the above
HITL (Human-in-the-Loop) Flow
User/Agent describes intent
│
▼
clarify_requirements → returns structured questions + defaults
│
▼
User/Agent answers (or accepts defaults)
│
▼
design_architecture → generates plan using enriched context
│
▼
confirm_plan → summarizes plan for approval (services, cost tier, security)
│
▼
User/Agent approves (or modifies)
│
▼
generate_cdk_stack → validate_and_repair → estimate_cost → deploy_stack
Prerequisites
- Python 3.10+, Node.js 18+ (for cdk synth/deploy),
uvinstalled - AWS CLI configured, Bedrock Claude Sonnet 4 enabled
Install
{
"mcpServers": {
"ict-mcp-server": {
"command": "uvx",
"args": ["ict-mcp-server"],
"env": { "AWS_REGION": "us-east-1" }
}
}
}
Works with Kiro (~/.kiro/settings/mcp.json), Cursor (.cursor/mcp.json), Claude Code (claude mcp add), Amazon Quick Desktop (Settings → Capabilities → MCP).
Agent
| Task | Delegates To | What It Does |
|---|---|---|
clarify_requirements |
Bedrock + Knowledge MCP | NL → structured clarifying questions with defaults |
full_pipeline |
All below | End-to-end: describe → clarify → plan → confirm → diagram → CDK → validate → costs |
design_architecture |
IaC MCP search_cdk_documentation |
NL + requirements → architecture plan JSON |
confirm_plan |
Bedrock | Plan → human-readable summary for approval |
generate_cdk_stack |
IaC MCP search_cdk_documentation + search_cdk_samples_and_constructs |
Plan → CDK TypeScript |
validate_and_repair |
cdk synth + IaC MCP validate_cloudformation_template + check_cloudformation_template_compliance |
Validate + auto-repair loop |
estimate_cost |
Pricing MCP get_pricing + generate_cost_report |
Real AWS pricing data |
lookup_cdk_construct |
IaC MCP search_cdk_documentation + search_cdk_samples_and_constructs + cdk_best_practices |
CDK docs + samples + best practices |
deploy_stack |
cdk deploy |
Real deployment (requires approved=true) |
destroy_stack |
CloudFormation DeleteStack |
Delete stack (requires approved=true) |
troubleshoot_deployment |
IaC MCP troubleshoot_cloudformation_deployment |
Root cause analysis for failed deploys |
generate_diagram |
Local | Architecture plan → Mermaid diagram |
What We Don't Reimplement
| Capability | Provided By |
|---|---|
| cfn-lint (template validation) | AWS IaC MCP Server |
| cfn-guard (compliance checking) | AWS IaC MCP Server |
| CDK documentation search | AWS IaC MCP Server |
| CDK code samples | AWS IaC MCP Server |
| CDK best practices | AWS IaC MCP Server |
| Deployment troubleshooting | AWS IaC MCP Server |
| AWS service pricing | AWS Pricing MCP Server |
| Cost report generation | AWS Pricing MCP Server |
Our server only implements: architecture planning (Bedrock), CDK code generation (Bedrock), Mermaid diagrams (local), cdk synth/deploy (subprocess), and the orchestration glue.
Metadata
Release files for ict-mcp-server 0.5.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| ict_mcp_server-0.5.1.tar.gz | 61.1 kB | Without provenance | Details for ict_mcp_server-0.5.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| ict_mcp_server-0.5.1-py3-none-any.whl | Python 3 | none | any | Details for ict_mcp_server-0.5.1-py3-none-any.whl |
Total release size: 72.4 kB
Release files / ict_mcp_server-0.5.1.tar.gz
| Download URL | ict_mcp_server-0.5.1.tar.gz |
|---|---|
| Size | 61.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b3f5ebd0d71f2e29fab63c84b1616e1a132079dc6d0a169e46e47fc86ce79699
|
|
BLAKE2b-256 checksum How to use checksums |
fa2f72dfd3f3e221665200f1b59f187959e2154a0a218b80e6fab5116d6beeb0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.11
|
Release files / ict_mcp_server-0.5.1-py3-none-any.whl
| Download URL | ict_mcp_server-0.5.1-py3-none-any.whl |
|---|---|
| Size | 11.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
95a1619a8f392479e2e993ba81f2b4ca5ddf3d5c6ea6a84979931f3145260bb8
|
|
BLAKE2b-256 checksum How to use checksums |
0fb44d13ee81ce82bb06636792fb25ff8810f08dd5c4e104c1004e1a1ebf91c7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.11
|
Security for ict-mcp-server 0.5.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.