返回市场
触摸设计师-MCP服务器

触摸设计师-MCP服务器

作者:bottobot19 星标更新:2025-08-16

项目介绍

TouchDesigner MCP 服务器

npm 版本 许可证:MIT

一个强大的模型上下文协议(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服务器的情况下不断产生错误信息,所以我暂时搁置了这部分项目。一旦它可靠地运行并生成稳定的可视化或网络,那么完全整合将是最后一步!🎯

🚨 重大v2.6.0更新 - 关键搜索修复

在先前版本中完全失效的搜索功能现在完全可用!

功能

  • 🎯 629个TouchDesigner操作符 - 完整文档,包括90多个实验性POP操作符
  • 📚 14个交互式教程 - 全面的TouchDesigner学习指南
  • 🐍 69个Python API类 - 完整的Python脚本文档及实用工具
  • 🔍 修复的智能搜索 - 直接搜索实现(移除了先前失效的索引器)
  • 🔄 工作流建议 - 根据您当前的工作流获取操作符推荐
  • 🚀 零配置 - 安装后立即生效
  • 📖 完整的参数文档 - 详细信息,涵盖3,327多个操作符参数
  • 优化架构 - 移除web服务器开销,纯MCP实现

安装

全局安装(推荐)

npm install -g @bottobot/td-mcp

局部安装

npm install @bottobot/td-mcp

快速入门

使用VS Code/Codium和Claude

  1. 全局安装MCP服务器:

    npm install -g @bottobot/td-mcp
    
  2. 在VS Code中配置Claude/MCP: 将服务器添加到您的MCP设置配置文件中:

    {
      "td-mcp": {
        "command": "npx",
        "args": ["@bottobot/td-mcp"]
      }
    }
    
  3. 开始在与Claude的对话中使用TouchDesigner工具!

单独运行

# 如果全局安装
td-mcp

# 如果局部安装
npx @bottobot/td-mcp

可用的MCP工具

🔧 get_operator

获取特定TouchDesigner操作符的详细信息。

参数:

  • name (字符串):操作符名称(例如,'噪声CHOP','电影文件输入TOP')
  • show_examples (布尔值,可选):显示使用示例
  • show_tips (布尔值,可选):显示性能提示

示例:"获取噪声TOP操作符的详细信息"

🔍 search_operators (现已工作!)

使用高级上下文分析和排名搜索操作符。

参数:

  • query (字符串):搜索查询
  • category (字符串,可选):按类别过滤(CHOP,DAT,SOP,TOP,MAT,COMP,POP)
  • parameter_search (布尔值,可选):在参数内搜索
  • show_details (布尔值,可选):显示详细结果

示例:"搜索音频处理操作符"

📋 list_operators

列出可用的TouchDesigner操作符,可选按类别过滤。

参数:

  • category (字符串,可选):按类别过滤

示例:"列出所有TOP操作符"

🔄 suggest_workflow

获取当前操作符通常跟随的操作符建议。

参数:

  • current_operator (字符串):当前操作符名称

示例:"通常跟随电影文件输入TOP的操作符是什么?"

📚 get_tutorial

访问详细的TouchDesigner教程内容。

参数:

  • name (字符串):教程名称
  • include_content (布尔值,可选):包含全文节
  • include_toc (布尔值,可选):包含目录
  • include_links (布尔值,可选):包含相关链接

示例:"获取'编写GLSL TOP'教程"

📖 list_tutorials

列出所有可用的TouchDesigner教程。

参数:

  • search (字符串,可选):用于过滤教程的搜索词
  • limit (数字,可选):最大结果数
  • show_details (布尔值,可选):显示教程概要

示例:"列出所有可用教程"

🐍 get_python_api

获取TouchDesigner Python类的文档。

参数:

  • class_name (字符串):Python类名(例如,'CHOP','通道','应用')
  • show_members (布尔值,可选):显示类成员/属性
  • show_methods (布尔值,可选):显示类方法
  • show_inherited (布尔值,可选):显示继承的成员和方法

示例:"获取CHOP类的Python文档"

🔎 search_python_api

跨TouchDesigner Python类、方法和成员搜索。

参数:

  • query (字符串):Python API的搜索查询
  • search_in (字符串,可选):搜索位置:'all','classes','methods','members'
  • category (字符串,可选):按类别过滤
  • limit (数字,可选):最大结果数

示例:"搜索Python API中的音频方法"

操作符类别

服务器提供了涵盖所有TouchDesigner操作符家族的全面覆盖:

类别数量描述
CHOP166通道操作符 - 音频、控制信号和数据流
TOP139纹理操作符 - 2D图像和视频处理
SOP112表面操作符 - 3D几何图形的创建和操作
DAT69数据操作符 - 文本、表格和数据处理
COMP40组件操作符 - UI元素和容器
MAT13材料操作符 - 3D渲染材料和着色器
POP90点操作符 - 粒子系统(实验性)

可用教程

核心教程

  • CHOP的解剖学 - 了解通道操作符的内部结构
  • 构建列表COMP - 创建动态UI列表
  • Python教程简介 - TouchDesigner Python脚本的基本指南

高级开发

  • 编写GLSL TOP - 创建自定义GPU加速图像效果
  • 编写GLSL材质 - 自定义GLSL材质用于渲染
  • 编写C++ CHOP - 开发原生音频/数据处理操作符
  • 编写C++ TOP - 在C++中构建自定义纹理操作符
  • 编写C++插件 - TouchDesigner插件的高级C++集成
  • 编写CUDA DLL - 使用CUDA进行GPU编程以支持TouchDesigner

进程间通信

  • 编写共享内存CHOP - 进程间数据通信
  • 编写共享内存TOP - 在进程之间共享纹理

视频与集成

  • 视频流用户指南 - 完整的视频流工作流程指南
  • TouchDesigner视频服务器规范指南 - 专业视频服务器设置
  • TDBitwig用户指南 - 与Bitwig Studio DAW集成

Python API文档

服务器包含了全面的Python API文档,涵盖69个类,包括:

  • 核心操作符类(CHOP,TOP,SOP,DAT,MAT,COMP)
  • 实用类(通道,单元格,页面等)
  • 系统类(应用,项目,监视器等)
  • UI类(面板,小部件等)
  • 高级特性(WebRTC,NDI,MIDI,OSC等)

PM2进程管理

对于生产部署,您可以使用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服务器构建如下:

  • 纯MCP实现 - 清晰、专注的服务器遵循MCP标准(在v2.6.0中移除了web服务器)
  • 直接搜索算法 - 快速、可靠的搜索,无需依赖失效的索引器
  • 操作符数据管理系统 - 中央化数据管理系统(从WikiSystem重命名)
  • 本地数据处理 - 所有操作符数据都在本地处理和提供
  • 模块化工具系统 - 每个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          # 工作流模式

要求

  • Node.js 18.0或更高版本
  • npm或yarn包管理器
  • VS Code/Codium和兼容MCP的扩展(例如,Claude Dev)

开发

要贡献或修改服务器:

# 克隆仓库
git clone https://github.com/bottobot/touchdesigner-mcp-server.git

# 安装依赖
cd touchdesigner-mcp-server
npm install

# 本地运行服务器
node index.js

支持

许可证

MIT许可证 - 详情见LICENSE文件。

致谢

  • TouchDesigner由Derivative
  • 模型上下文协议由Anthropic
  • 为TouchDesigner社区打造 🎨

当前版本:2.6.1 操作符:629 教程:14 Python API类:69 上次更新:2025年1月

v2.6.1新功能(Python API修复发布)

🐍 关键Python API修复

  • 修复Python API工具 - get_python_apisearch_python_api工具现在都能正确工作!
  • 修复响应格式 - Python API工具现在返回正确的MCP内容格式,而不是原始对象
  • 增强文档展示 - Python类现在展示格式化的文档,包括方法、成员和参数
  • 正常工作的搜索功能 - Python API搜索现在能正确按类、方法和成员过滤

📊 正确的文档统计

  • 69个Python API类 - 准确的可用Python类数量(之前的553个计数是错误的)
  • 1,513个方法 - 跨所有Python类的全面方法文档
  • 增强的类细节 - 完整的参数签名、返回类型和描述

🔧 技术细节

  • 修复了Python API工具中的MCP内容包装格式
  • 提升了错误处理和用户友好的错误消息
  • 添加了适当的markdown格式化以供类文档
  • 增强了搜索结果分类和相关性评分

此次更新修复了在v2.6.0中无法响应的Python API工具。用户现在可以成功查询TouchDesigner的Python文档。

上次更新

v2.6.0(主要修复发布)

  • 修复搜索功能 - 完全失效的search_operators工具现在可以工作!
  • 移除失效索引器 - 消除了导致搜索失败的非功能性搜索索引器
  • 直接搜索实现 - 新的可靠搜索算法,直接搜索操作符数据
  • 重命名WikiSystem为OperatorDataManager - 整个代码库中更清晰、更具描述性的命名
  • 移除Web服务器 - 消除了不必要的web服务器组件,以实现更简洁的架构
  • 纯MCP服务器 - 现在作为无web依赖的专注MCP服务器运行

上一版本说明

v2.5.0

  • 增加了Python API文档工具
  • 改进了操作符分类
  • 增强了工作流建议

v2.4.0

  • 🎓 教程内容翻倍 - 增加了7个新的综合教程
  • 📦 减少24%大小 - 优化服务器从177MB到135MB
  • 🛠️ 新的教程整合工具 - 用于添加未来教程的自动化脚本
  • 🧹 整洁架构 - 移除了冗余文件和实验性解析器