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 分