Skip to main content
Glama

cloudcraft-mcp

CI License: MIT Python 3.10+

Cloudcraft.co를 위한 Model Context Protocol (MCP) 서버 — Claude Desktop 및 기타 MCP 클라이언트에서 클라우드 아키텍처 청사진을 나열, 읽기, 내보내기 및 구축할 수 있습니다.

기능

MCP 호스트에 노출되는 9가지 도구:

도구

설명

whoami

구성된 키에 대한 Cloudcraft 사용자 프로필을 반환합니다.

list_blueprints

계정의 모든 청사진을 나열합니다.

get_blueprint

청사진의 전체 노드 / 엣지 JSON을 가져옵니다.

create_blueprint

JSON 페이로드에서 새 청사진을 생성합니다.

update_blueprint

기존 청사진의 페이로드를 교체합니다.

delete_blueprint

청사진을 삭제합니다 (복구 불가).

export_blueprint_image

청사진을 디스크에 PNG / SVG / PDF / mxgraph로 렌더링합니다.

list_aws_accounts

라이브 스캔 스냅샷을 위해 연결된 AWS 계정을 나열합니다.

snapshot_aws

하나의 AWS 서비스에 대한 라이브 스캔 스냅샷을 찍습니다.

Related MCP server: AWS MCP Server

요구 사항

설치

저장소를 복제하고 첫 실행 시 uv가 종속성을 해결하도록 하세요 — 별도의 명시적인 설치 단계는 필요하지 않습니다.

git clone https://github.com/hypark5540/cloudcraft-mcp.git
cd cloudcraft-mcp
export CLOUDCRAFT_API_KEY='your-key-here'
uv run cloudcraft-mcp   # smoke test — Ctrl+C to exit

Claude Desktop 통합

~/Library/Application Support/Claude/claude_desktop_config.json (macOS) 또는 사용 중인 플랫폼의 해당 파일을 편집하세요:

{
  "mcpServers": {
    "cloudcraft": {
      "command": "uv",
      "args": [
        "--directory",
        "/absolute/path/to/cloudcraft-mcp",
        "run",
        "cloudcraft-mcp"
      ],
      "env": {
        "CLOUDCRAFT_API_KEY": "your-key-here"
      }
    }
  }
}

Claude Desktop을 다시 시작하세요. 개발자 탭에 cloudcraft가 연결된 것으로 표시되어야 합니다.

환경 변수

이름

필수

기본값

목적

CLOUDCRAFT_API_KEY

API 키 (Bearer). Cloudcraft 사용자 설정에서 생성.

CLOUDCRAFT_BASE_URL

아니요

https://api.cloudcraft.co

프록시 또는 향후 API 버전을 위한 재정의.

CLOUDCRAFT_LOG_LEVEL

아니요

WARNING

Stderr 로그 상세 수준 (DEBUG / INFO / WARNING / ERROR).

사용 예시 (Claude에서)

서버가 연결되면 Claude에게 다음과 같이 질문하세요:

"내 Cloudcraft 청사진을 나열하고 각각이 무엇을 나타내는지 요약해 줘."

"청사진 f0086b32-...를 PNG로 내보내서 내 바탕 화면에 저장해 줘."

"내가 방금 설계한 아키텍처를 가져와서 'Prod 2026'이라는 새 Cloudcraft 청사진을 만들어 줘."

"내 연결된 AWS 계정의 ap-northeast-2에 있는 EC2 인스턴스 스냅샷을 찍어 줘."

청사진 페이로드 형태

create_blueprint / update_blueprint는 전체 Cloudcraft data 객체를 허용합니다. 최소 페이로드:

{
  "grid": "infinite",
  "projection": "isometric",
  "theme": {"base": "light"},
  "version": 6,
  "nodes": [
    {"id": "...", "type": "ec2", "mapPos": [3, 3], "region": "ap-northeast-2",
     "instanceType": "m7g", "instanceSize": "large", "platform": "linux"},
    {"id": "...", "type": "s3",  "mapPos": [1, 8], "region": "ap-northeast-2",
     "volumeType": "Standard", "dataGb": 100}
  ],
  "edges": [
    {"from": "...ec2-id...", "to": "...s3-id...", "type": "edge",
     "width": 2, "dashed": false, "endCap": "arrow"}
  ],
  "groups": [], "surfaces": [], "text": [], "icons": [],
  "connectors": [], "images": [], "disabledLayers": [],
  "shareDocs": false
}

전체 노드 유형 카탈로그 및 서비스별 필드는 Cloudcraft API 문서를 참조하세요.

개발

uv sync --extra dev
uv run pytest            # unit tests (no network)
uv run ruff check .      # lint
uv run mypy src          # type check

테스트는 respx를 사용하여 HTTP 계층을 모의하므로 API 키가 필요하지 않습니다.

프로젝트 레이아웃

cloudcraft-mcp/
├── src/cloudcraft_mcp/
│   ├── __init__.py
│   ├── __main__.py         # python -m cloudcraft_mcp
│   ├── server.py           # MCP tool definitions (FastMCP)
│   ├── client.py           # CloudcraftClient — async httpx wrapper
│   ├── types.py            # TypedDicts for blueprint payloads
│   └── py.typed
├── tests/
│   └── test_client.py
├── server.py               # back-compat shim -> cloudcraft_mcp.server:main
├── pyproject.toml
├── LICENSE
└── README.md

설계 참고 사항

  • 전송 / 로직 분리. client.py는 MCP 런타임을 가져오지 않고도 스크립트나 CLI 도구에서 가져올 수 있는 일반 비동기 HTTP 클라이언트입니다. server.py는 MCP 도구 인터페이스만 담당합니다.

  • Bearer 토큰 인증. Cloudcraft의 API는 Authorization: Bearer <key> (Apikey 아님)를 기대합니다. 클라이언트가 이를 자동으로 설정합니다.

  • 프로세스 인수에 비밀 정보 없음. API 키는 CLOUDCRAFT_API_KEY에서 읽어오며, 명령줄에서 절대 전달하지 마세요.

  • 오류 표면. 2xx가 아닌 응답은 상태와 본문이 보존된 CloudcraftError를 발생시키며, Claude가 읽을 수 있는 메시지를 볼 수 있도록 MCP 경계에서 RuntimeError로 다시 래핑됩니다.

보안

  • API 키는 Cloudcraft 계정에 대한 전체 읽기/쓰기 권한을 부여합니다. 비밀로 취급하고 정기적으로 교체하세요.

  • delete_blueprint는 복구할 수 없습니다. Claude에게 삭제를 요청할 때는 대상 ID를 명확히 하세요.

  • 읽기 위주의 설정인 경우, 전용 Cloudcraft 사용자를 생성하여 읽기 전용 범위를 지정하고(Cloudcraft가 범위 지정 키를 추가하는 경우) 해당 키를 MCP에 사용하세요.

기여

이슈와 PR은 https://github.com/hypark5540/cloudcraft-mcp에서 환영합니다. 제출하기 전에 ruff, mypy, pytest를 실행해 주세요.

라이선스

MIT — LICENSE를 참조하세요.

관련 항목

Install Server
A
license - permissive license
A
quality
A
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Enables Claude to interact with core AWS services like S3, EC2, RDS, and CloudWatch, along with a generic SDK wrapper for any AWS operation. It also supports cost monitoring and optional vector store capabilities for document ingestion and search.
    10
    3
    The Unlicense
  • A
    license
    B
    quality
    D
    maintenance
    Enables Claude Desktop to interact with 57 AWS services using over 200 tools and local machine profiles. It supports multi-profile configurations and features a read-only safe mode by default to manage infrastructure like EC2, S3, and Lambda securely.
    100
    BSD 3-Clause
  • A
    license
    A
    quality
    D
    maintenance
    Enables browsing S3 buckets and objects, and generating secure presigned URLs for downloads and uploads, through natural language commands in MCP clients like Claude Desktop.
    3
    10
    3
    MIT

View all related MCP servers

Related MCP Connectors

  • Hosted Amazon Seller Central and Amazon Ads MCP server for Claude, ChatGPT, Cursor, and agents.

  • Hosted Amazon Seller and Vendor MCP server for Claude, ChatGPT, Cursor, Codex, Gemini, Copilot.

  • OCR, transcription, file extraction, and image generation for AI agents via MCP.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/hypark5540/cloudcraft-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server