VoxelDraft – AI Voxel Modeling
Create, edit, render, save, and export voxel models with interactive 3D previews.
사용해야 할까요
품질 및 안전성
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"voxeldraft": {
"url": "https://voxeldraft.com/api/mcp"
}
}
}원격 엔드포인트
https://voxeldraft.com/api/mcpstreamable-http할 수 있는 일
도구 목록
도구 (8)
🟡create_voxel_model(name, palette, commands)
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",
"properties": {
"name": {
"type": "string",
"maxLength": 80
},
"palette": {
"type": "array",
"maxItems": 64,
"items": {
"type": "string",
"pattern": "^#[0-9a-fA-F]{6}$"
}
},
"commands": {
"type": "array",
"maxItems": 512,
"items": {
"type": "array",
"minItems": 1,
"items": {}
}
}
},
"required": [
"commands"
],
"additionalProperties": false
}🟡edit_voxel_model(modelRef, palette, commands)
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",
"properties": {
"modelRef": {
"type": "string",
"maxLength": 64,
"description": "Short temporary VoxelDraft model reference returned by model tools"
},
"palette": {
"type": "array",
"maxItems": 64,
"items": {
"type": "string",
"pattern": "^#[0-9a-fA-F]{6}$"
}
},
"commands": {
"type": "array",
"maxItems": 512,
"items": {
"type": "array",
"minItems": 1,
"items": {}
}
}
},
"required": [
"modelRef",
"commands"
],
"additionalProperties": false
}🟢inspect_voxel_model(modelRef)
Inspect a temporary VoxelDraft modelRef. Returns voxel count, command count, bounds, and colors.
입력 스키마
{
"type": "object",
"properties": {
"modelRef": {
"type": "string",
"maxLength": 64,
"description": "Short temporary VoxelDraft model reference returned by model tools"
}
},
"required": [
"modelRef"
],
"additionalProperties": false
}⚪render_voxel_model(modelRef, language, includeImage, view, imageSize, ...)
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",
"properties": {
"modelRef": {
"type": "string",
"maxLength": 64,
"description": "Short temporary VoxelDraft model reference returned by model tools"
},
"language": {
"type": "string",
"enum": [
"en",
"ja",
"zh",
"es"
],
"default": "en"
},
"includeImage": {
"type": "boolean",
"default": true
},
"view": {
"type": "string",
"enum": [
"iso",
"front",
"back",
"left",
"right",
"top",
"bottom"
],
"default": "iso"
},
"imageSize": {
"type": "integer",
"enum": [
256,
512,
1024
],
"default": 512
},
"background": {
"type": "string",
"enum": [
"solid",
"transparent"
],
"default": "solid"
}
},
"required": [
"modelRef"
],
"additionalProperties": false
}출력 스키마
{
"type": "object",
"properties": {
"model": {
"type": "string"
},
"modelRef": {
"type": "string",
"maxLength": 64,
"description": "Short temporary VoxelDraft model reference returned by model tools"
},
"name": {
"type": "string"
},
"stats": {
"type": "object",
"properties": {
"voxelCount": {
"type": "integer",
"minimum": 0
},
"commandCount": {
"type": "integer",
"minimum": 0
},
"colors": {
"type": "array",
"items": {
"type": "string"
}
},
"bounds": {
"anyOf": [
{
"type": "object",
"properties": {
"min": {
"type": "array",
"minItems": 3,
"maxItems": 3,
"items": {
"type": "integer"
}
},
"max": {
"type": "array",
"minItems": 3,
"maxItems": 3,
"items": {
"type": "integer"
}
},
"size": {
"type": "array",
"minItems": 3,
"maxItems": 3,
"items": {
"type": "integer"
}
}
},
"required": [
"min",
"max",
"size"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"voxelCount",
"commandCount",
"colors",
"bounds"
],
"additionalProperties": false
},
"renderer": {
"type": "string"
},
"rendererVersion": {
"type": "string"
},
"view": {
"type": "string",
"enum": [
"iso",
"front",
"back",
"left",
"right",
"top",
"bottom"
]
},
"imageSize": {
"type": "integer",
"enum": [
256,
512,
1024
]
},
"background": {
"type": "string",
"enum": [
"solid",
"transparent"
]
},
"editUrl": {
"type": "string"
},
"renderUrl": {
"type": "string"
},
"downloadUrl": {
"type": "string"
},
"imageAvailable": {
"type": "boolean"
},
"reason": {
"type": "string"
},
"imageError": {
"type": "string"
},
"image": {
"type": "object"
},
"quota": {
"type": "object"
}
},
"required": [
"model",
"modelRef",
"name",
"stats",
"renderer",
"rendererVersion",
"view",
"imageSize",
"background",
"editUrl",
"renderUrl"
],
"additionalProperties": false
}🟡export_voxel_model(modelRef, format)
Create direct download URLs for OBJ+MTL or compact VoxelDraft JSON from a modelRef.
입력 스키마
{
"type": "object",
"properties": {
"modelRef": {
"type": "string",
"maxLength": 64,
"description": "Short temporary VoxelDraft model reference returned by model tools"
},
"format": {
"type": "string",
"enum": [
"obj",
"json"
],
"default": "obj"
}
},
"required": [
"modelRef"
],
"additionalProperties": false
}🔴save_voxel_model(modelRef, projectId)
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",
"properties": {
"modelRef": {
"type": "string",
"maxLength": 64,
"description": "Short temporary VoxelDraft model reference returned by model tools"
},
"projectId": {
"type": "string",
"maxLength": 120
}
},
"required": [
"modelRef"
],
"additionalProperties": false
}🟢list_voxel_projects
List private VoxelDraft Cloud Projects. Requires project-read OAuth scope.
입력 스키마
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢load_voxel_project(projectId, language)
Load one private Cloud Project and return a short modelRef for later plugin calls. Requires project-read OAuth scope.
입력 스키마
{
"type": "object",
"properties": {
"projectId": {
"type": "string",
"maxLength": 120
},
"language": {
"type": "string",
"enum": [
"en",
"ja",
"zh",
"es"
],
"default": "en"
}
},
"required": [
"projectId"
],
"additionalProperties": false
}커뮤니티
증거