VoxelDraft MCP
A remote MCP server for AI assistants to create, edit, render, save, and export voxel models. It supports compact geometry commands, real-time WebGL previews, and exports to OBJ, GLB, VOX, and Minecraft Schematic formats without requiring per-voxel JSON verbosity.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://voxeldraft.com/api/mcpWhat its tools do
8 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Read-only (1)
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Warning Advertises resources/templates/list but does not implement it
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Create voxel models using high-level geometry commands
- Edit and inspect existing voxel structures
- Render voxel art as cached PNG images or interactive 3D scenes
- Export optimized OBJ/MTL assets with hidden-face culling
Source and maintenance
Protocol and capabilities
- Server
- VoxelDraft MCP 0.5.1
- MCP protocol negotiated in check
- 2025-11-25
- Tools
- 8 advertised
- Resources
- 1 advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": false
},
"resources": {
"listChanged": false
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
8 advertised
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
}{
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": 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
}{
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": 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
}{
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": 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
}{
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": 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
}{
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": 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
}{
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}list_voxel_projects — List my VoxelDraft projects
List private VoxelDraft Cloud Projects. Requires project-read OAuth scope.
{
"type": "object",
"properties": {},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": 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
}{
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": false
}Prompts
Not advertised
Resources
1 advertised
VoxelDraft 3D Preview
Interactive Three.js preview for a VoxelDraft model.
ui://widget/voxeldraft-preview-v8.html30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 696 ms
- 95th percentile latency
- 696 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 696 ms · metadata changed · 8 tool(s), 1 resource(s); warnings: Advertises resources/templates/list but does not implement it
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http voxeldraft-mcp https://voxeldraft.com/api/mcpCodex
codex mcp add voxeldraft-mcp --url https://voxeldraft.com/api/mcpCursor
{
"mcpServers": {
"voxeldraft-mcp": {
"url": "https://voxeldraft.com/api/mcp"
}
}
}Cline
{
"mcpServers": {
"voxeldraft-mcp": {
"type": "streamableHttp",
"url": "https://voxeldraft.com/api/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"voxeldraft-mcp": {
"type": "http",
"url": "https://voxeldraft.com/api/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http voxeldraft-mcp https://voxeldraft.com/api/mcpClaude Desktop
https://voxeldraft.com/api/mcpWindsurf
{
"mcpServers": {
"voxeldraft-mcp": {
"serverUrl": "https://voxeldraft.com/api/mcp"
}
}
}Let your agent find its tools
Find servers like VoxelDraft MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.