$git clone https://github.com/8beeeaaat/touchdesigner-mcpThis is an implementation of an MCP (Model Context Protocol) server for TouchDesigner. Its goal is to enable AI agents to control and operate TouchDesigner projects.
| 1 | # TouchDesigner MCP |
| 2 | |
| 3 | [](https://www.npmjs.com/package/touchdesigner-mcp-server) |
| 4 | [](https://www.npmjs.com/package/touchdesigner-mcp-server) |
| 5 | |
| 6 | This is an implementation of an MCP (Model Context Protocol) server for TouchDesigner. Its goal is to enable AI agents to control and operate TouchDesigner projects. |
| 7 | |
| 8 | [English](README.md) / [日本語](README.ja.md) |
| 9 | |
| 10 | ## Overview |
| 11 | |
| 12 | [](https://youtu.be/V2znaqGU7f4?si=6HDFbcBHCFPdttkM&t=635) |
| 13 | |
| 14 | TouchDesigner MCP acts as a bridge between AI models and the TouchDesigner WebServer DAT, enabling AI agents to: |
| 15 | |
| 16 | - Create, modify, and delete nodes |
| 17 | - Query node properties and project structure |
| 18 | - Programmatically control TouchDesigner via Python scripts |
| 19 | |
| 20 | ## Installation |
| 21 | |
| 22 | Please refer to the **[Installation Guide](docs/installation.md)**. |
| 23 | |
| 24 | If you are updating, please refer to the procedure in the **[Latest Release](https://github.com/8beeeaaat/touchdesigner-mcp/releases/latest#for-updates-from-previous-versions)**. |
| 25 | |
| 26 | ## MCP Server Features |
| 27 | |
| 28 | This server enables AI agents to perform operations in TouchDesigner using the Model Context Protocol (MCP). |
| 29 | |
| 30 | ### Tools |
| 31 | |
| 32 | Tools allow AI agents to perform actions in TouchDesigner. |
| 33 | |
| 34 | | Tool Name | Description | |
| 35 | | :---------------------- | :----------------------------------------------------------------- | |
| 36 | | `create_td_node` | Creates a new node. | |
| 37 | | `delete_td_node` | Deletes an existing node. | |
| 38 | | `exec_node_method` | Calls a Python method on a node. | |
| 39 | | `execute_python_script` | Executes an arbitrary Python script in TouchDesigner. | |
| 40 | | `get_module_help` | Gets Python help() documentation for TouchDesigner modules/classes.| |
| 41 | | `get_td_class_details` | Gets details of a TouchDesigner Python class or module. | |
| 42 | | `get_td_classes` | Gets a list of TouchDesigner Python classes. | |
| 43 | | `get_td_info` | Gets information about the TouchDesigner server environment. | |
| 44 | | `get_td_node_errors` | Checks for errors on a specified node and its children. | |
| 45 | | `get_td_node_parameters`| Gets the parameters of a specific node. | |
| 46 | | `get_td_nodes` | Gets nodes under a parent path, with optional filtering. | |
| 47 | | `update_td_node_parameters` | Updates the parameters of a specific node. | |
| 48 | |
| 49 | ### Prompts |
| 50 | |
| 51 | Prompts provide instructions for AI agents to perform specific actions in TouchDesigner. |
| 52 | |
| 53 | | Prompt Name | Description | |
| 54 | | :------------------| :-------------------------------------------------------------------------- | |
| 55 | | `Search node` | Fuzzy searches for nodes and retrieves information based on name, family, or type. | |
| 56 | | `Node connection` | Provides instructions to connect nodes within TouchDesigner. | |
| 57 | | `Check node errors`| Checks for errors on a specified node, and recursively for its children. | |
| 58 | |
| 59 | ### Resources |
| 60 | |
| 61 | Not implemented. |
| 62 | |
| 63 | ## Developer Guide |
| 64 | |
| 65 | Looking for local setup, client configuration, project structure, or release workflow notes? |
| 66 | See the **[Developer Guide](docs/development.md)** for all developer-facing documentation. |
| 67 | |
| 68 | ## Troubleshooting |
| 69 | |
| 70 | ### Troubleshooting version compatibility |
| 71 | |
| 72 | The MCP server uses **semantic versioning** for flexible compatibility checks |
| 73 | |
| 74 | | MCP Server | API Server | Minimum compatible API version | Behavior | Status | Notes | |
| 75 | |------------|------------|----------------|----------|--------|-------| |
| 76 | | 1.3.x | 1.3.0 | 1.3.0 | |