一个强大的模型上下文协议(MCP)服务器,将全面的 TouchDesigner 操作符文档和教程直接带到您的AI编码助手!🚀
我个人在使用VS Code/Codium和Roo Code扩展以及我最喜欢的大型语言模型(如Claude Opus和GPT-5)时使用它。虽然理论上该服务器应该可以与Docker或Claude Desktop等其他应用程序一起工作,但我尚未彻底测试这些集成。
迄今为止的故事:这个项目的催化剂很简单——几个月前,我决定想要一个能够为我开发TouchDesigner视觉效果的AI工具。我在TD中制作了一些基本的东西,但它的学习曲线是我使用过的任何创意软件中最陡峭的之一。如果只需向一个大型语言模型询问“请创建一个720p、实时动画、不断演变的反应扩散模拟器”,然后它就能生成出来,那该有多好呢?在我看来,答案是超级棒!
像我接手的每个项目一样,我知道自己对这个项目了解甚少,所以我认为这会非常简单!哈哈!当我开始时,我完全不知道我会在这个项目上投入多少时间和代币。而且,我还有很长的路要走,才能将其完全整合到TouchDesigner本身,并且几乎没有出错的余地。
然而,就查询操作符及其参数的信息而言——它工作得非常好!💪 我面临的最大挑战是如何让任何大型语言模型有效地使用此工具来开发具有实际复杂性的网络,因为这些模型往往会忘记使用MCP服务器,而依赖于它们过时的训练知识,即较旧版本的TouchDesigner。如果有任何人有关于如何克服这一问题的建议,我非常乐意听到您的反馈!
目前,我专注于确保服务器返回有用且准确的Python API信息。这是我的工作流程:我描述我想创建的网络——例如,一个反应扩散可视化——然后要求AI编写一个Python脚本,使用textport在TouchDesigner内部生成该网络。一旦完成,我将获得一个“exec”命令,让我只需复制并粘贴一行代码到textport中,然后就可以生成网络了!✨
我的终极梦想,是直接完全整合到TouchDesigner本身。我尝试了一个基于web服务器和WebSocket的方法,这在某种程度上是可行的,但由于我测试的大型语言模型未能生成正确的Python代码,并且在不充分利用MCP服务器的情况下不断产生错误信息,所以我暂时搁置了这部分项目。一旦它可靠地运行并生成稳定的可视化或网络,那么完全整合将是最后一步!🎯
在先前版本中完全失效的搜索功能现在完全可用!
npm install -g @bottobot/td-mcp
npm install @bottobot/td-mcp
全局安装MCP服务器:
npm install -g @bottobot/td-mcp
在VS Code中配置Claude/MCP: 将服务器添加到您的MCP设置配置文件中:
{
"td-mcp": {
"command": "npx",
"args": ["@bottobot/td-mcp"]
}
}
开始在与Claude的对话中使用TouchDesigner工具!
# 如果全局安装
td-mcp
# 如果局部安装
npx @bottobot/td-mcp
获取特定TouchDesigner操作符的详细信息。
参数:
name (字符串):操作符名称(例如,'噪声CHOP','电影文件输入TOP')show_examples (布尔值,可选):显示使用示例show_tips (布尔值,可选):显示性能提示示例:"获取噪声TOP操作符的详细信息"
使用高级上下文分析和排名搜索操作符。
参数:
query (字符串):搜索查询category (字符串,可选):按类别过滤(CHOP,DAT,SOP,TOP,MAT,COMP,POP)parameter_search (布尔值,可选):在参数内搜索show_details (布尔值,可选):显示详细结果示例:"搜索音频处理操作符"
列出可用的TouchDesigner操作符,可选按类别过滤。
参数:
category (字符串,可选):按类别过滤示例:"列出所有TOP操作符"
获取当前操作符通常跟随的操作符建议。
参数:
current_operator (字符串):当前操作符名称示例:"通常跟随电影文件输入TOP的操作符是什么?"
访问详细的TouchDesigner教程内容。
参数:
name (字符串):教程名称include_content (布尔值,可选):包含全文节include_toc (布尔值,可选):包含目录include_links (布尔值,可选):包含相关链接示例:"获取'编写GLSL TOP'教程"
列出所有可用的TouchDesigner教程。
参数:
search (字符串,可选):用于过滤教程的搜索词limit (数字,可选):最大结果数show_details (布尔值,可选):显示教程概要示例:"列出所有可用教程"
获取TouchDesigner Python类的文档。
参数:
class_name (字符串):Python类名(例如,'CHOP','通道','应用')show_members (布尔值,可选):显示类成员/属性show_methods (布尔值,可选):显示类方法show_inherited (布尔值,可选):显示继承的成员和方法示例:"获取CHOP类的Python文档"
跨TouchDesigner Python类、方法和成员搜索。
参数:
query (字符串):Python API的搜索查询search_in (字符串,可选):搜索位置:'all','classes','methods','members'category (字符串,可选):按类别过滤limit (数字,可选):最大结果数示例:"搜索Python API中的音频方法"
服务器提供了涵盖所有TouchDesigner操作符家族的全面覆盖:
| 类别 | 数量 | 描述 |
|---|---|---|
| CHOP | 166 | 通道操作符 - 音频、控制信号和数据流 |
| TOP | 139 | 纹理操作符 - 2D图像和视频处理 |
| SOP | 112 | 表面操作符 - 3D几何图形的创建和操作 |
| DAT | 69 | 数据操作符 - 文本、表格和数据处理 |
| COMP | 40 | 组件操作符 - UI元素和容器 |
| MAT | 13 | 材料操作符 - 3D渲染材料和着色器 |
| POP | 90 | 点操作符 - 粒子系统(实验性) |
服务器包含了全面的Python API文档,涵盖69个类,包括:
对于生产部署,您可以使用PM2来管理MCP服务器:
# 全局安装PM2
npm install -g pm2
# 使用PM2启动服务器
pm2 start td-mcp
# 查看服务器状态
pm2 status td-mcp
# 查看日志
pm2 logs td-mcp
# 重启服务器
pm2 restart td-mcp
# 停止服务器
pm2 stop td-mcp
TD-MCP服务器构建如下:
td-mcp/
├── index.js # 主MCP服务器(移除了web服务器)
├── tools/ # MCP工具实现
│ ├── get_operator.js
│ ├── search_operators.js # 修复了直接搜索
│ ├── suggest_workflow.js
│ ├── list_operators.js
│ ├── get_tutorial.js
│ ├── list_tutorials.js
│ ├── get_python_api.js # Python API文档
│ └── search_python_api.js # Python API搜索
├── wiki/ # 文档系统
│ ├── data/ # 处理过的操作符和教程数据
│ └── operator-data-manager.js # 核心文档引擎(重命名)
└── data/ # 配置及模式
└── patterns.json # 工作流模式
要贡献或修改服务器:
# 克隆仓库
git clone https://github.com/bottobot/touchdesigner-mcp-server.git
# 安装依赖
cd touchdesigner-mcp-server
npm install
# 本地运行服务器
node index.js
MIT许可证 - 详情见LICENSE文件。
当前版本:2.6.1 操作符:629 教程:14 Python API类:69 上次更新:2025年1月
get_python_api和search_python_api工具现在都能正确工作!此次更新修复了在v2.6.0中无法响应的Python API工具。用户现在可以成功查询TouchDesigner的Python文档。