Privacy policy
Last updated: 6 July 2026
Summary
tdmcp does not collect, store, or transmit any personal data. It runs entirely on your own machine, requires no account or sign-in, and contains no telemetry or analytics. It sends nothing to the author or any third party.
What tdmcp is
tdmcp is a local Model Context Protocol server plus a small Python bridge that runs inside your own TouchDesigner process. There is no hosted service and no cloud component: you install it next to TouchDesigner on your own computer, and your AI client (Claude Desktop, Claude Code, Codex or Cursor) launches the local server.
Data we collect
None. tdmcp has:
- no user accounts, sign-in, or authentication of its own;
- no telemetry, analytics, or usage tracking;
- no crash or error reporting sent anywhere.
Network activity
tdmcp makes no automatic or background network calls of its own, and never sends anything to the author, to Anthropic, or to any analytics or telemetry service. Its normal activity is local HTTP requests to your own TouchDesigner bridge at 127.0.0.1:9980 (the host and port are user-configurable via TDMCP_TD_HOST / TDMCP_TD_PORT).
The only outbound connections tdmcp ever makes are ones you explicitly ask for:
- Shader imports. If you invoke the
import_shadertoyorimport_isf_shadertools, tdmcp fetches the shader from the source you named — the Shadertoy API (shadertoy.com) or the exact URL you passed. Nothing is fetched unless you run those tools;import_shadertoycan be disabled entirely withTDMCP_OFFLINE=1. - Optional local AI copilot. The optional built-in copilot talks to the language-model endpoint you configure via
TDMCP_LLM_BASE_URL, which defaults to a local runtime on127.0.0.1:11434(e.g. Ollama). It only connects if you use the copilot, and only to the endpoint you set.
None of these paths send data about you — they fetch content you requested from the source you chose. There is no other egress.
Any files you ask tdmcp to write — recipes, presets, snapshots, or vault exports — are saved to your own local disk and never uploaded anywhere.
Your AI client
When you describe a visual, your prompt and the AI's responses are processed by the AI client you chose (for example Claude Desktop) under that client's own privacy policy. tdmcp is not the data controller for those prompts and adds no data collection of its own on top of your client.
Third parties
tdmcp ships no third-party SDKs, trackers, or analytics. npm and GitHub are distribution channels for the software and operate under their own privacy policies; tdmcp itself does not send your data to them or anyone else at runtime. The only third-party services tdmcp ever contacts are the ones you invoke by name (such as the Shadertoy API via import_shadertoy), and only to fetch the content you asked for — see Network activity.
Security
The TouchDesigner bridge executes Python inside your own TouchDesigner process and listens on 127.0.0.1:9980. You stay in control of access:
- keep arbitrary code-execution endpoints closed by default unless you explicitly set
TDMCP_BRIDGE_ALLOW_EXEC=1inside TouchDesigner, and - require a bearer token by setting
TDMCP_BRIDGE_TOKENon both the server and TouchDesigner when the bridge is reachable beyond a trusted local machine.
See the architecture reference and environment variables for the full security model.
Data retention and deletion
Because tdmcp collects and retains no personal data, there is nothing for us to store, retain, or delete. Removing the extension removes the software; any local files you created remain under your control on your own disk.
Contact
Questions about this policy? Please open an issue at github.com/Pantani/tdmcp/issues.
Changes
If this policy changes, the updated version will be published on this page with a new "last updated" date above.