NexyFab 설계 파이프라인(텍스트→2D도안→3D 1차→2차→부품 단위 수정)을 HTTP API, MCP(Claude 등 AI 클라이언트), CLI로 사용할 수 있습니다. AI는 이해만 담당하고 형상 생성·검증(어휘·간섭·지지·구조 게이트)은 결정론 엔진이 수행합니다. 모든 산출물은 비법정(제작용 실시도서+검토 계산서)이며, 인허가 제출 도서는 유자격 기술사 날인 영역입니다.
아래에서 바로 키를 만들고, 목록을 확인하고, 즉시 취소할 수 있습니다. 서버는 키의 해시(sha256)와 표시용 접두만 저장하며, 평문 키는 발급 순간 한 번만 표시됩니다 — 반드시 안전한 곳(비밀번호 관리자·CI 시크릿)에 저장하세요. 분실 시 새 키를 발급하고 기존 키를 취소하면 됩니다.
핵심 엔드포인트(모두 POST · JSON). 응답의 assembly 객체를 다음 호출에 그대로 전달하면 수정 체인이 이어지고, 편집마다 REV 이력이 자동 축적됩니다.
| Endpoint | 기능 |
|---|---|
| /api/nexyfab/drawing/assemble | 자연어 → 다부품 어셈블리(게이트·1차 골격 draft 동봉) |
| /api/nexyfab/drawing/compose | 자연어 → 단일 부품 intent+SCAD |
| /api/nexyfab/drawing/edit-part | 🎯 선택 부품만 AI 수정(대상 외 불변 보장) |
| /api/nexyfab/drawing/face-drag | 면 푸시풀/치수 지정(AI 없음·결정론) |
| /api/nexyfab/drawing/part-op | 복제·삭제·이동·필렛(결정론) |
| /api/nexyfab/drawing/export-step | B-rep STEP 내보내기 |
| /api/nexyfab/drawing/package | 실시 도서 세트(GA·부품도·BOQ·사양서·DXF) |
# Common: send the nf_live_ key as a Bearer token. Responses use {"ok":true, "assembly":{…}, …}.
KEY=nf_live_XXXX ; BASE=https://nexyfab.com/api/nexyfab/drawing
# 1) Create { description } -> { ok, assembly, openscad?, parts?, interferences?, gateErrors? }
curl -s "$BASE/assemble/" \
-H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
-d '{"description":"two cylindrical columns, diameter 200 and height 400, on a 1000x800x20 base plate"}' > r1.json
# 2) AI-edit one part { assembly, partId, instruction } -> { ok, assembly, patch, note, interferences, massKg }
curl -s "$BASE/edit-part/" \
-H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
-d "{\"assembly\": $(jq .assembly r1.json), \"partId\":\"column_1\", \"instruction\":\"set height to 600\"}"
# 3) Set face dimensions directly (deterministic · no AI) face: x±/y±/z± (box) · axis±/radial (revolved)
curl -s "$BASE/face-drag/" \
-H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
-d '{"assembly": {…}, "partId":"column_1", "face":"axis+", "targetMm":600}'
# 4) Batch part operations (deterministic) op: delete|duplicate|translate|fillet · partIds[] · opts
curl -s "$BASE/part-op/" \
-H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
-d '{"assembly": {…}, "op":"duplicate", "partIds":["column_1"], "opts":{"offset":[300,0,0]}}'
# 5) Deliverable document set { assembly, options? } -> { ok, files, structural, interferences, welds }
curl -s "$BASE/package/" \
-H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
-d '{"assembly": {…}, "options":{"title":"column assembly","withStep":true}}'엔지니어링 계산 API(빔·용접·볼트 등)는 별도 게이트로 검증되어 있으며 응답에 근거식·중간값을 함께 반환합니다. 형상 API 와 동일한 Bearer 키를 사용합니다.
단일 파일 원격 MCP 서버는 Node 18+에서 의존성 없이 실행되며, 실제 tools/list에 정확히 15개를 노출합니다: design_assembly · compose_part · edit_part · face_drag · part_op · domain_design · analyze_fea · reconstruct_verify · reconstruct_fleet · code_check · verify_domain · interior_check · landscape_check · bridge_check · load_path. 일부 검증 도구는 키 없이 동작하고, 생성·수정·FEA·역설계 계열은 Pro API 키가 필요합니다. 저장소의 로컬 MCP(scripts/drawing-to-3d/mcp-server.mjs)는 별도 제품 표면으로 92개 도구를 노출하며 로컬 전용과 원격 전용 도구가 섞여 있으므로 각 tools/list의 이름·스키마를 기준으로 사용하세요.
# 1) Download the MCP server
curl -sL https://nexyfab.com/downloads/nexyfab-mcp.mjs -o ~/nexyfab-mcp.mjs
# 2) Register with Claude Code (issue the API key in panel 0 above; absolute path required)
claude mcp add nexyfab -e NEXYFAB_API_KEY=nf_live_XXXX -- node /absolute/path/nexyfab-mcp.mjs
# 3) Verify registration
claude mcp list
# 4) Then ask Claude in natural language:
# "Build an assembly with two columns on a 1000x800 base using nexyfab, then set column_1 height to 600"⚠ 위 -e 방식은 간단하지만 키가 셸 기록에 남습니다. 공용 장비에서는 등록 후 기록을 지우거나, 키를 새로 발급해 두세요(위 0번 패널에서 즉시 폐기·재발급됩니다). 등록이 안 되면 먼저 절대경로를 의심하세요 — ~ 가 확장되지 않는 환경이 있습니다.
Claude Desktop 은 claude_desktop_config.json 의 mcpServers 에 동일하게 {"command":"node","args":["/absolute/path/nexyfab-mcp.mjs"],"env":{"NEXYFAB_API_KEY":"nf_live_XXXX"}} 를 추가하면 됩니다.
신규 하드 능력 4종(웹과 동일): analyze_fea(간이 FEA — 구조 선형정적만, scad+재료+하중. 열/모달/열탄성은 이 도구로 불가) · reconstruct_verify(검증된 역설계 — STL/STEP/DWG/SAT를 재구성 게이트로 bbox·genus·watertight 대조) · reconstruct_fleet(AI 재구성 함대 — 다모델 파라메트릭 SCAD, Pro·비용) · code_check(코드체크/감리 — 공개 법령 조항 인용 PASS/FAIL/NA). 앞 3종은 원격 전용(NEXYFAB_API_KEY 필요 — 서버 OpenSCAD/gmsh/OCCT·LLM 사용, 키 없으면 명시적 거부), code_check 는 로컬·오프라인(순수 결정론 룰셋). 모두 비법정(엔지니어링급 스크리닝·결정론 감리 보조 — 상세 해석·법정 감리는 유자격 전문가 몫).
분야 검증 체인 5종(웹과 동일·공개 라우트 — API 키 없이도 동작): verify_domain(5분야 공학 계산기 — 형상 파생 단면·경간 + 하중/재료로 실제 계산, 인용 조항 동봉) · interior_check(피난 보행거리 BFS+수용인원+마감 물량) · landscape_check(목재 부재+풍하중 전도) · bridge_check(거더/아치/트러스/사장/현수/계단 자동 디스패치) · load_path(슬래브→보→기둥→기초 하중경로). 전부 결정론 — 하중·값을 지어내지 않고 누락 시 needInputs. 비법정(유자격 기술사·건축사 최종 책임).
저장소의 scripts/drawing-to-3d/cli.mjs 는 MCP와 동일한 도구면을 명령행으로 제공합니다(로컬 엔진 실행 — 저장소 보유 시). NEXYFAB_API_KEY 를 설정하면 생성·수정 5종은 호스팅 API 로 호출됩니다(원격 모드). 파이프에 물리면 순수 JSON, 터미널에선 요약 라인이 함께 출력됩니다.
cd scripts/drawing-to-3d # local engine when the repository is available
export NEXYFAB_API_KEY=nf_live_XXXX # with a key, five create/edit commands use hosted API; unset = local
node cli.mjs assemble "two columns on a 1000x800x20 base plate" --out asm.json # text → assembly
node cli.mjs build asm.json # deterministic rebuild and gate summary
node cli.mjs edit-part asm.json column_1 "set height to 600" --out asm.json # AI part edit
node cli.mjs face-drag asm.json column_1 --face axis+ --target 600 --out asm.json # face dimension (deterministic)
node cli.mjs part-op asm.json --op duplicate --ids column_1 --offset 300,0,0 --out asm.json
node cli.mjs step asm.json --out model.step # B-rep STEP export
node cli.mjs preview asm.json --out ./png --views iso,side,top # headless render → PNG
node cli.mjs package asm.json --out ./docs --step # GA · parts · BOQ · spec · DXF · STEP
node cli.mjs domain civil "retaining wall H=3m length 200m" --out pkg.json # multi-domain (remote only — key required)
node cli.mjs templates bridge # list domain templates
node cli.mjs fea asm.json --load 500 --material steel # quick FEA (remote — hosted OpenSCAD/gmsh)
node cli.mjs reconstruct part.stl # verified reverse engineering (remote — reconstruction gate)
node cli.mjs fleet part.stl # AI reconstruction fleet (remote + Pro/budget)
node cli.mjs codecheck features.json # code-check/audit 41 rules (local/offline/keyless)
node cli.mjs interior asm.json # interior egress/finishes chain (local)
node cli.mjs landscape asm.json # landscape timber/wind-load (local)
node cli.mjs bridge asm.json # bridge review (meta auto-dispatch/local)
node cli.mjs loadpath asm.json # building load-path chain (local) | --list use table
node cli.mjs list # list all tools and commands파이프에 물리면 순수 JSON(기계 파싱), 터미널에선 통과/거부 요약 라인이 함께 나옵니다(--raw 로 순수 강제). loft·constraints·dossier·domain 등 추가 명령은 cli.mjs 헤더 주석과 list 출력에 정리되어 있습니다.
AI 생성 계열은 플랜 슬롯·일일 비용 한도를 따릅니다(결정론 연산인 face-drag·part-op 는 슬롯 미소모, 레이트리밋만). 게이트가 거부하면 형상을 조용히 바꾸지 않고 이유와 함께 422로 거부합니다. 자유곡면(mesh)은 생성기 파라미터 재생성으로만 수정됩니다(정점 직접 수정 비지원 — 제작 추적성).