touchdesigner-mcp-server
MCP server for TouchDesigner - Control and operate TouchDesigner projects through AI agents
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"https://github.com/8beeeaaat/touchdesigner-mcp/releases/download/v1.2.0/touchdesigner-mcp.mcpb": {
"args": [],
"command": ""
},
"touchdesigner-mcp-server": {
"args": [
"touchdesigner-mcp-server@1.2.0"
],
"command": "npx"
}
}
}
可用工具 (5 个)
该服务在 MCP 协议中暴露的工具,AI 可按需调用
tavily_search 14 个参数 需填 1 项
Search the web for current information on any topic. Use for news, facts, or data beyond your knowledge cutoff. Returns snippets and source URLs.
必填参数:query
tavily_extract 6 个参数 需填 1 项
Extract content from URLs. Returns raw page content in markdown or text format.
必填参数:urls
tavily_crawl 11 个参数 需填 1 项
Crawl a website starting from a URL. Extracts content from pages with configurable depth and breadth.
必填参数:url
tavily_map 8 个参数 需填 1 项
Map a website's structure. Returns a list of URLs found starting from the base URL.
必填参数:url
tavily_research 2 个参数 需填 1 项
Perform comprehensive research on a given topic or question. Use this tool when you need to gather information from multiple sources to answer a question or complete a task. Returns a detailed response based on the research findings.
必填参数:input
服务介绍
TouchDesigner MCP
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.
# Overview
TouchDesigner MCP acts as a bridge between AI models and the TouchDesigner WebServer DAT, enabling AI agents to:
- Create, modify, and delete nodes
- Query node properties and project structure
- Programmatically control TouchDesigner via Python scripts
# Installation
Please refer to the Installation Guide.
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).
# MCP Server Features
This server enables AI agents to perform operations in TouchDesigner using the Model Context Protocol (MCP).
# # Tools
Tools allow AI agents to perform actions in TouchDesigner.
| Tool Name | Description |
| :- -- -- -- -- -- -- -- -- -- -- - | :- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- |
| create_td_node | Creates a new node. |
| delete_td_node | Deletes an existing node. |
| exec_node_method | Calls a Python method on a node. |
| execute_python_script | Executes an arbitrary Python script in TouchDesigner. |
| get_module_help | Gets Python help() documentation for TouchDesigner modules/classes.|
| get_td_class_details | Gets details of a TouchDesigner Python class or module. |
| get_td_classes | Gets a list of TouchDesigner Python classes. |
| get_td_info | Gets information about the TouchDesigner server environment. |
| get_td_node_errors | Checks for errors on a specified node and its children. |
| get_td_node_parameters| Gets the parameters of a specific node. |
| get_td_nodes | Gets nodes under a parent path, with optional filtering. |
| update_td_node_parameters | Updates the parameters of a specific node. |
# # Prompts
Prompts provide instructions for AI agents to perform specific actions in TouchDesigner.
| Prompt Name | Description |
| :- -- -- -- -- -- -- -- -- -| :- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - |
| Search node | Fuzzy searches for nodes and retrieves information based on name, family, or type. |
| Node connection | Provides instructions to connect nodes within TouchDesigner. |
| Check node errors| Checks for errors on a specified node, and recursively for its children. |
# # Resources
Not implemented.
# Developer Guide
Looking for local setup, client configuration, project structure, or release workflow notes?
See the Developer Guide for all developer-facing documentation.
# Troubleshooting
# # Troubleshooting version compatibility
The MCP server uses semantic versioning for flexible compatibility checks
| MCP Server | API Server | Minimum compatible API version | Behavior | Status | Notes |
|- -- -- -- -- -- -|- -- -- -- -- -- -|- -- -- -- -- -- -- -- -|- -- -- -- -- -|- -- -- -- -|- -- -- --|
| 1.3.x | 1.3.0 | 1.3.0 | ✅ Works normally | Compatible | Recommended baseline configuration |
| 1.3.x | 1.4.0 | 1.3.0 | ⚠️ Warning shown, continues | Warning | Older MCP MINOR with newer API may lack new features |
| 1.4.0 | 1.3.x | 1.3.0 | ⚠️ Warning shown, continues | Warning | Newer MCP MINOR may have additional features |
| 1.3.2 | 1.3.1 | 1.3.2 | ❌ Execution stops | Error | API below minimum compatible version |
| 2.0.0 | 1.x.x | N/A | ❌ Execution stops | Error | Different MAJOR = breaking changes |
Compatibility Rules:
-
✅ Compatible: Same MAJOR version AND API version ≥ 1.3.0 (minimum compatible version)
-
⚠️ Warning: Different MINOR or PATCH versions within the same MAJOR version (shows warning but continues execution)
-
❌ Error: Different MAJOR versions OR API server < 1.3.0 (execution stops immediately, update required)
-
To resolve compatibility errors:
- Download the latest touchdesigner-mcp-td.zip from the releases page.
- Delete the existing
touchdesigner-mcp-tdfolder and replace it with the newly extracted contents. - Remove the old
mcp_webserver_basecomponent from your TouchDesigner project and import the.toxfrom the new folder. - Restart TouchDesigner and the AI agent running the MCP server (e.g., Claude Desktop).
-
For developers: When developing locally, run
npm run versionafter editingpackage.json(or simply usenpm version ...). This keeps the Python API (pyproject.toml+td/modules/utils/version.py), MCP bundle manifest, and registry metadata in sync so that the runtime compatibility check succeeds.
For a deeper look at how the MCP server enforces these rules, see [Version Compatibility Verification](docs/architecture.md# version-compatibility-verification).
# # Troubleshooting connection errors
TouchDesignerClientcaches failed connection checks for 60 seconds. Subsequent tool calls reuse the cached error to avoid spamming TouchDesigner and automatically retry after the TTL expires.- When the MCP server cannot reach TouchDesigner, you now get guided error messages with concrete fixes:
ECONNREFUSED/ "connect refused": start TouchDesigner, ensure the WebServer DAT frommcp_webserver_base.toxis running, and confirm the configured port (default9981).ETIMEDOUT/ "timeout": TouchDesigner is responding slowly or the network is blocked. Restart TouchDesigner/WebServer DAT or check your network connection.ENOTFOUND/getaddrinfo: the host name is invalid. Use127.0.0.1unless you explicitly changed it.
- The structured error text is also logged through
ILogger, so you can check the MCP logs to understand why a request stopped before hitting TouchDesigner. - Once the underlying issue is fixed, simply run the tool again—the client clears the cached error and re-verifies the connection automatically.
# Contributing
We welcome your contributions!
- Fork the repository.
- Create a feature branch (
git checkout -b feature/amazing-feature). - Make your changes.
- Add tests and ensure everything works (
npm test). - Commit your changes (
git commit -m 'Add some amazing feature'). - Push to your branch (
git push origin feature/amazing-feature). - Open a pull request.
Please always include appropriate tests when making implementation changes.
# License
MIT
