Skip to content
VS Code

three.ws Blender for VS Code

io.github.nirholas/blender-mcp

Drive a local Blender headlessly: inspect, convert, render and script 3D files.

client:VS Code transport:stdio runtime:npm

Install three.ws Blender in VS Code

.vscode/mcp.json

{
  "inputs": [
    {
      "type": "promptString",
      "id": "blender-path",
      "description": "BLENDER_PATH",
      "password": true
    },
    {
      "type": "promptString",
      "id": "blender-mcp-timeout-ms",
      "description": "BLENDER_MCP_TIMEOUT_MS",
      "password": true
    },
    {
      "type": "promptString",
      "id": "blender-mcp-workdir",
      "description": "BLENDER_MCP_WORKDIR",
      "password": true
    },
    {
      "type": "promptString",
      "id": "blender-mcp-allow-python",
      "description": "BLENDER_MCP_ALLOW_PYTHON",
      "password": true
    },
    {
      "type": "promptString",
      "id": "blender-mcp-inline-image-bytes",
      "description": "BLENDER_MCP_INLINE_IMAGE_BYTES",
      "password": true
    },
    {
      "type": "promptString",
      "id": "blender-mcp-inline-image-px",
      "description": "BLENDER_MCP_INLINE_IMAGE_PX",
      "password": true
    },
    {
      "type": "promptString",
      "id": "blender-mcp-max-concurrency",
      "description": "BLENDER_MCP_MAX_CONCURRENCY",
      "password": true
    },
    {
      "type": "promptString",
      "id": "three-ws-base",
      "description": "THREE_WS_BASE",
      "password": true
    },
    {
      "type": "promptString",
      "id": "three-ws-forge-timeout-ms",
      "description": "THREE_WS_FORGE_TIMEOUT_MS",
      "password": true
    },
    {
      "type": "promptString",
      "id": "three-ws-forge-provider-key",
      "description": "THREE_WS_FORGE_PROVIDER_KEY",
      "password": true
    }
  ],
  "servers": {
    "blender-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@three-ws/blender-mcp"
      ],
      "env": {
        "BLENDER_PATH": "${input:blender-path}",
        "BLENDER_MCP_TIMEOUT_MS": "${input:blender-mcp-timeout-ms}",
        "BLENDER_MCP_WORKDIR": "${input:blender-mcp-workdir}",
        "BLENDER_MCP_ALLOW_PYTHON": "${input:blender-mcp-allow-python}",
        "BLENDER_MCP_INLINE_IMAGE_BYTES": "${input:blender-mcp-inline-image-bytes}",
        "BLENDER_MCP_INLINE_IMAGE_PX": "${input:blender-mcp-inline-image-px}",
        "BLENDER_MCP_MAX_CONCURRENCY": "${input:blender-mcp-max-concurrency}",
        "THREE_WS_BASE": "${input:three-ws-base}",
        "THREE_WS_FORGE_TIMEOUT_MS": "${input:three-ws-forge-timeout-ms}",
        "THREE_WS_FORGE_PROVIDER_KEY": "${input:three-ws-forge-provider-key}"
      }
    }
  }
}

VS Code prompts for each input the first time the server starts, so no secret is written to the file. VS Code docs

three.ws Blender in other clients