TD-MCP
MCP服务器+TouchDesigner的web仪表板。通过Claude Code或浏览器检查、优化和控制TD补丁。
Claude Code td-mcp server TD WebServer DAT (port 9981)
|
Web Dashboard (:8080)特性
22个MCP工具 分为4组:
| 组 | 工具 |
|---|---|
| 检查 | 列出操作、跟踪信号流、读取CHOP通道、读取/设置参数 |
| 优化 | 烹饪时间统计、查找热点、查找未使用的操作、建议修复 |
| 清理 | 查找绕过的操作,删除死操作(默认的模拟运行),验证网络 |
| 模板 | 5个CHOP食谱,DAW映射生成器(OSC+MIDI CC) |
网络仪表盘 (FastAPI+htmx):
- 实时连接状态
- 网络健康概述
- 烹饪时间热点可视化
- 带有脚本预览的配方浏览器
- 带干式运行的清理工具
- 带有安全验证的脚本运行器
内置CHOP食谱:
audio_reactive_basic--音频输入>RMS>滞后>数学>空audio_fft_bands--FFT>分割低/中/高频带lfo_modulator--带距离映射的LFOmidi_cc_mapper--MIDI CC>平滑>范围>输出osc_receiver--用于Bitwig/Ableton同步的OSC输入
安装
pip install -e ".[dev]"需要Python 3.10+。
用法
MCP服务器(用于克劳德代码)
td-mcp添加到您的Claude Code MCP配置中:
{
"mcpServers": {
"td-mcp": {
"command": "td-mcp",
"args": []
}
}
}Web仪表板
td-mcp-web开放时间:http://localhost:8080.黑暗主题,每5秒自动轮询TD状态。
或者直接运行:
uvicorn td_mcp.web:app --port 8080 --app-dir src测试
pytest26个测试,涵盖客户端、服务器、工具、安全、模型。
TouchDesigner设置
在TD机器上(Luci一侧):
- 创建一个 Web服务器DAT 在您的项目中
- 集 港口 到
9981 - 粘贴以下内容
td/webserver_callbacks.py进入DAT的回调 - 切换 活跃的 开
就是这样。MCP服务器和web仪表板连接到此端点。
安全
在TD中执行的所有脚本都会通过 safety.py 其阻止:
- 文件I/O、网络、子流程导入
eval/exec/compile/__import__/run- Dunder属性访问(
__class__,__globals__等等) - 编码旁路尝试(十六进制/unicode/八进制转义,
chr/ord) - 每个脚本最多10000个字符
项目结构
td-mcp/
src/td_mcp/
server.py # FastMCP server -- 22 tools via stdio
web.py # FastAPI web dashboard
td_client.py # Async HTTP client to TD WebServer DAT
safety.py # Script validator
models.py # Pydantic models
tools/
inspect.py # List ops, trace signal flow, read CHOPs
optimize.py # Cook time hotspots, find unused/dead-end ops
cleanup.py # Delete dead ops (dry-run default), validate network
templates.py # 5 built-in CHOP recipes + DAW mapping generator
td/
webserver_callbacks.py # Drop-in for TD's WebServer DAT
tests/
test_models.py
test_safety.py
test_server.py
test_td_client.py
test_tools.py
pyproject.toml许可证
麻省理工学院
