KeyShot MCP (truman-t3/keyshot-mcp) is an MCP server listed on the M8ven Trust Index. It scores 89 out of 100, grade B. It declares 19 tools. The publisher has proved control of what we score (Verified Publisher). It is connected through the M8ven GitHub App, so the listing is re-checked on every push.

B
Emerging
89/100

KeyShot MCP

A local MCP server that enables AI apps to control KeyShot Studio for scene inspection, rendering, model import, material application, camera adjustment, environment setting, and scene saving.

Emerging. No concerning findings. Grades remain capped until the project builds reputation through adoption. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.

How we verified

Sandbox Verified⚡ Live Monitored

every push re-verified

Who stands behind it

qq.com (@truman-t3) · Verified Publisher

Source: Glama

Install from

The grade above is for the source repository. Registries can serve a different version, so we mark the ones we were not able to read.

// key findings
🚨
Known vulnerabilities in dependencies: 1 critical
Affects packages this MCP installs at runtime. Upgrade or remove the affected dependency.
Are you the publisher? Confirm or correct these findings.
// tools this server exposes19 tools

These names and descriptions are the publisher's own, read from the source code. We print them as written. Our assessment is the findings above, not this list.

keyshot_status

Diagnose the local installation, output access, presets, bridge files, and a minimal KeyShot headless startup without modifying a user scene.

keyshot_product_render

Run a complete product workflow in one headless process: open or import, assign materials, configure camera and environment, save a scene copy, and render one or all cameras.

keyshot_inspect_scene

Open a scene read-only and return metadata, objects, cameras, material assignments, model sets, and external references.

keyshot_list_cameras

Return saved camera names without saving changes. Use this before selected-camera rendering when names are unknown.

keyshot_preview_render

Render a bounded PNG preview from an existing scene and return it directly as MCP image content. Temporary previews are deleted after embedding; an optional safe output path preserves a copy.

keyshot_sync_saved_scene

Find a saved .bip file (or the newest .bip in one folder), detect whether it changed, copy it to a collision-safe output path, and optionally return an Agent-visible preview. This is the stable alternative to unsupported persistent GUI control.

keyshot_render

Render the active or a named camera from an existing scene to an image file.

keyshot_render_queue

Render independent scene and camera jobs sequentially so KeyShot processes do not compete for a license or output files.

keyshot_batch_render

Render an explicit list of saved cameras from one scene into an output directory.

keyshot_render_all_cameras

Discover every saved camera and render each view in one headless process with collision-safe file names and per-camera results.

keyshot_import_model

Import a supported local model into an empty or base scene, apply requested composition options, and save a new scene.

keyshot_apply_material

Apply a KeyShot library material or local material file to a specific object, then save the edited scene.

keyshot_list_material_presets

Read the configured local material preset JSON and return valid preset names and material sources without opening KeyShot.

keyshot_apply_material_preset

Resolve a configured material preset, apply it to one scene object, and save a new scene.

keyshot_set_camera

Create or update a named camera using position, target, distance, field of view, or focal length, then save the edited scene.

keyshot_list_camera_presets

Read the configured camera preset JSON and return valid standard or absolute camera presets without opening KeyShot.

keyshot_apply_camera_preset

Create or update a saved camera from a configured standard-view or absolute camera preset, then save the edited scene.

keyshot_set_environment

Select an environment by library name or local file, optionally change brightness and rotation, and save the edited scene.

keyshot_save_scene

Open an existing scene and save a copy to a requested path inside the configured safe output directory.

// known CVEs in dependencies1 critical1 low

Disclosed vulnerabilities in this server's declared npm dependencies (via OSV). Whether each is reachable depends on the installed versions.

criticalvitest@3.2.4GHSA-5xrq-8626-4rwp

When Vitest UI server is listening, arbitrary file can be read and executed

lowvitest@3.2.4GHSA-82fw-gwwq-j7x9

Vitest: Path Traversal / Arbitrary File Read via @vitest/mocker Redirect Mock

Depend on this server? Get alerted when its CVEs change.Watch this server free →
// environment variables
To run this server yourself, you supply these values. They go in your own MCP client configuration and stay on your machine. The secret label means the value is sensitive, not that the server mishandles it.
configKEYSHOT_ALLOW_EXTERNAL_OUTPUTSAllow output outside the configured root only when explicitly set to true.
configKEYSHOT_CAMERA_PRESETSOptional user-managed camera preset file.
configKEYSHOT_HEADLESS_EXEFull executable path or a command available on PATH.
configKEYSHOT_LICENSE_ARGSOptional launch arguments; diagnostics never echo their values.
configKEYSHOT_MATERIAL_PRESETSOptional user-managed material preset file.
configKEYSHOT_OUTPUT_DIRRoot for rendered images and saved scenes.
configKEYSHOT_TIMEOUT_MSTimeout for one KeyShot process.
// quality suggestions

Tool annotations

No tools have read-only/destructive annotations

Add readOnlyHint or destructiveHint annotations to every tool so hosts can warn users before invoking.

All four hints declared on every tool

19/19 tools missing one or more hints — keyshot_status (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); keyshot_product_render (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); keyshot_inspect_scene (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +16 more. OpenAI's directory rejects tools where any of the four hints are missing or non-boolean.

For every tool, set all four hints (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) to explicit true/false values that match the handler’s actual behaviour.

Tool test coverage

Only 3/19 tools referenced in tests (16%)

Write tests that reference each tool by name so every tool has at least one test.

Dev dependencies

1 critical/high in dev-only deps (does not ship to users)

Upgrade dev dependencies when convenient.

// embed badge in your README
[![M8ven Score](https://m8ven.ai/badge/mcp/truman-t3/keyshot-mcp)](https://m8ven.ai/mcp/truman-t3/keyshot-mcp)
Shows your grade and updates automatically. Prefer no grade? Append ?variant=verified to the badge URL.
commit: add4c567a127a185517682f327e1717ad9514132
code hash: 29cc3825dd41788428ebb7e85c808212a5004c91baabd61f7a8b27d8c32fa3f6
view raw JSON →
Check MCPs from inside your assistant
Tool Check · MCP

Vetting this one by hand? Tool Check is an MCP that scores other MCPs. Add it once and ask Claude, ChatGPT, or any MCP client to grade a server, surface CVEs, check the publisher, and suggest safer alternatives — before you install.

https://m8ven.ai/api/mcp/tool-check
check_toolsearch_toolscompare_toolsrecommend_alternativescheck_publisherreport_concern
How to add it →Free · no account needed · works in any MCP client