DatumGuard MCP Server
The DatumGuard MCP server provides an end-to-end engineering design assurance pipeline for drafting, validating, generating, verifying, repairing, comparing, and exporting CAD designs across architecture, piping, and plate domains — ensuring only independently verified drawings are approved.
design_contract_draft– Draft a structured design contract from raw input without inferring ambiguous numbers or units.design_contract_validate– Normalize and validate a design contract to ensure it is well-formed and ready for deterministic DXF generation.drawing_generate– Generate an unverified R2013 DXF file and SVG preview from a validated design contract.drawing_verify– Independently re-read and remeasure a serialized DXF (as base64) against the contract's targets, tolerances, and constraints — completely separate from the writer.repair_propose– When verification fails, propose bounded corrections targeting only declared free parameters (e.g., column centers, opening offsets) via CP-SAT optimization, without touching locked dimensions.repair_apply– Apply an accepted repair proposal to the contract while enforcing locked/free parameter policies.drawing_compare– Compare two contract revisions side-by-side by public dimension and feature IDs (samedesign_kindonly).export_bundle– Regenerate the design, run independent verification, and write an approved bundle (DXF + SVG + DO NOT SCALE PDF + verification JSON) locally — only if verification passes.rhino_preview– Report Rhino preview availability as optional secondary evidence only; does not replace official DXF-based verification.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@DatumGuard MCP ServerValidate the piping contract for route R-101"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
DatumGuard
CAD가 생성됐다는 사실은, 치수가 맞다는 증거가 아닙니다.
CAD command success is not accuracy evidence.
DatumGuard는 요구사항을 versioned contract로 잠그고 저장된 DXF·STEP을 다시 열어 재측정한 뒤, 검증된 파일만 내보내는 오픈소스 Engineering Design Assurance 도구입니다. Fail-closed verification for AI-assisted CAD workflows.
검증된 Frame 실행 → · 60초 Case Study → · v0.4.0 release evidence → · Benchmark 재현 →
Safety boundary: FrameGuard는 제한된 2D 선형 탄성 frame의 초기 screening이며 구조 안전 인증이나 전문 구조 검토를 대체하지 않습니다.
/openbim은research_validation_only=true,approval_eligible=false인 합성 연구 preview입니다.
Related MCP server: Construction ISO 19650 (UK BIM) MCP
60초 요약
핵심 | |
문제 | 자연어·폼에서 CAD가 생성되어도 저장 파일의 실제 치수, datum, 공차가 요구조건과 같다는 보장은 없습니다. |
방법 | 요구를 versioned contract로 고정하고, writer와 분리된 reader가 serialized DXF 또는 STEP을 다시 열어 측정합니다. 모든 필수 검사가 통과할 때만 bundle을 활성화합니다. |
증거 | v0.4.0 release는 413 pytest, 41 Playwright, 15-page build, container/SBOM와 security gate를 통과합니다. 실제 Rhino 8·Grasshopper source에서 6개 GUID의 provenance를 DXF XDATA까지 보존했고, DXF completeness gate는 지원하지 않는 내용을 동일 형상으로 주장하지 않습니다. 정확한 run·deployment ID는 release notes에 고정합니다. |
한계 | 구조·안전·법규·산업표준 적합성이나 범용 3D를 인증하지 않습니다. FrameGuard는 제한된 2D 선형 탄성 frame의 초기 screening이며 전문 구조 검토를 대체하지 않습니다. 3D는 세 가지 제한형 solid family의 STEP 기하 검증만 local/CI에서 지원하며, 공개 Render Free API에서는 비활성입니다. OpenBIM 결과도 합성 연구 evidence일 뿐 제작·시공 승인이 아닙니다. 100개 golden contract + 자연어 50개 benchmark는 계획 단계입니다. |
결과 | 재현 fixture | 승인 게이트 |
PASS | CAD 경로는 독립 재측정 후 bundle 승인, FrameGuard는 screening PASS evidence 생성 | |
FAIL | violation을 반환하고 CAD bundle 또는 frame screening PASS 차단 |
중요: PDF 미리보기는
DO NOT SCALE입니다. 2D 설계의 검증된 bundle에 포함된 DXF만 제작 기준 파일이며,/intake의 외부 파일 감사 결과는 informational evidence로서 제작 승인이 아닙니다.

공개 Architecture 데모 열기 → · 실행·재현 가이드 보기 →
이미지의 재현 절차와 화면 계약은 Architecture Demo Guide에 고정되어 있습니다. Architecture, Piping, Plate는 저장된 DXF evidence가 통과해야만 bundle을 활성화합니다. 제한형 Solid은 같은 원칙을 STEP에 적용하지만 local/CI 전용이고, /intake는 외부 CAD 산출물을 변경하지 않고 감사합니다.
Engineering domains
분야 | Route | 검증 예시 |
Architecture |
| wall 폐합·연결, opening, grid/column, room area |
Plant / Semiconductor Piping |
| route 연결·직교성, valve/support 위치, equipment clearance |
Structural Frame Screening — v0.4.0 production |
| Rhino/GH source GUID→2D exact solver→DXF semantic 재개봉 gate→surrogate triage |
Mechanical / Ship Plate |
| hole/slot/cutout, edge distance, ligament, overlap |
3D Solid Part — local/CI, hosted run disabled |
| 세 family의 OpenCascade B-rep, bbox, topology, hole/bore diameter와 axis |
Existing CAD Artifact |
| DXF support matrix·completeness gate, STEP·IFC 구조 감사와 revision compare |
OpenBIM Evidence — public research UI, hosted run disabled |
| IFC4+IDS 정보요구조건, IFC integrity, project AABB clearance, protected revision |
세부 범위와 분야별 비목표는 Engineering Domains에 정리되어 있습니다.
FrameGuard structural screening

FrameGuard는 Rhino 8/Grasshopper가 추출한 centerline·support·load·section metadata를 명시적
unit/datum과 함께 mm contract로 정규화합니다. datumguard_numpy_2d_frame_v1이 변위·반력·member
end force·combined stress를 계산하고, 별도 reader가 serialized R2013 DXF를 다시 열어 좌표·단위·datum을
0.001 mm gate로 검증합니다. 둘 중 하나라도 실패하면 공식 screening PASS와 DXF download를
차단합니다. 상세 교환 계약은 Rhino/GH + DXF Guide에 있습니다.

실제 Rhino 8 + Grasshopper + Cordyceps 실행에서 6개 Rhino GUID → contract entity → DXF
XDATA provenance를 보존하고, DXF 내부의 전체 semantic contract를 독립 재개봉해
0.0 mm endpoint 편차로 통과시켰습니다. 원본
Grasshopper document,
exchange JSON,
verification result,
evidence ZIP을 그대로 재현할 수 있습니다.
이 bundle의 역할은 geometry_evidence이며 안전 인증이나 시공 승인이 아닙니다.
독립 검증 evidence로 genuine openseespy==3.8.0.0 해석과 6개 사례를 비교해 6/6 parity
PASSED를 기록했습니다. solver-labeled 90-case topology holdout에서는 3-seed PyG ensemble의
GraphSAGE가 displacement MAE 0.6274 mm/R² 0.8049, utilization MAE 0.03718/R² 0.7327,
GAT가 각각 0.6512 mm/0.7924, 0.02944/0.8065를 기록했습니다. 이 수치는 합성
pipe-rack family의 연구 결과이며 안전 인증이 아닙니다. surrogate는 PREDICTED 또는
REVIEW_REQUIRED만 반환하고, 공식 PASS는 계속 exact solver와 DXF gate가 결정합니다.
OpenSees parity, PyG benchmark와 uncertainty gate,
ridge historical baseline에 원본 수치와 한계를 공개합니다.
/frame과 FrameGuard assurance API/MCP는 v0.4.0 production 범위입니다. v0.4.0은 실제 Rhino/Grasshopper round-trip evidence와 one-stepframe_rhino_roundtripAPI/MCP를 더했으며, 결과는 여전히 구조 안전 인증이 아닌 초기 screening입니다. 정확한 CI·배포·strict smoke ID는 release evidence에 고정합니다.
OpenBIM Evidence Guard research preview
protocol-v1에서 동결한 합성 Virtual FAB evaluation 30 case를 실행했다. 120 candidate record와
1,200 measured engine run에서 engine error 0, canonical payload 10/10 일치를 기록했다. 수정 후 Full
pipeline은 TP/FP/FN 330/0/0, clean·authorized false positive 0, engine p95 1,876.222ms였다.
최초 집계에서 발견한 evaluator 구현 오류 2건은 detector를 재실행하지 않고 보존 raw
sha256:58dcf7dc...에서 analysis-v1.0.2로 재분석했다. 사전등록하지 않은 zero-support 처리의
supported-rule macro-F1은 별도 post-freeze sensitivity로만 남겨 두 가설을 NOT_CONCLUSIVE로
표시했다. 전체 provenance, 수정 전후 수치와 한계는
BIM Awards 2026 연구 evidence에 공개한다. BCF 독립 viewer,
배포 license와 production smoke는 아직 gate가 열려 있으므로 BCF 또는 실사업장 성능을 핵심 성과로
주장하지 않는다.
Plant / Semiconductor Piping demo

재현 절차와 브라우저 계약은 Piping Demo Guide에 고정되어 있습니다.
3D STEP solid demo

Mounting plate, angle bracket, flange만 생성합니다. STEP writer와 격리된 OpenCascade process의 재입력·측정은 local/CI에서 통과하지만 공개 Render Free API의 실행 endpoint는 메모리 안전을 위해 503 DG_CAPABILITY_DISABLED로 닫혀 있습니다. 상세 contract·측정·Rhino 8 왕복 검증은 3D Solid STEP Assurance에 기록되어 있습니다. 외부 CAD 파일은 Artifact Lab Guide의 /intake에서 검사합니다.
Assurance pipeline
flowchart LR
UI["DesignContract<br/>form + confirmed intent"] --> CORE["Canonical geometry<br/>DXF writer"]
CORE --> DXF["Serialized R2013 DXF<br/>layers + XDATA"]
DXF --> VERIFY["Independent reader<br/>remeasure + constraints"]
VERIFY -->|passed| GATE["Approval gate"]
VERIFY -->|repairable| REPAIR["Bounded repair<br/>free parameters only, max 3"]
REPAIR --> CORE
GATE --> BUNDLE["DXF · SVG · DO NOT SCALE PDF<br/>verification JSON"]Writer의 메모리 형상은 verifier로 전달되지 않습니다. Verifier는 직렬화된 DXF를 별도로 다시 읽고, 실제 측정값이 계약의 target·tolerance·constraint를 통과했을 때만 공식 bundle을 승인합니다.
제한형 3D 경로도 SolidPartContract → OpenCascade STEP writer subprocess → 별도 OpenCascade re-import process → approval gate로 writer와 verifier의 데이터 경로를 분리합니다. 이는 mounting plate, angle bracket, flange의 저장 STEP 기하 일치만 검증하며 범용 3D, assembly, 구조·압력·피로·재료·가공성 해석은 범위 밖입니다.
핵심 원칙
폼 입력을
DesignContract의 source of truth로 사용합니다.DXF writer와 verifier는 분리되어 있으며 verifier는 직렬화된 DXF를 재측정합니다.
locked치수와 datum은 자동수정하지 않습니다.공차·필수 제약을 모두 통과한 경우에만 공식 ZIP bundle을 만듭니다.
Rhino 결과는 선택적 secondary evidence일 뿐 공식 판정을 대체하지 않습니다.
빠른 시작
요구 사항은 Python 3.12+와 Node.js 20+입니다.
python -m venv .venv
# Windows: .venv\Scripts\activate
# macOS/Linux: source .venv/bin/activate
pip install -e ".[dev]"
datumguard-api다른 터미널에서 웹을 실행합니다.
cd web
npm ci
npm run dev브라우저에서 다음 경로를 엽니다.
http://localhost:3000/case-study: 60초 product case studyhttp://localhost:3000/: Interactive Architecture demohttp://localhost:3000/piping: Plant/Semiconductor Utility Piping demohttp://localhost:3000/frame: Structural Frame Screening demohttp://localhost:3000/plate: 샘플 플레이트 설계·검증http://localhost:3000/solid: 3D solid STEP 생성·독립 재입력http://localhost:3000/intake: 외부 DXF·STEP·IFC 감사·revision 비교http://localhost:3000/openbim: IFC4·IDS 연구 검증과 JSON/HTML, 선택적 BCF evidence exporthttp://localhost:8000/docs: FastAPI 문서
Docker 실행
docker compose up --buildWeb:
http://localhost:3000API:
http://localhost:8000Health:
http://localhost:8000/api/v1/healthReadiness:
http://localhost:8000/api/v1/ready
공개 배포
현재 공개 배포는 아래 주소에서 바로 사용할 수 있습니다.
Product Case Study: /case-study
Architecture: web root
Plant / Semiconductor Piping: /piping
Structural Frame Screening: /frame
Mechanical / Ship Plate: /plate
3D Solid STEP UI: /solid — UI·schema는 공개되지만 실행은 local/CI 기능이며 현재 Render Free API에서는 메모리 안전을 위해 비활성
CAD Artifact Lab: /intake
OpenBIM Research Preview: /openbim — UI와 동결 evidence는 공개되지만 Render 실행 capability는 비활성
/openbim은 production URL에서 조회할 수 있지만 hosted API 실행은 비활성이고,
research_validation_only=true인 합성 연구 evidence만 공개한다. /frame 역시 제한된 2D 선형 탄성
screening이며 두 경로 모두 제작·시공·구조 안전 승인을 발행하지 않는다.
현재 공개 기준은 v0.4.0 release입니다. Vercel 선행 smoke는 새 web과 기존 API의 하위 호환성을 확인하고, Render 완료 이벤트가 실행하는 최종 smoke는 API version, release_sha, capability, Architecture·FrameGuard canary, Artifact Lab audit, Solid 503 fail-closed와 CORS를 같은 배포 revision에서 검사합니다. 도메인 evidence에서 Architecture는 96m²와 4개 room seed, Piping은 12.0m route와 1,975mm minimum clearance, Plate는 전체 치수 편차 0.000000mm를 보고합니다. 이전 v0.3.0은 직전 evidence snapshot, v0.2.1은 rollback baseline으로 유지합니다.
직접 복제해 배포하려면 공개 저장소 tjwnsdhfz/datumguard를 사용합니다. 먼저 Render 버튼으로 backend를 만들고 발급된 API origin을 Vercel 배포 화면의 NEXT_PUBLIC_DATUMGUARD_API_URL에 입력합니다.
Backend는 루트
Dockerfile을 Render, Fly.io, Railway 같은 컨테이너 서비스에 배포합니다.Frontend는 Vercel 프로젝트의 Root Directory를
web/으로 지정하고, build 전에NEXT_PUBLIC_DATUMGUARD_API_URL을 backend URL로 설정합니다.Backend의
DATUMGUARD_CORS_ORIGINS에는 frontend origin을 쉼표로 구분해 설정합니다.
render.yaml은 보호된 main commit을 backend에 자동 배포합니다. Vercel for GitHub는 Root Directory web/에서 PR Preview와 main Production을 만들며, v0.4.0 strict smoke는 /frame DOM, structural_frame domain, deterministic FrameGuard canary와 exact release_sha까지 요구합니다. 최종 원격 run과 deployment ID는 v0.4.0 release notes에 고정합니다. 정확한 연결 계약은 GitHub Deployment Guide, 환경변수·cold start 순서는 Deployment Guide를 따릅니다.
배포 후에는 $WEB_ORIGIN/case-study, /, /piping, /frame, /plate, /solid, /intake,
/openbim을 함께 확인합니다. Frontend를 build한 뒤
NEXT_PUBLIC_DATUMGUARD_API_URL을 바꾸었다면 반드시 rebuild해야 합니다.
공개 데모는 stateless입니다. 계정·DB·서버 프로젝트 저장을 사용하지 않으며, 요청 파일과 자연어 원문을 영구 저장하지 않습니다. Hosted demo에는 Rhino 연결을 요구하지 않으며, Rhino evidence는 로컬 adapter가 있을 때만 secondary cross-check로 사용합니다.
운영 경계도 코드로 고정했습니다. 실제 수신 byte 제한, 파일별·합계 upload 제한, optional API key, anonymous/authenticated quota, heavy CAD queue, parser subprocess, request ID·redacted JSON log, /live·/ready·bounded /metrics, Solid/Artifact Lab kill switch를 제공합니다. 브라우저 draft는 30일 TTL의 IndexedDB에만 저장되며 /privacy에서 전체 삭제할 수 있습니다. 10k DAU는 현재 Free 배포의 용량 주장이 아니며, 출시 체크리스트·장애/rollback·SLO·비용 후보는 Operations Guide와 Cost Guard에 분리했습니다.
OpenCascade Solid은 코드·Linux CI·Docker image에서 실제 STEP 생성과 재입력을 통과하지만, Render Free 512MB Production canary에서 HTTP 502가 발생해 DATUMGUARD_ENABLE_SOLID=false로 fail-closed했습니다. OOM 또는 worker restart는 의심되지만 직접 확인되지 않았습니다. 유료 변경 없이 기능을 과장하지 않기 위한 운영 결정이며, Cost Guard의 Render Standard 이상 staging에서 canary와 부하 검증을 통과한 뒤에만 다시 활성화합니다.
API와 MCP
한 번에 생성·검증:
POST /api/v1/designs/run계약 검증:
POST /api/v1/contracts/validate건축 평면 생성·검증:
POST /api/v1/architecture/designs/run건축 계약 검증:
POST /api/v1/architecture/contracts/validate배관 route 생성·검증:
POST /api/v1/piping/designs/run배관 계약 검증:
POST /api/v1/piping/contracts/validateframe 선형 구조 screening:
POST /api/v1/frame/designs/runframe 계약 검증:
POST /api/v1/frame/contracts/validateframe/Rhino schema:
GET /api/v1/schema/frame-contract,GET /api/v1/schema/rhino-frame-exchangeRhino/GH exchange adapter:
POST /api/v1/frame/rhino/adaptframe DXF 생성·독립 재개봉 gate:
POST /api/v1/frame/cad/run비공식 surrogate triage:
POST /api/v1/frame/surrogate/predict정적 연구 evidence:
GET /api/v1/frame/benchmarks/opensees,GET /api/v1/frame/benchmarks/gnn3D solid 생성·STEP 독립 검증:
POST /api/v1/solid/designs/runCAD 파일 감사:
POST /api/v1/artifacts/auditCAD revision 비교:
POST /api/v1/artifacts/compareOpenBIM IFC·IDS evidence:
POST /api/v1/openbim/evidence/run— research validation only, MCP 도구 없음Liveness/readiness/metrics:
GET /api/v1/live,GET /api/v1/ready,GET /api/v1/metrics단계별 endpoint는 TRD에 정리되어 있습니다.
로컬 MCP:
datumguard-mcp
MCP는 기존 9개 설계 도구에 artifact_audit, artifact_compare, solid_generate_verify,
frame_analyze, frame_repair_propose, frame_rhino_adapt, frame_rhino_roundtrip,
frame_dxf_generate_verify, frame_surrogate_predict, frame_opensees_parity_evidence를 더한
19개 도구를 제공합니다.
MCP contract 분기는 입력의 design_kind로 결정합니다.
| MCP application service | Web route |
| Architecture |
|
| Piping |
|
| Deterministic 2D frame screening |
|
| OpenCascade STEP |
|
필드 없음 | Plate/panel 호환 경로 |
|
기존 9개 도구 이름은 plate·architecture·piping에서 하위 호환됩니다. artifact_audit과 artifact_compare는 contract 없는 실제 파일에 informational evidence만 만들고, solid_generate_verify는 solid_part contract를 실제 STEP으로 직렬화한 뒤 별도 OpenCascade worker에서 재측정합니다. rhino_preview는 secondary evidence이며 공식 판정을 변경하지 않습니다.
검증
$env:UV_LINK_MODE = "copy" # Windows OneDrive only
uv sync --frozen --extra dev
uv run --frozen ruff check src tests tools
uv run --frozen mypy src/datumguard
uv run --frozen pytest
Set-Location web
npm run typecheck
npm run lint
npm run buildCase Study, Architecture, Piping, FrameGuard, Plate, Solid, Artifact Lab, OpenBIM route의 브라우저 계약은 실제 FastAPI를 함께 시작하는 Playwright E2E로 검사합니다.
Set-Location web
npm run test:e2ev0.4.0 release evidence는 backend
413 passed / 6 optional-runtime skipped, Chromium Playwright 41 passed, typecheck·lint·15-page
build, 두 container build, CycloneDX SBOM, fixed-critical scan, dependency review, pip audit와 두 CodeQL
language 결과를 실제 run에 연결합니다. 선택형 research workflow도 genuine OpenSeesPy와 PyG smoke를
run 29194964854에서 재실행했습니다.
Render 배포 완료 뒤의 Production smoke는 health release_sha까지 대조합니다.
합성 예제 계약은 Architecture의 통과 4-room studio·300mm open-loop 실패, Piping의 통과 CDA route·clearance 실패, FrameGuard의 통과 pipe rack·missing-brace 실패로 제공합니다. 기존 Architecture fixture도 하위 호환 회귀용으로 유지합니다. 모든 예제는 실사업장 도면이 아닌 공개 합성 데이터입니다.
문서
License
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/tjwnsdhfz/datumguard'
If you have feedback or need assistance with the MCP directory API, please join our Discord server