Inochi Creator MCP
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Inochi Creator MCPplay the 'blink' animation"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Inochi Creator MCP
起動中の Inochi Creator を、Cursor などから MCP 経由でライブ操作します。
Inochi Creator には公式のプラグイン/IPC がないため、v0_8 をソース改変して再ビルドする必要があります。itch.io / Steam の公式バイナリでは動きません。
構成
Cursor --stdio MCP--> このリポジトリの Node サーバー
|
| HTTP POST http://127.0.0.1:17320/rpc
v
パッチ済み Inochi Creator(UI スレッドで inc* API を実行)待ち受けは 127.0.0.1 のみです。任意で INOCHI_MCP_TOKEN を Creator と MCP の両方に設定すると、Bearer / X-Inochi-Token 照合が入ります。
Related MCP server: TouchDesigner MCP
必要環境
Node.js 18 以降
Inochi Creator
v0_8のソースと、公式 README どおりのビルド環境Windows: Visual Studio 2022(C++)、CMake、LDC または DMD
1. ブリッジを Creator に入れる
git clone --branch v0_8 --recursive https://github.com/Inochi2D/inochi-creator.git
# 依存関係は公式 README に従って準備する
.\scripts\apply-bridge.ps1 -CreatorRoot "C:\path\to\inochi-creator"スクリプトは次を行います。
creator-bridge/mcp/*.dをsource/creator/mcp/へコピーsource/app.dにincMcpInit()/incMcpPoll()を挿入(再実行しても二重には入りません)
その後、Inochi Creator 側でいつもどおり dub ビルドして起動します。
curl http://127.0.0.1:17320/health{"ok":true,...} が返ればブリッジは生きています。
ポートを変える場合は、Creator 起動前に INOCHI_MCP_PORT(デフォルト 17320)を設定し、MCP 側にも同じ値を渡してください。
2. MCP サーバーをビルドする
cd C:\Users\masam\Documents\inochi-creator-mcp
npm install
npm run build開発中は npm run dev(tsx src/index.ts)でも起動できます。
3. Cursor に接続する
Cursor の MCP 設定例:
{
"mcpServers": {
"inochi-creator": {
"command": "node",
"args": ["C:/Users/masam/Documents/inochi-creator-mcp/dist/index.js"],
"env": {
"INOCHI_MCP_PORT": "17320"
}
}
}
}ログは stdout を汚さないよう stderr に出します。Creator が起動していないと、各ツールは「パッチ済み Inochi Creator を起動してください」と返します。
ツール
接続できないときは、パッチ済み Creator が 127.0.0.1:17320 で待っているか確認してください。
状態・プロジェクト
creator_ping/creator_get_statuscreator_set_edit_mode(model/vertex/anim/test)creator_new_project/creator_open_project/creator_save_projectcreator_export_inp(エクスポート UI は開かず、デフォルト設定で.inpを書く)
ノード・パラメータ
creator_list_nodes/creator_get_node/creator_select_node/creator_focus_cameracreator_rename_node/creator_set_node_enabled/creator_set_node_transformcreator_create_node(Node/Composite/MeshGroup/SimplePhysics/Camera)creator_duplicate_node/creator_delete_node/creator_reparent_nodecreator_list_parameters/creator_set_parameter/creator_arm_parameter/creator_disarm_parametercreator_add_parameter/creator_remove_parametercreator_undo/creator_redo
Part はテクスチャが必要なので、creator_import_images で PNG/TGA/JPEG から作ります。
取り込み
creator_import_psd / creator_import_kra / creator_import_inp / creator_import_folder は内部で新規プロジェクトを作るため、今開いているプロジェクトを置き換えます。
creator_import_images だけは現在のプロジェクトを維持し、選択中(または指定した親)の下に Part を足します。
アニメ・撮影
creator_list_animations/creator_set_animationcreator_play_animation/creator_pause_animation/creator_stop_animation/creator_seek_animationcreator_add_keyframe/creator_remove_keyframecreator_capture_viewport— ビューポート PNG。既定では長辺 1024 に縮小。full: trueで原寸。MCP の画像として返します。
対象外: メッシュ頂点編集、パラメータ binding の詳細、トラッキング、動画書き出し。
手動でブリッジを入れる場合
apply-bridge.ps1 を使わないときは、次を source/app.d に足します。
import creator.mcp;初期化のあと(
incInitAtlassing();の近く)にincMcpInit();incUpdate()とincUpdateNoEv()のinUpdate();の直後にincMcpPoll();
コマンド実行は必ず UI スレッド(incMcpPoll)側です。ソケット受信は別スレッドです。
プロトコル
POST /rpc HTTP/1.1
Host: 127.0.0.1:17320
Content-Type: application/json
{"method":"list_nodes","params":{"detail":false}}{"ok":true,"result":{...}}失敗時は {"ok":false,"error":"..."} です。
Available Tools
40 toolscreator_add_keyframeB
Add or update a keyframe on the current animation at the current frame.
Inputs: axis, name, uuid, value.
creator_add_parameterB
Add a new parameter to the puppet.
Inputs: name (required), is_vec2.
creator_arm_parameterA
Arm a parameter for deformation editing (disables drivers while armed).
Inputs: name, uuid.
creator_capture_viewportA
Capture the current Inochi Creator viewport as a PNG. Returns an image the model can see. By default the long side is scaled to 1024 pixels.
Inputs: full, path.
creator_create_nodeA
Create a node under a parent. Types match the Nodes panel Add menu: Node, Composite, MeshGroup, SimplePhysics, Camera. Parts must be created via creator_import_images.
Inputs: type (required), name, parent_uuid.
creator_delete_nodeA
Delete a node (and its children) with undo history.
Inputs: uuid (required).
creator_disarm_parameterA
Disarm the currently armed parameter and re-enable drivers.
Inputs: no named parameters.
creator_duplicate_nodeA
Duplicate a node and its children (cameras cannot be duplicated).
Inputs: uuid (required).
creator_export_inpA
Export the current puppet as a packed .inp file using default atlas settings. Does not open the export UI.
Inputs: path (required).
creator_focus_cameraB
Focus the viewport camera on a node.
Inputs: uuid (required).
creator_get_nodeA
Get one node by UUID, including transform and type-specific fields.
Inputs: uuid (required).
creator_get_statusA
Get the current Inochi Creator project path, edit mode, selection, armed parameter, and undo state.
Inputs: no named parameters.
creator_import_folderA
Import PNG/TGA/JPEG images from a folder as a new project. THIS REPLACES THE CURRENT PROJECT.
Inputs: path (required).
creator_import_imagesA
Import PNG/TGA/JPEG files as Parts under the selected (or specified) node. Does not replace the project.
Inputs: paths (required), parent_uuid.
creator_import_inpA
Import an Inochi2D .inp puppet as a new project. THIS REPLACES THE CURRENT PROJECT.
Inputs: path (required).
creator_import_kraA
Import a Krita .kra file as a new project. THIS REPLACES THE CURRENT PROJECT.
Inputs: path (required), keep_structure.
creator_import_psdA
Import a Photoshop .psd file as a new project. THIS REPLACES THE CURRENT PROJECT.
Inputs: path (required), keep_structure.
creator_list_animationsA
List animation clip names and the current playback state.
Inputs: no named parameters.
creator_list_nodesA
List the puppet node tree (uuid, name, type, enabled, children).
Inputs: detail.
creator_list_parametersA
List puppet parameters (including groups) with current values and ranges.
Inputs: no named parameters.
creator_new_projectA
Create a new empty Inochi Creator project. Discards the unsaved current project.
Inputs: no named parameters.
creator_open_projectC
Open an .inx (or compatible INP) project in the running Inochi Creator.
Inputs: path (required).
creator_pause_animationB
Pause the current animation.
Inputs: no named parameters.
creator_pingA
Check that a patched Inochi Creator instance is reachable on localhost.
Inputs: no named parameters.
creator_play_animationA
Play an animation. If name is omitted, plays the current clip.
Inputs: loop, name.
creator_redoA
Redo the last undone Inochi Creator action.
Inputs: no named parameters.
creator_remove_keyframeB
Remove a keyframe from the current animation at the current frame.
Inputs: axis, name, uuid.
creator_remove_parameterB
Remove a parameter from the puppet.
Inputs: name, uuid.
creator_rename_nodeB
Rename a node.
Inputs: name (required), uuid (required).
creator_reparent_nodeA
Move a node to a new parent. index is the insertion offset among siblings (0 = first).
Inputs: uuid (required), parent_uuid (required), index.
creator_save_projectA
Save the current project as .inx. If path is omitted, saves to the current project path.
Inputs: path.
creator_seek_animationB
Seek the current animation to a frame.
Inputs: frame (required).
creator_select_nodeA
Select a node by UUID. Omit uuid to clear the selection.
Inputs: uuid.
creator_set_animationA
Select the animation clip to edit or play.
Inputs: name (required).
creator_set_edit_modeA
Switch Inochi Creator edit mode. Use model, vertex, anim, or test.
Inputs: mode (required).
creator_set_node_enabledB
Enable or disable a node (visibility).
Inputs: uuid (required), enabled (required).
creator_set_node_transformA
Set a node's local translation, rotation (radians), and/or scale. Unspecified axes are left unchanged.
Inputs: uuid (required), scale, zsort, rotation, +1 more.
creator_set_parameterA
Set a parameter value. For 1D params only x is used. For 2D params provide x and y.
Inputs: x (required), y, name, uuid.
creator_stop_animationC
Stop all animations.
Inputs: immediate.
creator_undoA
Undo the last Inochi Creator action.
Inputs: no named parameters.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
TDQS
Scored across 40 tools
Tools are grouped by clear domains (parameters, animations, nodes, project, import), and each tool has a distinct action-target pair. Even similar tools like import_folder vs import_images are differentiated by whether they replace the project or add under a node.
All tools use the 'creator_' prefix with a consistent verb_noun pattern (set_parameter, list_nodes, import_psd). Actions and targets are uniformly ordered, and variations like set_node_enabled vs set_node_transform follow the same convention.
With 40 tools, the surface is large and exceeds the 25-tool threshold for 'too many'. While the tools cover many facets of the application, the count is heavy and may overwhelm agents; some consolidation (e.g., generic import tool) could reduce redundancy.
The tool set covers the core domains of Inochi Creator: parameter lifecycle, node tree manipulation, animation control, project import/export, and viewport interaction. Minor gaps exist such as no explicit texture/material editing tools, but the primary workflows are well represented.
Maintenance
Related MCP Connectors
Remote MCP server for Web3TV creators — manage your account over MCP.
Remote MCP server for AI.TV creators — delegate account operations to your AI agent over MCP.
Create, browse, remix, collaborate on, and run durable AI workflow nodes from MCP hosts.
Remote MCP server to run your Atako AI agents: chat, projects, files, integrations and channels.
Related MCP Servers
- AlicenseAqualityBmaintenanceConnects MCP clients directly to a live Godot editor, enabling AI assistants to build scenes, edit nodes, and control the editor through over 120 operations.4730,790 PyPI3,434MIT
- FlicenseBqualityDmaintenanceEnables control of a running TouchDesigner instance via MCP protocol, providing tools to manage operators, parameters, and project state through a local HTTP bridge.161-
- AlicenseAqualityCmaintenanceEnables full control and observation of VNyan VTuber avatar software from any MCP client, including reading and writing parameters, triggers, blendshapes, bones, node graphs, and settings.30MIT
- AlicenseAqualityCmaintenanceEnables MCP clients to drive VRoid Studio's GUI by launching the app, capturing screenshots, locating UI elements via OCR/color, and simulating clicks/typing to adjust parameters and export .vrm files.189MIT