KeyShot MCP for VS Code
io.github.truman-t3/keyshot-mcp
Control local KeyShot scenes, cameras, environments, and renders through headless scripting.
client:VS Code
transport:stdio
runtime:npm
Install KeyShot MCP in VS Code
.vscode/mcp.json
{
"inputs": [
{
"type": "promptString",
"id": "keyshot-headless-exe",
"description": "KEYSHOT_HEADLESS_EXE",
"password": true
},
{
"type": "promptString",
"id": "keyshot-output-dir",
"description": "KEYSHOT_OUTPUT_DIR",
"password": true
},
{
"type": "promptString",
"id": "keyshot-allow-external-outputs",
"description": "KEYSHOT_ALLOW_EXTERNAL_OUTPUTS",
"password": true
},
{
"type": "promptString",
"id": "keyshot-timeout-ms",
"description": "KEYSHOT_TIMEOUT_MS",
"password": true
},
{
"type": "promptString",
"id": "keyshot-license-args",
"description": "KEYSHOT_LICENSE_ARGS",
"password": true
},
{
"type": "promptString",
"id": "keyshot-material-presets",
"description": "KEYSHOT_MATERIAL_PRESETS",
"password": true
},
{
"type": "promptString",
"id": "keyshot-camera-presets",
"description": "KEYSHOT_CAMERA_PRESETS",
"password": true
}
],
"servers": {
"keyshot-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"keyshot-mcp"
],
"env": {
"KEYSHOT_HEADLESS_EXE": "${input:keyshot-headless-exe}",
"KEYSHOT_OUTPUT_DIR": "${input:keyshot-output-dir}",
"KEYSHOT_ALLOW_EXTERNAL_OUTPUTS": "${input:keyshot-allow-external-outputs}",
"KEYSHOT_TIMEOUT_MS": "${input:keyshot-timeout-ms}",
"KEYSHOT_LICENSE_ARGS": "${input:keyshot-license-args}",
"KEYSHOT_MATERIAL_PRESETS": "${input:keyshot-material-presets}",
"KEYSHOT_CAMERA_PRESETS": "${input:keyshot-camera-presets}"
}
}
}
}
VS Code prompts for each input the first time the server starts, so no secret is written to the file. VS Code docs