Command Palette

Search for a command to run...

UnylyUnyly
Browse all

TouchDesigner AI Companion

FreeNot checked

Enables users to capture TouchDesigner node network screenshots and ask Claude for context-aware analysis, diagnosis, and suggestions via MCP tools.

GitHubEmbed

About

Enables users to capture TouchDesigner node network screenshots and ask Claude for context-aware analysis, diagnosis, and suggestions via MCP tools.

README

A local desktop tool that captures your TouchDesigner node network via hotkey, sends the screenshot to Claude (with vision + function calling), and returns targeted, context-aware answers about your patches — with full session memory and Langfuse observability.

Stack

Layer Tool
Language Python 3.11+
Screenshot mss + Pillow
Hotkey listener pynput
MCP server mcp Python SDK (FastMCP)
LLM Claude Sonnet 4 (claude-sonnet-4-20250514)
Observability Langfuse
Session storage SQLite

How to run

# 1. Clone and enter the project
git clone <repo-url> td-companion
cd td-companion

# 2. Install dependencies
pip install -r requirements.txt

# 3. Set your API keys
cp .env.example .env
# Edit .env with your ANTHROPIC_API_KEY and Langfuse keys

# 4. Launch
python main.py

# 5. Focus your TouchDesigner window, press Ctrl+Shift+T,
#    type your question, and get an answer.

macOS: Grant Accessibility permissions to your terminal app when prompted by pynput.

How it works

  1. Hotkey → Screenshot — Pressing Ctrl+Shift+T triggers mss to capture your full screen. The PNG bytes are held in memory and sent to Claude as a base64 image.
  2. Claude with function calling — The image + question + full session history are sent to Claude Sonnet 4. Claude can invoke four MCP-defined tools (analyze_network, suggest_next_node, diagnose_problem, explain_node) by extracting what it sees in the screenshot and routing the question to the right analytical frame.
  3. Session persistence + observability — Every turn (user question + assistant answer) is saved to a local SQLite database and logged as a Langfuse trace with model, token usage, and I/O metadata for debugging and cost tracking.

Project structure

td-companion/
├── main.py               # Entry point, hotkey listener, main loop
├── screenshot.py          # mss screen capture → PNG bytes
├── agent.py               # Claude API with vision + function calling
├── session.py             # SQLite session read/write
├── observability.py       # Langfuse trace logging
├── mcp_server/
│   ├── __init__.py
│   └── tools.py           # 4 FastMCP tools + Anthropic tool schemas
├── .env.example
├── .gitignore
└── requirements.txt

from github.com/LindaEng/mcp_touch

Installing TouchDesigner AI Companion

This server has no published package — it is built from source. Open the repository and follow its README.

▸ github.com/LindaEng/mcp_touch

FAQ

Is TouchDesigner AI Companion MCP free?

Yes, TouchDesigner AI Companion MCP is free — one-click install via Unyly at no cost.

Does TouchDesigner AI Companion need an API key?

No, TouchDesigner AI Companion runs without API keys or environment variables.

Is TouchDesigner AI Companion hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install TouchDesigner AI Companion in Claude Desktop, Claude Code or Cursor?

Open TouchDesigner AI Companion on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare TouchDesigner AI Companion with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All ai MCPs