VoxelDraft – AI Voxel Modeling

Create, edit, render, save, and export voxel models with interactive 3D previews.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
80%
Naming quality
98%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~2,173Tokens (tool definitions)
~1.4 KBTypical response size
Moderate attention impact (1.70% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "voxeldraft": {
      "url": "https://voxeldraft.com/api/mcp"
    }
  }
}

Remote endpoints

https://voxeldraft.com/api/mcpstreamable-http

What it can do

Tool inventory

Tools (8)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟡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.

Input Schema

{
  "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.

Input Schema

{
  "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.

Input Schema

{
  "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.

Input Schema

{
  "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
}

Output Schema

{
  "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.

Input Schema

{
  "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.

Input Schema

{
  "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.

Input Schema

{
  "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.

Input Schema

{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "maxLength": 120
    },
    "language": {
      "type": "string",
      "enum": [
        "en",
        "ja",
        "zh",
        "es"
      ],
      "default": "en"
    }
  },
  "required": [
    "projectId"
  ],
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded8 tools
verifiedversion not recorded8 tools
verifiedversion not recorded8 tools