MCP 서버

VoxelDraft – AI Voxel Modeling

io.github.huruki-geo/voxeldraft
디자인 및 크리에이티브 공개 · 연결 가능 MCP 2026-07-28

이 MCP로 할 수 있는 일

Creates, edits, inspects, renders, saves, and exports editable voxel models with interactive 3D previews.

create_voxel_model
Create voxel model
Create an editable VoxelDraft model from compact commands. Returns a short modelRef for later plugin calls and does not save to Cloud Projects. Use VoxelDraft's compact instruction stream instead of emitting one JSON object per voxel. Coordinates are integers 0..63. Colors are either #RRGGBB or a zero-based palette index. Commands: ["box",x1,y1,z1,x2,y2,z2,color,hollow?] ["ellipsoid",cx,cy,cz,rx,ry,rz,color,hollow?] ["cylinder","x"|"y"|"z",x,y,z,radius,height,color,hollow?] ["line",x1,y1,z1,x2,y2,z2,color] ["roof","x"|"z",x1,y1,z1,x2,y2,z2,color] (gable roof, axis is ridge direction) ["runs","x"|"y"|"z",color,[[x,y,z,length],...]] (preferred exact/freeform representation) ["points",color,[[x,y,z],...]] (sparse details only) ["erase",x1,y1,z1,x2,y2,z2] ["recolor",fromColor,toColor] ["copy",x1,y1,z1,x2,y2,z2,dx,dy,dz] ["repeat",x1,y1,z1,x2,y2,z2,dx,dy,dz,count] ["mirror","x"|"y"|"z",plane,x1,y1,z1,x2,y2,z2] (plane is a grid boundary 0..64) Prefer box/roof/ellipsoid/cylinder for bulk geometry, runs for irregular silhouettes, repeat/mirror for repeated or symmetric parts, and points only for small details. This usually uses far fewer model tokens than raw voxel JSON.
입력 스키마
{'type': 'object', 'required': ['commands'], 'properties': {'name': {'type': 'string', 'maxLength': 80}, 'palette': {'type': 'array', 'items': {'type': 'string', 'pattern': '^#[0-9a-fA-F]{6}$'}, 'maxItems': 64}, 'commands': {'type': 'array', 'items': {'type': 'array', 'items': {}, 'minItems': 1}, 'maxItems': 512}}, 'additionalProperties': False}
edit_voxel_model
Edit voxel model
Edit the temporary model identified by modelRef and return a new modelRef. This does not modify a saved cloud project. Use VoxelDraft's compact instruction stream instead of emitting one JSON object per voxel. Coordinates are integers 0..63. Colors are either #RRGGBB or a zero-based palette index. Commands: ["box",x1,y1,z1,x2,y2,z2,color,hollow?] ["ellipsoid",cx,cy,cz,rx,ry,rz,color,hollow?] ["cylinder","x"|"y"|"z",x,y,z,radius,height,color,hollow?] ["line",x1,y1,z1,x2,y2,z2,color] ["roof","x"|"z",x1,y1,z1,x2,y2,z2,color] (gable roof, axis is ridge direction) ["runs","x"|"y"|"z",color,[[x,y,z,length],...]] (preferred exact/freeform representation) ["points",color,[[x,y,z],...]] (sparse details only) ["erase",x1,y1,z1,x2,y2,z2] ["recolor",fromColor,toColor] ["copy",x1,y1,z1,x2,y2,z2,dx,dy,dz] ["repeat",x1,y1,z1,x2,y2,z2,dx,dy,dz,count] ["mirror","x"|"y"|"z",plane,x1,y1,z1,x2,y2,z2] (plane is a grid boundary 0..64) Prefer box/roof/ellipsoid/cylinder for bulk geometry, runs for irregular silhouettes, repeat/mirror for repeated or symmetric parts, and points only for small details. This usually uses far fewer model tokens than raw voxel JSON.
입력 스키마
{'type': 'object', 'required': ['modelRef', 'commands'], 'properties': {'palette': {'type': 'array', 'items': {'type': 'string', 'pattern': '^#[0-9a-fA-F]{6}$'}, 'maxItems': 64}, 'commands': {'type': 'array', 'items': {'type': 'array', 'items': {}, 'minItems': 1}, 'maxItems': 512}, 'modelRef': {'type': 'string', 'maxLength': 64, 'description': 'Short temporary VoxelDraft model reference returned by model tools'}}, 'additionalProperties': False}
export_voxel_model
Export voxel model
Create direct download URLs for OBJ+MTL or compact VoxelDraft JSON from a modelRef.
입력 스키마
{'type': 'object', 'required': ['modelRef'], 'properties': {'format': {'enum': ['obj', 'json'], 'type': 'string', 'default': 'obj'}, 'modelRef': {'type': 'string', 'maxLength': 64, 'description': 'Short temporary VoxelDraft model reference returned by model tools'}}, 'additionalProperties': False}
inspect_voxel_model
Inspect voxel model
Inspect a temporary VoxelDraft modelRef. Returns voxel count, command count, bounds, and colors.
입력 스키마
{'type': 'object', 'required': ['modelRef'], 'properties': {'modelRef': {'type': 'string', 'maxLength': 64, 'description': 'Short temporary VoxelDraft model reference returned by model tools'}}, 'additionalProperties': False}
list_voxel_projects
List my VoxelDraft projects
List private VoxelDraft Cloud Projects. Requires project-read OAuth scope.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {}, 'additionalProperties': False}
load_voxel_project
Load a VoxelDraft project
Load one private Cloud Project and return a short modelRef for later plugin calls. Requires project-read OAuth scope.
입력 스키마
{'type': 'object', 'required': ['projectId'], 'properties': {'language': {'enum': ['en', 'ja', 'zh', 'es'], 'type': 'string', 'default': 'en'}, 'projectId': {'type': 'string', 'maxLength': 120}}, 'additionalProperties': False}
render_voxel_model
Render voxel model
Preview a VoxelDraft modelRef. ChatGPT can render an interactive Three.js/WebGL widget; everyone also receives an interactive WebGL URL. Signed-in VoxelDraft Plus users may additionally receive a cached PNG when includeImage is true.
입력 스키마
{'type': 'object', 'required': ['modelRef'], 'properties': {'view': {'enum': ['iso', 'front', 'back', 'left', 'right', 'top', 'bottom'], 'type': 'string', 'default': 'iso'}, 'language': {'enum': ['en', 'ja', 'zh', 'es'], 'type': 'string', 'default': 'en'}, 'modelRef': {'type': 'string', 'maxLength': 64, 'description': 'Short temporary VoxelDraft model reference returned by model tools'}, 'imageSize': {'enum': [256, 512, 1024], 'type': 'integer', 'default': 512}, 'background': {'enum': ['solid', 'transparent'], 'type': 'string', 'default': 'solid'}, 'includeImage': {'type': 'boolean', 'default': True}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['model', 'modelRef', 'name', 'stats', 'renderer', 'rendererVersion', 'view', 'imageSize', 'background', 'editUrl', 'renderUrl'], 'properties': {'name': {'type': 'string'}, 'view': {'enum': ['iso', 'front', 'back', 'left', 'right', 'top', 'bottom'], 'type': 'string'}, 'image': {'type': 'object'}, 'model': {'type': 'string'}, 'quota': {'type': 'object'}, 'stats': {'type': 'object', 'required': ['voxelCount', 'commandCount', 'colors', 'bounds'], 'properties': {'bounds': {'anyOf': [{'type': 'object', 'required': ['min', 'max', 'size'], 'properties': {'max': {'type': 'array', 'items': {'type': 'integer'}, 'maxItems': 3, 'minItems': 3}, 'min': {'type': 'array', 'items': {'type': 'integer'}, 'maxItems': 3, 'minItems': 3}, 'size': {'type': 'array', 'items': {'type': 'integer'}, 'maxItems': 3, 'minItems': 3}}, 'additionalProperties': False}, {'type': 'null'}]}, 'colors': {'type': 'array', 'items': {'type': 'string'}}, 'voxelCount': {'type': 'integer', 'minimum': 0}, 'commandCount': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}, 'reason': {'type': 'string'}, 'editUrl': {'type': 'string'}, 'modelRef': {'type': 'string', 'maxLength': 64, 'description': 'Short temporary VoxelDraft model reference returned by model tools'}, 'renderer': {'type': 'string'}, 'imageSize': {'enum': [256, 512, 1024], 'type': 'integer'}, 'renderUrl': {'type': 'string'}, 'background': {'enum': ['solid', 'transparent'], 'type': 'string'}, 'imageError': {'type': 'string'}, 'downloadUrl': {'type': 'string'}, 'imageAvailable': {'type': 'boolean'}, 'rendererVersion': {'type': 'string'}}, 'additionalProperties': False}
save_voxel_model
Save voxel model to my VoxelDraft account
Save the temporary model identified by modelRef to private VoxelDraft Cloud Projects. Requires project-write OAuth scope. Pass projectId to update an existing owned cloud project.
파괴적 작업
입력 스키마
{'type': 'object', 'required': ['modelRef'], 'properties': {'modelRef': {'type': 'string', 'maxLength': 64, 'description': 'Short temporary VoxelDraft model reference returned by model tools'}, 'projectId': {'type': 'string', 'maxLength': 120}}, 'additionalProperties': False}
변경됨
render_voxel_model
2026년 10월 1일 2:45 AM
추가됨
load_voxel_project
2026년 9월 17일 12:42 PM
추가됨
list_voxel_projects
2026년 9월 17일 12:42 PM
추가됨
save_voxel_model
2026년 9월 17일 12:42 PM
추가됨
export_voxel_model
2026년 9월 17일 12:42 PM
추가됨
render_voxel_model
2026년 9월 17일 12:42 PM
추가됨
inspect_voxel_model
2026년 9월 17일 12:42 PM
추가됨
edit_voxel_model
2026년 9월 17일 12:42 PM
추가됨
create_voxel_model
2026년 9월 17일 12:42 PM