Skip to content

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_shadertoy or import_isf_shader tools, 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_shadertoy can be disabled entirely with TDMCP_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 on 127.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=1 inside TouchDesigner, and
  • require a bearer token by setting TDMCP_BRIDGE_TOKEN on 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.