AWS架构图生成器

ArchMCP是一款基于自然语言描述生成AWS架构图的工具,支持PowerPoint和Draw.io格式输出。

  • by devgvi
  • Python
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 devgvi/ArchMCP

使用说明

ArchMCP-AWS架构图生成器

MCP服务器,用于根据自然语言描述生成AWS架构图。

PowerPoint生成器

kiro-cli chat
> Generate a PowerPoint with the icons for EC2, S3, and Lambda

> Generate a PowerPoint with the icons for a web application with:
> - Application Load Balancer
> - EC2 Auto Scaling
> - RDS database
> - ElastiCache

Draw.io生成器

kiro-cli chat
> Create a draw.io diagram with VPC, subnets, and NAT gateway

> Generate a draw.io architecture for a serverless application using:
> - API Gateway
> - Lambda functions
> - DynamoDB
> - S3 bucket

项目结构

ArchMCP/
├── .venv/                  # Shared Python virtual environment
├── ArchMCP-Common/         # Shared code (Bedrock analyzer, search logic)
├── ArchMCP-Ppt/           # PowerPoint generator MCP server
└── ArchMCP-Drawio/        # Draw.io generator MCP server (coming soon)

快速开始

1.设置(一次)

cd /path/to/ArchMCP

# Create and activate virtual environment
python3 -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

# Install dependencies for PowerPoint
cd ArchMCP-Ppt
pip install -r requirements.txt

2.配置AWS

aws configure
# Enter your AWS Access Key, Secret Key, and region

3.配置基岩(可选)

编辑 ArchMCP-Ppt/config/bedrock_config.yaml 或 ArchMCP-Drawio/config/bedrock_config.yaml:

bedrock:
  # Model to use for architecture analysis
  model_id: "us.anthropic.claude-sonnet-4-20250514-v1:0"
  
  # AWS region for Bedrock
  region: "us-east-1"
  
  # Icon selection mode
  # "llm" - Use Bedrock for icon selection (more accurate, slower, more costly)
  # "local" - Use local semantic search (faster, cheaper)
  icon_selection_mode: "llm"
  
  # Number of top matching icons to return per service (default: 3)
  top_k_icons: 3
  
  # Generation parameters
  temperature: 0.1
  max_tokens: 4000

关键参数:

  • top_k_icons:控制每次服务返回多少个图标匹配(建议1-10个)
  • icon_selection_mode:在基于LLM或本地搜索图标匹配之间进行选择
  • model_id:用于架构分析的Claude模型
  • region:Bedrock可用的AWS区域

4.使用PowerPoint生成器

看 ArchMCP Ppt/README.md 详细说明。

快速测试:

cd ArchMCP-Ppt
python ui_interface.py
# Open http://localhost:5000

5.与Kiro CLI一起使用

添加到 ~/.kiro/settings/mcp.json:

{
  "mcpServers": {
    "aws-arch-ppt": {
      "command": "/path/to/ArchMCP/.venv/bin/python",
      "args": ["/path/to/ArchMCP/ArchMCP-Ppt/server.py"]
    },
    "aws-arch-drawio": {
      "command": "/path/to/ArchMCP/.venv/bin/python",
      "args": ["/path/to/ArchMCP/ArchMCP-Drawio/server.py"]
    }
  }
}

组件

ArchMCP通用

两台服务器使用的共享库:

  • bedrock_analyzer.py -AWS基岩集成用于AI驱动的服务提取
  • enhanced_search.py -语义搜索和图标匹配

ArchMCP Ppt

PowerPoint演示文稿生成器:

  • 800+AWS架构图标
  • 关键词和描述方式
  • 用于测试的Web UI
  • 用于Kiro CLI集成的MCP服务器

ArchMCP绘图

Draw.io图表生成器:

  • AWS服务到Draw.io形状映射
  • 与PPT相同的输入模式
  • draw.io的XML输出格式
  • 用于Kiro CLI集成的MCP服务器

发展

为了方便起见,所有项目共享相同的虚拟环境:

# Activate once
source .venv/bin/activate

# Work on PowerPoint
cd ArchMCP-Ppt
python ui_interface.py

# Work on Draw.io (when ready)
cd ../ArchMCP-Drawio
python ui_interface.py

许可证

有关许可信息,请参阅各个项目文件夹。