KeyShot

io.github.lfoletti由 GitHub 账号 lfoletti 发布v1.1.1更新于 Oct 25, 2026

Control KeyShot Studio: scene, cameras, materials from a CMF sheet, and renders

已验证STDIO仅桌面开发者工具媒体与设计

概览

AI 生成的概览

从 Claude Code 控制已打开的 KeyShot Studio 窗口:查看场景、设置相机与环境、编辑材质并渲染图像。

可以做什么
  • 查看场景:状态、场景信息与场景树、对象列表、可见性、截图与保存场景
  • 管理相机与环境:列出与切换相机、适配视图、选择环境、切换实时渲染
  • 处理材质:列出与读取材质及材质库、赋予材质、设置参数、重命名、撤销或提交修改、保存到材质库
  • 编辑材质节点图:添加、连接、断开与删除节点
  • 渲染:启动渲染、查看状态、等待完成并查看图像
  • 桥接工具:列出脚本函数、重新加载桥接,以及在启用时执行 Python
适用场景
适合在 Windows 上使用 KeyShot Studio 时,让助手查看场景、按 CMF 表或描述赋予材质、调整相机与灯光并生成渲染,而无需切换工具。
运行要求
Windows 上的 KeyShot Studio 15.1(2026)或更高版本,Python 3.12 或更高版本,mcp 包 1.30.0,以及 Claude Code。需将桥接脚本复制到 KeyShot 的 Scripts 文件夹,在 KeyShot 的脚本控制台中启动,并重启 KeyShot。桥接与服务器通过 127.0.0.1 的 TCP 通信,默认端口 1998,可用 KEYSHOT_MCP_PORT 修改。
安装前请注意
这些工具会改动当前场景:赋予材质、设置相机与环境、保存场景,并把渲染图和截图写入配置的输出文件夹。execute_python 默认关闭,启用后会在 KeyShot 内执行任意 Python。桥接需要 pont-actif.json 中的令牌,且只监听本机。项目为原型,依赖 KeyShot 脚本 API,版本升级可能改变该 API。

安装

在 SourceWeft 中

  1. 打开 控制台中的 KeyShot,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

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.

[Claude Code reads the KeyShot scene, changes the bottle glass three times, then undoes all the changes.]

The demo plays 3 times faster than real time.

Claude Code ⇄ MCP server keyshotmcp (Python 3.12, stdio)            ⇄ TCP 127.0.0.1:1998, 4-byte length + JSON, token            ⇄ MCP start.py (in KeyShot, timer on the UI thread)

The bridge runs inside KeyShot. The server runs in Claude Code. They speak only on the local computer.

Requirements

ItemVersion
KeyShot Studio15.1 (2026) or later. Tested with 2026.2 Pro (15.1.2.7).
Python3.12 or later, Windows
mcp1.30.0
Claude Codeany recent version

Install

From PyPI

From version 1.1.0, keyshot-mcp is a Python package. With uv:

uvx keyshot-mcp install-addinclaude mcp add keyshot -- uvx keyshot-mcp

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.

/plugin marketplace add lfoletti/keyshot-mcp/plugin install keyshot@keyshot-mcp

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.

  1. Clone the repository:
    git clone https://github.com/lfoletti/keyshot-mcp.git
  2. Install mcp in the libs folder. run.py loads it from there.
    py -3.12 -m pip install --target libs mcp==1.30.0
  3. Copy addin\Scripts\MCP start.py and MCP stop.py to C:\Users\Public\Documents\KeyShot Studio\Scripts\.
  4. Restart KeyShot. KeyShot reads the Scripts folder only when it starts.
  5. Add the server to Claude Code:
    claude mcp add keyshot -- py -3.12 -I -S C:\path\to\keyshot-mcp\run.py
  6. Make sure the imports are correct:
    py -3.12 -I -S run.py --check
    The output shows keyshot : imports ok and 33 tools.

Use

  1. In KeyShot, open Window > Scripting Console > Scripts.
  2. Select MCP start, then click Run. The console shows Pont KeyShot actif sur 127.0.0.1:1998.
  3. In Claude Code, type /mcp. Make sure that keyshot is connected.
  4. 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

GroupTools
Scenekeyshot_status, get_scene_info, get_scene_tree, list_objects, set_visibility, screenshot, save_scene
Cameras and environmentlist_cameras, set_camera, fit_camera, list_environments, set_environment, set_realtime
Materialslist_materials, get_material, list_library_materials, assign_material, set_material_parameter, rename_material, undo_material_changes, commit_material_changes, save_material_to_library
Material graphadd_material_node, connect_material_nodes, disconnect_material_input, remove_material_node
Renderrender_image, render_status, wait_for_render, view_image
Bridgelux_functions, reload_bridge, execute_python (off by default)

Two MCP prompts give Claude the method:

PromptUse
keyshot_strategyHow to work in KeyShot without damage to the scene.
keyshot_materiauxHow to make materials from a CMF sheet (color, material, finish) or a description: physical values, colors, node recipes.

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.

json
{"execute_python": false, "dossier_sorties": "C:\\path\\to\\outputs"}
SettingEffect
execute_pythontrue enables the tool execute_python. The default is false.
dossier_sortiesFolder for screenshots, renders and scene backups.
dossiers_texturesList of more folders where the bridge can read texture images. KeyShot's texture library and dossier_sorties are always allowed.
KEYSHOT_MCP_PORTEnvironment variable. Bridge port. The default is 1998.
KEYSHOT_MCP_TIMEOUTEnvironment variable. Server timeout in seconds. The default is 60.
KEYSHOT_MCP_EXECUTE_PYTHONEnvironment variable. 1 enables execute_python.

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_python is off. Only a local setting can enable it.
  • The tools edit a material graph only on copies that the bridge made.
  • set_camera does not discard a camera view that is not saved.
  • save_scene keeps a copy of the old .bip file.

Tests

The tests use a fake lux module. KeyShot is not necessary.

cd testspy -3.13 test_pont.pypy -3.13 test_serveur_mcp.pypy -3.13 test_cli.pypy -3.13 test_publication.pypy -3.13 test_plugin.pypy -3.13 test_dev_version.py

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

来源:README.md,提交 5a17238

工具

0
SourceWeft 曾在隔离沙箱中以无凭据方式启动该软件包一次,以列出其工具,但未能完成:软件包安装失败。

版本历史

1
  1. v1.1.1最新Oct 25, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分