
KeyShot
io.github.lfolettiPublished by GitHub account lfolettiv1.1.1Updated Oct 25, 2026
Control KeyShot Studio: scene, cameras, materials from a CMF sheet, and renders
Overview
Controls an open KeyShot Studio window from Claude Code: inspect the scene, set cameras and environments, edit materials, and render images.
- What you can do
- Inspect the scene: status, scene info and tree, object list, visibility, screenshots and scene saving
- Manage cameras and environments: list and set cameras, fit the view, choose environments, toggle realtime
- Work with materials: list and read materials and library materials, assign, set parameters, rename, undo or commit changes, save to library
- Edit material graphs: add, connect, disconnect and remove nodes
- Render: start a render, check status, wait for completion and view the image
- Bridge utilities: list scripting functions, reload the bridge, and optionally run Python when enabled
- When to use it
- Useful when you work in KeyShot Studio on Windows and want an assistant to inspect the scene, apply materials from a CMF sheet or description, adjust cameras and lighting, and produce renders without switching tools.
- Requirements
- Windows with KeyShot Studio 15.1 (2026) or later and Python 3.12 or later; the mcp package 1.30.0; Claude Code. Bridge scripts must be copied into the KeyShot Scripts folder and started from KeyShot's Scripting Console, and KeyShot restarted. The bridge and server talk over TCP on 127.0.0.1, port 1998 by default, configurable with KEYSHOT_MCP_PORT.
Installation
In SourceWeft
- Open KeyShot in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
keyshot-mcp
English | 简体中文 | 日本語 | 한국어 | Deutsch
Control an open KeyShot Studio 2026 window from Claude Code with the Model Context Protocol (MCP).
[License: MIT] [Status: prototype] [Tests] [Release] [PyPI]
Status: prototype. The tools work and have tests, but the project depends on the scripting API of KeyShot, which can change. Tell us what you use and what fails: open an issue or a discussion.
The demo plays 3 times faster than real time.
The bridge runs inside KeyShot. The server runs in Claude Code. They speak only on the local computer.
Requirements
Install
From PyPI
From version 1.1.0, keyshot-mcp is a Python package. With uv:
install-addin copies the two bridge scripts into %PUBLIC%\Documents\KeyShot Studio\Scripts (or the folder of --dir). Then restart KeyShot.
As a Claude Code plugin
From version 1.1.0, this repository is also a Claude Code marketplace. The plugin keyshot starts the server with uvx, so uv must be installed.
Then run /keyshot-install-addin once, and restart KeyShot.
From the release zip or the repository
Each release has keyshot-mcp-<version>-windows.zip, with libs/ already filled. Unzip it, then go to step 3. Without the zip, start at step 1.
- Clone the repository:
- Install
mcpin thelibsfolder.run.pyloads it from there. - Copy
addin\Scripts\MCP start.pyandMCP stop.pytoC:\Users\Public\Documents\KeyShot Studio\Scripts\. - Restart KeyShot. KeyShot reads the Scripts folder only when it starts.
- Add the server to Claude Code:
- Make sure the imports are correct:
The output shows
keyshot : imports okand 33 tools.
Use
- In KeyShot, open Window > Scripting Console > Scripts.
- Select
MCP start, then click Run. The console showsPont KeyShot actif sur 127.0.0.1:1998. - In Claude Code, type
/mcp. Make sure thatkeyshotis connected. - Ask Claude, for example:
- "Show me the scene and list the materials."
- "Apply brushed aluminium to the cap, then make a 1920 × 1080 render."
To stop the bridge, run the script MCP stop, or close KeyShot.
To update the bridge, copy the new file, then use the tool reload_bridge.
Tools
Two MCP prompts give Claude the method:
Colors: [r, g, b] is linear (0-1). #RRGGBB is sRGB: the bridge changes it to linear.
Settings
Optional file: %LOCALAPPDATA%\keyshot-mcp\pont-config.json.
The bridge writes pont-actif.json (port, token, KeyShot PID) and pont.log in the same folder.
Safety
- The bridge listens only on 127.0.0.1. Each request must have the token from
pont-actif.json. execute_pythonis off. Only a local setting can enable it.- The tools edit a material graph only on copies that the bridge made.
set_cameradoes not discard a camera view that is not saved.save_scenekeeps a copy of the old.bipfile.
Tests
The tests use a fake lux module. KeyShot is not necessary.
test_pont.py has 87 tests for the bridge. test_serveur_mcp.py has 9 end-to-end tests. test_cli.py tests the command keyshot-mcp. test_publication.py and test_plugin.py check the PyPI, MCP registry and plugin files, and that this README follows the code. test_dev_version.py tests the TestPyPI version tool. The essai_*.py files need an open KeyShot.
test_serveur_mcp.py starts the server with the Python that runs the test. If the packages in libs are for a different Python version, set KEYSHOT_MCP_PYTHON to the applicable python.exe.
Contribute
Read CONTRIBUTING.md and CODE_OF_CONDUCT.md.
Status
keyshot-mcp is a working prototype. It is tested with KeyShot Studio 2026.2 Pro on Windows.
- The bridge uses the KeyShot scripting API (
lux). A new KeyShot version can change this API. - KeyShot can add its own integration with Claude in a future version. This project can then stop.
- Feedback has priority over new features. Use the issue templates Bug and Feedback.
Disclaimer
keyshot-mcp is an independent project. It is not affiliated with Luxion or KeyShot, and so far Luxion does not endorse or sponsor it. KeyShot is a trademark of Luxion.
License
MIT
Source: README.md at commit 5a17238
Tools
0Version history
1- v1.1.1LatestOct 25, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts